[PATCH] Add -lssp_nonshared to GCC's LIB_SPEC unconditionally

Kostik Belousov kostikbel at gmail.com
Sat Nov 6 19:47:12 UTC 2010


On Fri, Nov 05, 2010 at 07:00:23PM -0400, Alexander Kabaev wrote:
> On Fri, 5 Nov 2010 22:39:06 +0100
> Jeremie Le Hen <jeremie at le-hen.org> wrote:
> 
> > Hi Kib,
> > 
> > On Tue, Oct 05, 2010 at 08:18:04PM +0200, Jeremie Le Hen wrote:
> > > 
> > > On Mon, Sep 27, 2010 at 06:44:57PM +0300, Kostik Belousov wrote:
> > > > Hardcoding /usr/lib as the path to the library in the script looks
> > > > problematic.  For the buidlworld, you are linking resulting
> > > > binaries with the host library, instead of the
> > > > buildworld-produced one. For lib32, it makes non-working
> > > > combination of 32/64 bit.
> > > 
> > > Sorry for the late reply, but I had to collect various evidences
> > > for my sayings and my development machine is reaaaaaaaaaaally slow.
> > > 
> > > In fact it seems the toolchain built for buildworld contains a ld(1)
> > > binary which invariably bases lookups for libraries in ${WORLDTMP},
> > > even in case of an absolute path.  I have two evidences of this:
> > > - Putting /usr/obj/usr/src/tmp/usr/lib/libssp_nonshared.a in
> > >   /usr/obj/usr/src/tmp/usr/lib/libc.ld leads toolchain's ld(1) to
> > > use /usr/obj/usr/src/tmp/usr/obj/usr/src/tmp/usr/lib/libssp_nonshared.a;
> > > - I also verified this with a hand-wrought opensnoop-like DTrace
> > > script.
> > 
> > I dare to remind you about my patch.  Do you have any other concerns?
> > 
> > Thanks.
> > Regards,
> > -- 
> > Jeremie Le Hen
> > 
> > Humans are born free and equal.  But some are more equal than others.
> > 					    Coluche
> 
> Hmm, I thought I did approve this patch already a long time agi, but
> since you asked:
> 
> +.if defined(SHLIB_LDSCRIPT) && exists(${.CURDIR}/${SHLIB_LDSCRIPT})
> 
> this should be:
> 
> +.if defined(SHLIB_LDSCRIPT)
> 
> ditto for all other similar places. Otherwise I do not think we should
> hold the patch in queue ans should unleash it on unsuspecting public.

Also, I think the "DEBUG" lines should be removed.

You install the libxxx.ld and then symlink libxxx.so to libxxx.ld.
Why ? Would it be enough to install just the libxxx.so ?
Otherwise, I think you need the similar
.if ${SHLIBDIR} == ${LIBDIR}
magic, that is better to be avoided.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20101106/e1739605/attachment.pgp


More information about the freebsd-hackers mailing list