Programatorsky orisek?
Jan Marek
jmarek na jcu.cz
Čtvrtek Listopad 1 10:38:04 CET 2001
Dobry den,
On Thu, Nov 01, 2001 at 10:11:24AM +0100, Ladislav Michl wrote:
> On Thu, 1 Nov 2001, Jan Marek wrote:
>
> > Me totiz dost udivilo, kdyz jsem si udelal diff na soubory
> > yenta.c z kernelu 2.4.10 (tam to jeste fungovalo OK) a 2.4.12 a v
> > podstate tam nebyl rozdil (akorat nejaka informace o licenci
> > GPL??? Proc to tam je??? Kernel nebo modprobe drzkuje, kdyz
> > takovou informaci nenajde v modulech... To bude diskriminace
> > jinych modulu, nez GPL?)
>
> nebude. klidne muzete psat
> MODULE_LICENSE("Honzova licence");
> (ja do ovladacu pisu GPL :-))
;-) No jen aby... ;-)
Jen aby tam casem nebylo:
if ( !strcmp(MODULE_LICENSE, "GPL") )
don't_load_and_err();
else
load_and_init();
(Pisu to tak nejak z hlavy a uz jsem dlouho neprogramoval, tak se
omlouvam za pripadne chyby: kompilator je spolehlive odhali ;-)))
>
> > Takze chybu je treba hledat nekde v casti okolo PCI? Hned si
> > zkusim udelat diff, co a kde se tam zmenilo...
>
> chapu dobre, ze jadro vytuhne? zadny oops? co rekne vypis registru
> zasobniku?
zadny oops a naprosto nereaguje na jakykoliv povel z klavesnice.
Proste tuhos kemping... Krome toho mam Compaq Armadu, ktera nema
fyzicky vypinac (ostatne ten asi nema ted uz vice pocitacu, ze?),
takze kdyz delam takove veci, tak musim vyndat baterku a po tomto
vytuhu i napajeni ze site :-|. Jak bych se mel dostat k vypisu
registru zasobniku? (Jde to nejak, kdyz neregaluje na
klavesnici? Neslo by to nejakou funkci primo do toho modulu?)
Jeste jsem se ted dival na ty funkce xx_write[l|b|w]: jsou to
obaleny volani funkci write[l|w|b], ktery jsou dale definovany
primo v /usr/include/asm/io.h... Na prvni pohled se mi nepodarilo
nic zjistit, ale patram dal... Mam dojem, ze by tam mohly byt
problemy s typy navratovych hodnot...
No, kdyz si to tak ctu: slo by nejakou konstrukci zjistit
navratovou hodnotu funkce ze zasobniku? Neco takoveho:
void fce(int neco)
{
printk("Navratova hodnota je %l", a tady co???);
volani_fce();
printk("Navratova hodnota je %l", a tady to same);
}
Takovehle veci jsem jeste nedelal a nenapada me, jak to
zjistit... Slo by to?
>
> ladis.
Zdravi
Honza Marek
--
Ing. Jan Marek
University of South Bohemia
Academic Computer Centre
Phone: +420-38-7772080
Další informace o konferenci Linux