svn commit: r292723 - in head: lib/libc share/mk
Daniel Eischen
deischen at freebsd.org
Sat Dec 26 17:26:29 UTC 2015
On Fri, 25 Dec 2015, Colin Percival wrote:
> On 12/25/15 13:03, Daniel Eischen wrote:
>> On Fri, 25 Dec 2015, Ed Schouten wrote:
>>> 2015-12-25 12:29 GMT+01:00 Colin Percival <cperciva at freebsd.org>:
>>>> Make libxnet.so a symlink to libc.so. This makes `-lxnet` a no-op, as
>>>> POSIX requires for the c99 compiler.
>>>
>>> I seem to remember I had some issues in the past where I was linking
>>> against libc explicitly. Maybe it had something to do with linking
>>> both against -lpthread and -lc, but if you pass in -lc later on the
>>> command line, libc overrides the symbols that have to be provided by
>>> -lpthread?
>
> I just did some tests with one of my pthread-using tools, and it passes
> all of my tests with -lc added before or after -lpthread. Can you
> remember any details of how the problems showed up? Is it possible that
> this has been fixed since then? I know there's a lot of tricks to make
> sure that the right versions of functions get called.
>
>>> If that's (still) the case, would it make sense to just provide
>>> libxnet in the form of an empty .a file instead?
>>
>> I think that's a good point. Using -lanything shouldn't introduce an
>> unexpected link order.
>
> Yes, adding a dummy library was my first thought, but kib pointed out
> that a symlink was much simpler. Obviously it never occurred to me that
> linking to a library which we were going to be linking to anyway would
> cause problems...
It is hard to contemplate a way this could cause problems (after
reading Konstantin's response with regard to threads). The only
thought I have is if the application is trying to override libc
symbols (which are weak) with other weak symbols. The first
weak wins.
--
DE
More information about the svn-src-head
mailing list