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