clang and static linking?
dim at FreeBSD.org
Sat Nov 10 21:59:17 UTC 2012
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.
More information about the freebsd-current