On 01/19/13 22:31, Paul Eggert wrote: > > Could you please try this: > > ./configure > make clean > make V=1 > > I'm interested in the last (failing) command executed by the last 'make'. > Suppose it is like this: > > gcc -std=gnu99 -I. -I./lib -Ilib ... -o lib/stpncpy.o lib/stpncpy.c > > Please send the relevant part of the preprocessed output for that command, > i.e., the output of > > gcc -E -std=gnu99 -I. -I./lib -Ilib ... lib/stpncpy.c > The failed command was: === depbase=`echo lib/stpncpy.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'` ; \ gcc -std=gnu99 -I. -I./lib -Ilib -I./lib -Isrc -I./src -g -O2 -MT lib/stpncpy.o -MD -MP -MF $depbase.Tpo -c -o lib/stpncpy.o lib/stpncpy.c === Attached is the output of: === gcc -E -std=gnu99 -I. -I./lib -Ilib -I./lib -Isrc -I./src -g -O2 -MT lib/stpncpy.o -MD -MP -MF lib/.deps/stpncpy.Tpo lib/stpncpy.c > stnpcpy.E.txt === I don't know exactly why, but it seems the definition of "stpncpy" is replaced From: === char * __stpncpy (char *dest, const char *src, size_t n) { char c; char *s = dest; === To: === char * ((__builtin_object_size (char *dest, 0) != (size_t) -1) ? __builtin___stpncpy_chk (char *dest, const char *src, size_t n, __builtin_object_size (char *dest, 2 > 1)) : __inline_stpncpy_chk (char *dest, const char *src, size_t n)) { char c; char *s = dest; === Which looks like some macro expansion, but I couldn't find the declaration of this macro. -gordon