[PATCH] D32779: DWARF: Implementation of v5 string offsets table (.debug_str_offsets[.dwo] section)/consumer
Wolfgang Pieb via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 2 11:14:31 PDT 2017
wolfgangp updated this revision to Diff 101241.
wolfgangp marked an inline comment as done.
wolfgangp added a comment.
The patch has been accepted but in order to address the last review comments some non-trivial changes were necessary, so it probably needs another look.
1. error messages will now be emitted when we find invalid contributions to the string offsets table. One test has been added to address the case where we encounter a degenerate .debug_str_offsets section (without a v5 unit present).
2. Per Dave's suggestion the routines dumping the string offsets table have been reorganized a bit, so now the main dump routine for DWARFContext looks cleaner. Dumping a DWARF v5 string offsets table keys off whether we find a unit with version 5 or greater. Otherwise we dump a monolithic table. That means that the *invalid* tests had to be enhanced a bit to contain at least a rudimentary v5 compile unit.
3. Dumping the string offsets table now also displays the strings, so the respective test has been updated.
https://reviews.llvm.org/D32779
Files:
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
include/llvm/Object/MachO.h
include/llvm/Object/ObjectFile.h
lib/DebugInfo/DWARF/DWARFContext.cpp
lib/DebugInfo/DWARF/DWARFFormValue.cpp
lib/DebugInfo/DWARF/DWARFUnit.cpp
lib/MC/MCObjectFileInfo.cpp
lib/Object/MachOObjectFile.cpp
test/DebugInfo/Inputs/dwarfdump-str-offsets-dwp.s
test/DebugInfo/Inputs/dwarfdump-str-offsets-dwp.x86_64.o
test/DebugInfo/Inputs/dwarfdump-str-offsets-invalid-1.s
test/DebugInfo/Inputs/dwarfdump-str-offsets-invalid-1.x86_64.o
test/DebugInfo/Inputs/dwarfdump-str-offsets-invalid-2.s
test/DebugInfo/Inputs/dwarfdump-str-offsets-invalid-2.x86_64.o
test/DebugInfo/Inputs/dwarfdump-str-offsets-invalid-3.s
test/DebugInfo/Inputs/dwarfdump-str-offsets-invalid-3.x86_64.o
test/DebugInfo/Inputs/dwarfdump-str-offsets-invalid-4.s
test/DebugInfo/Inputs/dwarfdump-str-offsets-invalid-4.x86_64.o
test/DebugInfo/Inputs/dwarfdump-str-offsets-invalid-5.s
test/DebugInfo/Inputs/dwarfdump-str-offsets-invalid-5.x86_64.o
test/DebugInfo/Inputs/dwarfdump-str-offsets.s
test/DebugInfo/Inputs/dwarfdump-str-offsets.x86_64.o
test/DebugInfo/dwarfdump-str-offsets-invalid.test
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: D32779.101241.patch
Type: text/x-patch
Size: 64826 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170602/e4295b19/attachment-0001.bin>
More information about the llvm-commits
mailing list