[LLVMbugs] [Bug 13749] New: x86-64 psABI requires .eh_frame sections
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Fri Aug 31 18:17:15 PDT 2012
http://llvm.org/bugs/show_bug.cgi?id=13749
Bug #: 13749
Summary: x86-64 psABI requires .eh_frame sections
Product: libraries
Version: 3.1
Platform: PC
OS/Version: OpenBSD
Status: NEW
Severity: normal
Priority: P
Component: Backend: X86
AssignedTo: unassignedbugs at nondot.org
ReportedBy: matthew at dempsky.org
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
The x86-64 psABI [1] requires .eh_frame sections to always be generated: "For
successful unwinding on AMD64 every function must provide a valid debug
information in the DWARF Debugging Information Format."
GCC implements this by default but Clang does not:
$ cat bar.c
extern int foo(void);
int bar() {
return foo() + 1;
}
$ gcc -c bar.c
$ readelf -S bar.o | grep eh_frame
[ 6] .eh_frame PROGBITS 0000000000000000 00000080
[ 7] .rela.eh_frame RELA 0000000000000000 00000578
$ clang -c bar.c
$ readelf -S bar.o | grep eh_frame
$
Clang should enable -fasynchronous-unwind-tables by default for amd64 targets
compiling to the x86-64 ELF psABI like Linux and OpenBSD. The above was run on
OpenBSD, but similar behavior can be seen on Linux.
(Tangentially, it also requires the unwind tables to be accurate at every
instruction, which currently isn't correct with LLVM either; see bug 13161.)
[1] http://www.x86-64.org/documentation/abi.pdf
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list