[PATCH] D32618: DWARF: Implementation of v5 string offsets table (.debug_str_offsets[.dwo] section)

Wolfgang Pieb via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 27 15:00:48 PDT 2017


wolfgangp created this revision.

This is a proposed implementation of the DWARF v5 string offsets table for both producer and consumer side. This includes handling of the DW_AT_str_offsets_base attribute in the unit headers and the usage of DW_FORM_strx for string references.

I'd like to leave the emission of DW_FORM_strx{1,2,3,4} for a follow-on patch. Also, apologies for not handling Mach-O. I'm not familiar with it just yet, though I would like to handle it in another follow-on unless someone else wants to.

This could be easily broken into 2 patches (1 producer, 1 consumer) it that's more manageable.


https://reviews.llvm.org/D32618

Files:
  include/llvm/CodeGen/DIE.h
  include/llvm/CodeGen/DIEValue.def
  include/llvm/CodeGen/DwarfStringPoolEntry.h
  include/llvm/DebugInfo/DIContext.h
  include/llvm/DebugInfo/DWARF/DWARFCompileUnit.h
  include/llvm/DebugInfo/DWARF/DWARFContext.h
  include/llvm/DebugInfo/DWARF/DWARFTypeUnit.h
  include/llvm/DebugInfo/DWARF/DWARFUnit.h
  include/llvm/MC/MCObjectFileInfo.h
  lib/CodeGen/AsmPrinter/DIE.cpp
  lib/CodeGen/AsmPrinter/DIEHash.cpp
  lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
  lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
  lib/CodeGen/AsmPrinter/DwarfDebug.cpp
  lib/CodeGen/AsmPrinter/DwarfDebug.h
  lib/CodeGen/AsmPrinter/DwarfFile.cpp
  lib/CodeGen/AsmPrinter/DwarfUnit.cpp
  lib/CodeGen/AsmPrinter/DwarfUnit.h
  lib/DebugInfo/DWARF/DWARFContext.cpp
  lib/DebugInfo/DWARF/DWARFFormValue.cpp
  lib/DebugInfo/DWARF/DWARFTypeUnit.cpp
  lib/DebugInfo/DWARF/DWARFUnit.cpp
  lib/MC/MCObjectFileInfo.cpp
  test/DebugInfo/Generic/string-offsets-multiple-cus.ll
  test/DebugInfo/Generic/string-offsets-table.ll
  test/DebugInfo/Inputs/dwarfdump-str-offsets.elf-x86-64
  test/DebugInfo/Inputs/dwarfdump-str-offsets.s
  test/DebugInfo/dwarfdump-str-offsets.test
  tools/llvm-dwarfdump/llvm-dwarfdump.cpp
  tools/obj2yaml/dwarf2yaml.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D32618.96993.patch
Type: text/x-patch
Size: 75159 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170427/14c38247/attachment.bin>


More information about the llvm-commits mailing list