Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Nov 2012 22:59:21 +0100
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Jilles Tjoelker <jilles@stack.nl>
Cc:        freebsd-current@freebsd.org, Steve Kargl <sgk@troutmask.apl.washington.edu>
Subject:   Re: clang and static linking?
Message-ID:  <509ECE39.8020006@FreeBSD.org>
In-Reply-To: <20121110213942.GA67444@stack.nl>
References:  <20121108231349.GA79485@troutmask.apl.washington.edu> <509D4548.7030806@FreeBSD.org> <20121109182810.GA61338@troutmask.apl.washington.edu> <509D5BC3.9020704@FreeBSD.org> <509D90EC.5040302@FreeBSD.org> <509DA0E4.9060906@FreeBSD.org> <20121110213942.GA67444@stack.nl>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2012-11-10 22:39, Jilles Tjoelker wrote:
> On Sat, Nov 10, 2012 at 01:33:40AM +0100, Dimitry Andric wrote:
...
>> - Only define isnan, isnanf, __isnan and __isnanf in libc.so, not in
>>     libc.a and libc_p.a.
>
> OK, but please add a comment about this.

Where?  In libc or libm?


>> - Define isnan in libm.a and libm_p.a, not in libm.so.  I don't think
>>     there is a need to define __isnan in the .a files, so I left that out.
>
> Removing symbols from a .so causes subtle ABI breakage and is not needed
> for fixing static linking.

I didn't remove symbols from any .so.  There was no isnan in libm.so
before my commit.  I only added it to the static libraries.


> More concretely, dlsym of isnan on libm.so will stop working and a
> different version of isnan will be chosen if the search list is libm.so,
> libother.so, libc.so and libother.so contains another isnan.

As I said, there was no isnan in libm.so, so this does not matter.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?509ECE39.8020006>