[pso] tema 3: warninguri ciudate
Alex Badea
vamposdecampos at gmail.com
Wed May 9 09:10:06 EEST 2007
Ghervase Gabriel wrote:
> Salut.
>
> Am niste warninguri la tema 3 si nu stiu de ce apar:
>
> warning : __moddi3 undefined
> warning: __divdi3 undefined
Din cate-mi aduc aminte, astea sunt helper functions pentru modulo,
respectiv impartire cu operanzi de tip "long long" (sau u64/s64). In mod
normal se gasesc in libgcc.a, care in kernel nu exista :)
E posibil, chiar daca n-ai folosit explicit tipuri pe 64 de biti, sa fi
facut compilatorul extensia operanzilor ca sa incapa rezultatul;
probabil pe la o inmultire.
Ca sa gasesti codul vinovat, poti sa incerci ceva gen:
$ grep CFLAGS Kbuild
EXTRA_CFLAGS = -g
$ objdump -r pitix.ko | grep __moddi3
00001749 R_386_PC32 __moddi3
$ addr2line -e pitix.ko 0x1749
/tmp/syms/bitmap.c:157
E posibil sa rezolvi problema rearanjand codul, cu variabile temporare,
sau cu cast-uri explicite. Daca chiar ai nevoie de operatii pe 64 de
biti, uite ce zice google:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=7b09cdac5af1e13ab4b30421ae5c4b7953c26841
Bafta.
More information about the pso
mailing list