Re: Undefined references to 'memcpy' when compiling Linux Kernel

From: Keith Owens (kaos@ocs.com.au)
Date: Wed Jul 26 2000 - 22:26:52 EST


On Wed, 26 Jul 2000 17:33:08 -0700,
jeff@ntcor.com wrote:
> Could you please include a an inline memcpy patch for 2.2.17.

The kernel source already has a #define for memcpy(), see
include/asm/string.h. The problem is likely to be gcc when assigning a
destination structure or array from a different size source. gcc now
generates a call to memcpy() for that case but it does it under the
covers so the #define is not used.

Try to track down which statements are causing gcc to generate memcpy()
calls.

  find \( -name scripts -o -name boot \) -prune -o \( -name '*.o' -print \) | \
        xargs nm -A | grep -w memcpy

will identify the offending objects. Then run

  objdump -rS
  
on each object to find out which function is calling memcpy. Search
the objdump output for memcpy then page up to the function name. Look
at the source code for the function for array or structure assignments
where the source and targets are different sizes. Send a list to l-k
or patch them yourself.

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



This archive was generated by hypermail 2b29 : Mon Jul 31 2000 - 21:00:23 EST