Removing longjmp error handling from the dynamic loader
Zack Weinberg
zackw@panix.com
Mon Mar 11 16:53:00 GMT 2019
On Mon, Mar 11, 2019 at 12:13 PM Carlos O'Donell <carlos@redhat.com> wrote:
> On 3/11/19 11:29 AM, Florian Weimer wrote:
> > It requires moving the unwinder implementation from libgcc_s to libc,
> > though. The last time we discussed this (related to unwinder
> > performance issues and the dl_iterate_phdr interface), this idea was not
> > well-received.
>
> It might still be the best technical choice.
> I do not think we should discard this idea so easily.
> Why wouldn't we pursue this option?
I haven't thought about this much, but I don't like the idea of
increasing the set of functions potentially executed during symbol
resolution to the tune of the entire unwinder, because of the unusual
constraints on code executed in that context (e.g. must not take
locks, must protect itself from cancellation, must not touch the
normal errno). I was already thinking about saying that I supported
Florian's original proposal just because it would mean *reducing* that
set by at least setjmp and longjmp.
zw
More information about the Libc-alpha
mailing list