[PATCH] Emit DWARF3 call frame information when DWARF3+ debug info is requested
Oliver Stannard
oliver.stannard at arm.com
Thu Jun 5 01:27:16 PDT 2014
Hi dblaikie,
Currently, llvm always emits a DWARF CIE with a version of 1, even when emitting DWARF 3 or 4, which both support CIE version 3. This patch makes it emit the newer CIE version when we are emitting DWARF 3 or 4. This will not reduce compatibility, as we already emit other DWARF3/4 features, and is worth doing as the DWARF3 spec removed some ambiguities in the interpretation of call frame information.
It also fixes a minor bug where the "return address" field of the CIE was encoded as a ULEB128, which is only valid when the CIE version is 3. There are no test changes for this, because (as far as I can tell) none of the platforms that we test have a return address register with a DWARF register number >127.
http://reviews.llvm.org/D4027
Files:
include/llvm/Support/Dwarf.h
lib/CodeGen/AsmPrinter/DwarfDebug.cpp
lib/MC/MCDwarf.cpp
test/DebugInfo/AArch64/eh_frame.s
test/DebugInfo/AArch64/eh_frame_personality.ll
test/DebugInfo/SystemZ/eh_frame.s
test/DebugInfo/SystemZ/eh_frame_personality.s
test/MC/ELF/cfi-adjust-cfa-offset.s
test/MC/ELF/cfi-advance-loc2.s
test/MC/ELF/cfi-def-cfa-offset.s
test/MC/ELF/cfi-def-cfa-register.s
test/MC/ELF/cfi-def-cfa.s
test/MC/ELF/cfi-escape.s
test/MC/ELF/cfi-offset.s
test/MC/ELF/cfi-register.s
test/MC/ELF/cfi-rel-offset.s
test/MC/ELF/cfi-rel-offset2.s
test/MC/ELF/cfi-remember.s
test/MC/ELF/cfi-restore.s
test/MC/ELF/cfi-same-value.s
test/MC/ELF/cfi-sections.s
test/MC/ELF/cfi-signal-frame.s
test/MC/ELF/cfi-undefined.s
test/MC/ELF/cfi-version.ll
test/MC/ELF/cfi-window-save.s
test/MC/ELF/cfi-zero-addr-delta.s
test/MC/ELF/cfi.s
test/MC/Mips/eh-frame.s
test/MC/PowerPC/ppc64-initial-cfa.s
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D4027.10124.patch
Type: text/x-patch
Size: 30919 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140605/2a11a637/attachment.bin>
More information about the llvm-commits
mailing list