This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] ld.so: Support moving versioned symbols between sonames [BZ #24741]
- From: Florian Weimer <fweimer at redhat dot com>
- To: Zack Weinberg <zackw at panix dot com>
- Cc: GNU C Library <libc-alpha at sourceware dot org>
- Date: Thu, 27 Jun 2019 17:08:27 +0200
- Subject: Re: [PATCH] ld.so: Support moving versioned symbols between sonames [BZ #24741]
- References: <87woh7t7f7.fsf@oldenburg2.str.redhat.com> <CAKCAbMg0MmPJ3U9RLad1v8i9HA7jz5-7ccKrZJOp=6M_586oWg@mail.gmail.com>
* Zack Weinberg:
> On Thu, Jun 27, 2019 at 10:44 AM Florian Weimer <fweimer@redhat.com> wrote:
>>
>> This change should be fully backwards-compatible because the old
>> code aborted the load if a soname mismatch was encountered
>> (instead of searching further for a matching symbol). This means
>> that no different symbols are found.
>
> I am not familiar enough with the guts of the dynamic linker to review
> your code changes, but I endorse the idea. This should make it
> possible to eliminate most of the double definitions of functions in
> libc.so and libpthread.so without needing to leave forwarding stubs
> behind in libpthread.
Right, I want to use this to fix bug 20188, among other things.
It's also a prerequisite for weak symbol version support. (In my
interpretation of Ulrich's design, a weak symbol version reference
should be generated by the link editor if all symbols that reference
this version are weak.) ld.so is expected to support those already, but
any use of them currently runs into that error:
<https://sourceware.org/bugzilla/show_bug.cgi?id=24718#c16>
Thanks,
Florian