Re: missing memset in divas and eicon in 2.2.20

Keith Owens (kaos@ocs.com.au)
Tue, 22 Jan 2002 21:43:15 +1100


On Tue, 22 Jan 2002 10:19:15 +0100 (MET),
Armin Schindler <mac@melware.de> wrote:
>Did you use plain 2.2.20 ?
>I cannot reproduce this problem here, can you please send me your
>kernel config.
>
>On Tue, 22 Jan 2002, Peter T. Breuer wrote:
>> betty:/usr/local/src/linux-2.2.20% sudo depmod -ae -F System.map 2.2.20-SMP
>> depmod: *** Unresolved symbols in
>> /lib/modules/2.2.20-SMP/misc/divas.o depmod: memset
>> depmod: *** Unresolved symbols in
>> /lib/modules/2.2.20-SMP/misc/eicon.o depmod: memset

This can be a gcc problem. Some versions of gcc generate internal
calls to memset and memcpy when manipulating structures. Because these
internal calls are created after cpp they end up as phantom calls to
functions instead of being converted by string.h.

If it is a gcc problem, you track it down by first identifying the object

nm -A drivers/isdn/eicon/*.o | fgrep memset

then compile the xxx object with -S

make CFLAGS_xxx.o=-S SUBDIRS=drivers/isdn/eicon modules

vi drivers/isdn/eicon/xxx.o looking for calls to memset. Scroll up
until you find the function that that is generating the call, then
eyeball the code looking for structure assignments like s = *foo or s =
0. Replace the assignments with explicit calls to memcpy or memset.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/