On 15.09.2015 15:58, Simo Sorce wrote:
On Tue, 2015-09-15 at 09:41 -0400, Carlos O'Donell wrote:
> On 09/14/2015 08:29 AM, Florian Weimer wrote:
>> I think the real issue here is the ELF model with
backwards/forwards
>> linking and symbol interposition. Ideally, we should load each DSO
>> exactly once, resolve object symbols only against explicit DT_NEEDED
>> dependencies (not indirect dependencies), and make most symbols
>> non-interposable by default. At least this is my gut feeling. This is
>> a very difficult problem, especially at distribution scale.
>
> I'm not sure how difficult this would be because I'm not sure how many
> symbols rely upon indirect dependencies. I think it would be a worthwhile
> cleanup to turn on something like you suggest, and attempt to bootstrap
> the OS using Fedora Bootstrap [1].
Symbol interposition is used a lot for very useful features, blocking
interposition would break a lot of stuff.
really? i've always thought that it was only useful for libc symbols,
but maybe that's because i don't work on base OS stuff.
by my naive count we have 341k exported symbols in LibreOffice, and of
those, 4 of them used to be interposeable in a practically useful way
(to override the custom memory allocator for valgrind), but even those
are useless nowadays since the G_SLICE environment variable disables the
custom allocator.