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