[PATCH] D37852: [dwarfdump] Make .eh_frame a first class citizen

Jonas Devlieghere via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 14 08:19:35 PDT 2017


JDevlieghere created this revision.
Herald added a subscriber: javed.absar.

This patch makes the `.eh_frame` extension a first class citizen in
dwarfdump, comparable to other vendor extension. Up till now it was only
possible to dump the section using objdump, but not with dwarfdump.

This patch also adds parsing for 3 currently unimplemented CFA
instructions: `DW_CFA_def_cfa_expression`, `DW_CFA_expression`, and
`DW_CFA_val_expression`. Because I lack the required knowledge, I just
parse the fields without actually creating the instructions. At least
now we don't abruptly abort dwarfdump as soon as one of these
instructions is encountered.

This also fixes the typo in the `.debug_frame` section name which
incorrectly contained a trailing `s`.


Repository:
  rL LLVM

https://reviews.llvm.org/D37852

Files:
  include/llvm/BinaryFormat/Dwarf.def
  include/llvm/DebugInfo/DIContext.h
  include/llvm/DebugInfo/DWARF/DWARFContext.h
  lib/DebugInfo/DWARF/DWARFContext.cpp
  lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
  test/Assembler/return-column.s
  test/DebugInfo/dwarfdump-debug-frame-simple.test
  test/MC/X86/i386-darwin-frame-register.ll
  test/tools/dsymutil/X86/frame-1.test
  test/tools/dsymutil/X86/frame-2.test
  test/tools/llvm-objdump/eh_frame-arm64.test
  test/tools/llvm-objdump/eh_frame-mipsel.test
  test/tools/llvm-objdump/eh_frame_zero_cie.test
  tools/llvm-dwarfdump/llvm-dwarfdump.cpp
  tools/llvm-objdump/MachODump.cpp
  tools/llvm-objdump/llvm-objdump.cpp
  unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D37852.115223.patch
Type: text/x-patch
Size: 12872 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170914/823c5e84/attachment.bin>


More information about the llvm-commits mailing list