Toolchain build failures.

Kevin Day thekevinday at gmail.com
Sat Jan 27 11:27:06 PST 2007


On 1/26/07, Charity <charity at orlandotelco.net> wrote:
>
> This is because -fstack-protector is failing. SSP is not built in the
> first gcc build. Support for it is supposed to be built into glibc-2.5,
> however, after some checking, it tells me "cannot find -lssp_nonshared"
> whenever I try to compile something with -fstack-protector. That means
> that gcc supports it, but it is not installed. How can I be sure it is
> installed in glibc? I made sure I am using the newly compiled gcc and
> the linker seems to be the new glibc.
>
> After some more research, it seems that something is going wrong with
> the first gcc build or glibc is not being linked to properly. I know
> HLFS is in development, but the link to the old stable version of the
> book is broken. I'm going to try rebuilding gcc after each step just to
> see if it builds. This should work right? If bootstrapping builds the
> compiler once, uses the first build to build a second and the second to
> build a third for comparison, then the compiler should be able to be
> built after the installation?

gcc (4.1) hardcodes both -lssp and -lssp_nonshared when
-fstack-protector is passed.
Instead of letting the linker decide on whether you are using
libssp.so and libssp.a they felt the need to explicitly identify them
as different.
My approach was to use the patch below and rename
lib/libssp_nonshared.a to lib/libssp.a so that if for any reason I
needed libssp.a (such as gcc -static) I would be able to do such and
the linker would know what to do.

gcc-4.1.1-no_static_ssp-1.patch:
http://linuxfromscratch.org/pipermail/hlfs-dev/attachments/20060616/6736bfa4/attachment-0001.bin

-- 
Kevin Day



More information about the hlfs-dev mailing list