summaryrefslogtreecommitdiffstats
path: root/llvm/lib/DebugInfo/DWARFCompileUnit.h
diff options
context:
space:
mode:
authorEric Christopher <echristo@gmail.com>2013-01-07 19:32:41 +0000
committerEric Christopher <echristo@gmail.com>2013-01-07 19:32:41 +0000
commit2cbd5767ad7dce653bdcba55e49dbbc7a09be682 (patch)
tree5c5385f963347733220e07c27519d93333ad4451 /llvm/lib/DebugInfo/DWARFCompileUnit.h
parent9b1e3e25dc7265b4c399176e08c05c303761af4c (diff)
downloadbcm5719-llvm-2cbd5767ad7dce653bdcba55e49dbbc7a09be682.tar.gz
bcm5719-llvm-2cbd5767ad7dce653bdcba55e49dbbc7a09be682.zip
Add support for separating strings for the split debug info DWARF5
proposal. This leaves the strings in the skeleton die as strp, but in all dwo files they're accessed now via DW_FORM_GNU_str_index. Add support for dumping these sections and modify the fission-cu.ll testcase to have the correct strings and form. Fix a small bug in the fixed form sizes routine that involved out of array accesses for the table and add a FIXME in the extractFast routine to fix this up. llvm-svn: 171779
Diffstat (limited to 'llvm/lib/DebugInfo/DWARFCompileUnit.h')
-rw-r--r--llvm/lib/DebugInfo/DWARFCompileUnit.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/lib/DebugInfo/DWARFCompileUnit.h b/llvm/lib/DebugInfo/DWARFCompileUnit.h
index ba638dff212..c58664f2234 100644
--- a/llvm/lib/DebugInfo/DWARFCompileUnit.h
+++ b/llvm/lib/DebugInfo/DWARFCompileUnit.h
@@ -28,6 +28,7 @@ class DWARFCompileUnit {
StringRef AbbrevSection;
StringRef RangeSection;
StringRef StringSection;
+ StringRef StringOffsetSection;
const RelocAddrMap *RelocMap;
bool isLittleEndian;
@@ -42,13 +43,16 @@ class DWARFCompileUnit {
public:
DWARFCompileUnit(const DWARFDebugAbbrev *DA, StringRef IS, StringRef AS,
- StringRef RS, StringRef SS, const RelocAddrMap *M, bool LE) :
+ StringRef RS, StringRef SS, StringRef SOS,
+ const RelocAddrMap *M, bool LE) :
Abbrev(DA), InfoSection(IS), AbbrevSection(AS),
- RangeSection(RS), StringSection(SS), RelocMap(M), isLittleEndian(LE) {
+ RangeSection(RS), StringSection(SS), StringOffsetSection(SOS),
+ RelocMap(M), isLittleEndian(LE) {
clear();
}
StringRef getStringSection() const { return StringSection; }
+ StringRef getStringOffsetSection() const { return StringOffsetSection; }
const RelocAddrMap *getRelocMap() const { return RelocMap; }
DataExtractor getDebugInfoExtractor() const;
OpenPOWER on IntegriCloud