Diagnostics for missing libraries in DSOs

Andreas Schwab schwab@suse.de
Mon Aug 22 15:19:00 GMT 2016


On Aug 22 2016, Florian Weimer <fweimer@redhat.com> wrote:

> On 08/22/2016 04:53 PM, Andreas Schwab wrote:
>> On Aug 22 2016, Florian Weimer <fweimer@redhat.com> wrote:
>>
>>> Currently, it is extremely easy to produce a DSO which links against
>>> compat symbols at run time: Just omit a required DSO when invoking the
>>> static linker.  As a result, the symbol reference in the created DSO will
>>> lack a version, and will be bound to a compat symbol at run time:
>>>
>>>   https://sourceware.org/bugzilla/show_bug.cgi?id=20489
>>>
>>> This is very difficult to diagnose properly.  It can also lead to current
>>> binaries reintroducing historic bugs which we did not want to push on
>>> applications for backwards compatibility reasons.
>>>
>>> What can we do here?  Can we provide a diagnostic at static link time?
>>
>> ld --no-allow-shlib-undefined would turn them into errors.
>
> Interesting, this does look helpful.
>
> Would it work in practice?  Could you build a distribution with this option?

It would probably fail on loadable modules.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."



More information about the Binutils mailing list