[llvm-bugs] [Bug 40277] New: lld should synthesize .ARM.exidx entries for code without them
via llvm-bugs
llvm-bugs at lists.llvm.org
Wed Jan 9 16:05:12 PST 2019
https://bugs.llvm.org/show_bug.cgi?id=40277
Bug ID: 40277
Summary: lld should synthesize .ARM.exidx entries for code
without them
Product: lld
Version: unspecified
Hardware: PC
OS: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: ELF
Assignee: unassignedbugs at nondot.org
Reporter: george.burgess.iv at gmail.com
CC: llvm-bugs at lists.llvm.org, peter.smith at linaro.org
(Apologies if I use vague/handwavy terminology here; I'm not super familiar
with ARM EH or linker terminology)
When a function is defined in assembly, it appears that -- reasonably so --
there will be no unwinding information in .ARM.exidx/.ARM.extab to go along
with it, unless the user goes out of their way to somehow specify that.
This becomes problematic when this assembly code is linked with C/C++ that's
built with unwinding info. AFAICT, the .ARM.exidx entry selected to try to
unwind this asm is the .ARM.exidx entry of the nearest function(s) laid out
before the asm. This... can work, but doesn't always. :)
Gold appears to handle this by synthesizing `cantunwind` .ARM.exidx entries for
functions/sections that have no associated .ARM.exidx entry. I think it would
be reasonable for lld to do the same.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20190110/e07445d7/attachment-0001.html>
More information about the llvm-bugs
mailing list