Re: clang and static linking?

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Sat, 10 Nov 2012 22:59:21 +0100
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.
Received on Sat Nov 10 2012 - 20:59:17 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:32 UTC