bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/20830] .plt.got section is lacking unwind info


From: keno at juliacomputing dot com
Subject: [Bug ld/20830] .plt.got section is lacking unwind info
Date: Mon, 21 Nov 2016 16:31:39 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=20830

--- Comment #5 from Keno Fischer <keno at juliacomputing dot com> ---
It causes runtime failures in exactly the same cases as missing `.plt` info
would:
Asynchronous unwinds that happen to originate in .plt stubs. This bug was filed
as a result of me working through all the cases where we failed to properly
unwind. I could see the stance that it's not the linker's job to add unwind
info, but in that case unwinders would have hacked that case into their
algorithm. However, since the linker does provide unwind info for the .plt, it
seems important that it should provide unwind info for all of its generated
stubs. The current situation causes subtle unwind failures (admittedly rare,
because triggering it requires being lucky as well as using asynchronous
unwind, which most people don't because until recently most non-MSVC compilers
weren't particularly good at this either).

I'm not really sure what to provide you as a test case here, other than to say,
take any program that triggers this optimization, interrupt it at random points
and try to unwind with say libunwind (or any of the other unwinders that rely
on unwind info instead of assembly profiling). It's a little hard to find a
current real-world application that relies on asynchronous unwind for
correctness (other than correct stack traces and other debug info, etc.), but
that's not because people wouldn't find it useful, but rather because of
problems like this one (though to be clear compilers generating incorrect
unwind info is by far a bigger problem - though there's been working on fixing
that) that have made it impossible to do so in the past. I'm hoping to
systematically track down all of these issues, such that maybe in the future we
can actually rely on being able to properly unwind as opposed to the "best
effort" kind of situation we have now.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]