libc.so dependency on libssp_nonshared.a

Jeremie Le Hen jlh at FreeBSD.org
Mon Feb 2 16:06:08 UTC 2015


Hi Gleb,


On Sun, Feb 1, 2015 at 9:24 PM, Gleb Kurtsou <gleb at freebsd.org> wrote:
> I came across some build issues in libc.so and SSP.
>
> libc.ldscript (aka libc.so) unconditionally includes @@LIBDIR@@/libssp_nonshared.a
>
> libssp* are not built if WITHOUT_SSP defined.
>
> ObsoleteFiles.inc doesn't mention libssp*.
>
> Consider WITHOUT_SSP=yes case.  As soon as one does clean installworld
> and/or removes stale libssp_nonshared.a ld fails to link anything
> because of missing libssp_nonshared.a

I think nowadays it would make sense to get it of WITHOUT_SSP
altogether.  This will turn this into a non-issue.


> libc.so during buildworld (as found under /usr/obj) is symlink to the
> actual shared library, but not ldscript.  Is it intentional?  I wouldn't
> expect make -C /usr/src/bin/cat to match buildworld result closely
> assuming src and world are in sync, but they seem to have different idea
> of what libc is..

I don't remember the details except this was pretty twisted :).  I
don't work enough on this subject to keep it warm in my head and each
time I need to go back to it, it takes me hours.

The code is here if you want to give a try:
http://svnweb.freebsd.org/base/head/share/mk/bsd.lib.mk?view=annotate#l335

-- 
Jeremie Le Hen
jlh at FreeBSD.org


More information about the freebsd-current mailing list