[PATCH] ld.so: Support moving versioned symbols between sonames [BZ #24741]

Florian Weimer fweimer@redhat.com
Thu Jun 27 15:08:00 GMT 2019


* 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



More information about the Libc-alpha mailing list