LFS-6.6, Stage2, glibc, nscd.c:442

Bruce Dubbs bruce.dubbs at gmail.com
Wed May 26 11:45:55 PDT 2010


Paul Rogers wrote:
>> We've seen this before and there was really no good answer.
>>
>> I did some googling and I think this may be a kernel issue.  In the
>> kernel .config I am using, there is
>>
>> # CONFIG_CC_STACKPROTECTOR is not set
>>
>> I'm using an X86_64 and not a i686, so that may make a difference.
>>
>> If your kernel was built with this parameter, you might want to try
>> building under another kernel that does not have this set.
> 
> When I installed LFS-6.1, it was patched up to 2.6.17, one short. ;-( 
> To
> do this 6.6 install I patched to .18.  Grep didn't find STACKPROTECTOR
> in my .config file.  I ran a menuconfig and looked in the "likely
> places", but found no references to a stack protector option.  Only
> found a few lines grepping the whole kernel branch for stack_protector.
> 
> If it were a hardware thing, wouldn't glibc's configure figure that out?
> 
>> Another thing to try might be to change the CFLAGS line to add -fno-stack-
>> protector
> 
> That failed at the same place.  This attempt wasn't able to override
> its makefile parms, as shown here when it entered this directory.
> 
> As this is glibc, I'm not anxious to "get creative".  Don't know what to
> do now.  Perhaps search kernel.org for more info?  The reference you
> provided didn't initially look informative.  I'll look again, I guess.
> 
> make[2]: Entering directory `/usr/local/src/glibc-2.11.1/nscd' make[2]:
> Leaving directory `/usr/local/src/glibc-2.11.1/nscd' make[2]: Entering
> directory `/usr/local/src/glibc-2.11.1/nscd'
> 
> gcc nscd.c -c -std=gnu99 -fgnu89-inline -O2 -O3 -Wall -Winline -Wwrite-
> strings -fmerge-all-constants -fno-stack-protector -g     <---- -
> march=i486 -mtune=native -pipe -Wstrict-prototypes -mpreferred-stack-
> boundary=2 -DIS_IN_nscd=1 -D_FORTIFY_SOURCE=2 -fpie 

-fstack-protector  <<-- overrides earlier setting

> -I../include -I/usr/local/src/glibc-build/nscd  <----
> -I/usr/local/src/glibc-
> build -I../sysdeps/i386/elf -I../nptl/sysdeps/unix/sysv/linux/i386/i686
> -I../sysdeps/unix/sysv/linux/i386/i686 -
> I../nptl/sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux/i386
> -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -
> I../sysdeps/pthread -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -
> I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet
> -I../sysdeps/unix/sysv/i386 -I../nptl/sysdeps/unix/sysv -
> I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../nptl/sysdeps/unix -
> I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/i386/i686/fpu -
> I../nptl/sysdeps/i386/i686 -I../sysdeps/i386/i686 -I../sysdeps/i386/i486
> -I../nptl/sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../nptl/sysdeps/i386
> -I../sysdeps/i386 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-96
> -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -
> I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -
> I../nptl -I.. -I../libio -I.  -D_LIBC_REENTRANT -include
> ../include/libc-
> symbols.h -DNOT_IN_libc=1 -o /usr/local/src/glibc-build/nscd/nscd.o -MD
> -MP -MF /usr/local/src/glibc-build/nscd/nscd.o.dt -MT
> /usr/local/src/glibc-
> build/nscd/nscd.o

After you get to this stoppage, try doing a paste of just these 
instructions back with modifications.  To do that, you need to paste 
into vim and add backslashes to each line, change what you want (delete 
-fstack-protector) and see if you can get that one file 
(build/nscd/nscd.o) to build.

   -- Bruce




More information about the lfs-support mailing list