unexpected memmove() invokation
Andrew Morton
akpm@osdl.org
Thu Jun 24 06:29:00 GMT 2004
compiling
http://www.zip.com.au/~akpm/linux/patches/stuff/fib_hash.i
with
/usr/local/gcc-cvs/bin/gcc -Wp,-MD,net/ipv4/.fib_hash.o.d -nostdinc -iwithprefix include -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -pipe -msoft-float -mpreferred-stack-boundary=2 -fno-unit-at-a-time -march=i686 -mregparm=3 -Iinclude/asm-i386/mach-default -gdwarf-2 -O1 -Os -g -Wdeclaration-after-statement -DKBUILD_BASENAME=fib_hash -DKBUILD_MODNAME=fib_hash -c -o net/ipv4/.tmp_fib_hash.o net/ipv4/fib_hash.c
using current CVS gcc
bix:/usr/src/25> /usr/local/gcc-cvs/bin/gcc --version
gcc (GCC) 3.5.0 20040623 (experimental)
The function fn_hash() appears to be issuing a call to memmove(). There is
no out-of-line memmove defined in the kernel, so the link fails. There's
an inlined memmove, and it is in scope.
Who is to blame, and if it's us, what would be a suitable fix?
Thanks.
(It's fairly bizarre that that little function should be using memmove()
btw - it's dealing with small scalars which don't need such heavy lifting).
More information about the Gcc
mailing list