[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GNU dlopen(3) differs from POSIX/IEEE



* Szabolcs Nagy:

> * Florian Weimer <fw@deneb.enyo.de> [2016-07-01 22:46:19 +0200]:
>> I am not sure what the exact semantics of lazy binding should be.
>> With IFUNCs, lazy binding is observable, and we know from Fedora's
>> BIND_NOW experiment that some applications assume that undefined
>> functions which are never called do not cause any trouble whatsoever.
>
> this bind now experiment made me curious but i could not
> find the results and its description.

It's ongoing:

  <https://fedoraproject.org/wiki/Changes/Harden_All_Packages>

Alpine Linux with musl runs essentially the same experiment because
musl does not support lazy binding.

> is there a list of affected packages somewhere?

I'm not sure.  I don't think Fedora keeps a tally of the exceptions.
I can generate a list of objects which use lazy binding, but I don't
know if those are accidents or the result of a deliberate choice.

One example that keeps coming up is Xorg server modules, which do not
use DT_NEEDED.  Instead, an external dependency mechanism makes sure
that functions in them are called only after all the relevant modules
have been loaded (but not necessarily in the order of their symbol
bindings).