diff options
| author | Sourabh Singh Tomar <SourabhSingh.Tomar@amd.com> | 2019-11-07 12:27:46 +0530 |
|---|---|---|
| committer | Sourabh Singh Tomar <SourabhSingh.Tomar@amd.com> | 2019-11-23 10:25:11 +0530 |
| commit | 81b0a3284af1dcef26e56b0de9fd74002083c471 (patch) | |
| tree | 41b0523c1b0cd6bb3a01992671b98e17cfca240f /llvm/lib/DebugInfo/DWARF/DWARFContext.cpp | |
| parent | 380a6452b2e98d9c34828503edf8032f6b4c82d3 (diff) | |
| download | bcm5719-llvm-81b0a3284af1dcef26e56b0de9fd74002083c471.tar.gz bcm5719-llvm-81b0a3284af1dcef26e56b0de9fd74002083c471.zip | |
[DWARF] Support for loclist.dwo section in llvm and llvm-dwarfdump.
This patch adds support for debug_loclists.dwo section in llvm and llvm-dwarfdump.
Also Fixes PR43622, PR43623.
Reviewers: dblaikie, probinson, labath, aprantl, jini.susan.george
https://reviews.llvm.org/D69462
Diffstat (limited to 'llvm/lib/DebugInfo/DWARF/DWARFContext.cpp')
| -rw-r--r-- | llvm/lib/DebugInfo/DWARF/DWARFContext.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp b/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp index f7b3fb495f9..012bab35460 100644 --- a/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp +++ b/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp @@ -404,6 +404,14 @@ void DWARFContext::dump( dumpLoclistsSection(OS, LLDumpOpts, Data, getRegisterInfo(), *Off); } if (const auto *Off = + shouldDump(ExplicitDWO, ".debug_loclists.dwo", DIDT_ID_DebugLoclists, + DObj->getLoclistsDWOSection().Data)) { + DWARFDataExtractor Data(*DObj, DObj->getLoclistsDWOSection(), + isLittleEndian(), 0); + dumpLoclistsSection(OS, LLDumpOpts, Data, getRegisterInfo(), *Off); + } + + if (const auto *Off = shouldDump(ExplicitDWO, ".debug_loc.dwo", DIDT_ID_DebugLoc, DObj->getLocDWOSection().Data)) { DWARFDataExtractor Data(*DObj, DObj->getLocDWOSection(), isLittleEndian(), @@ -1385,6 +1393,7 @@ class DWARFObjInMemory final : public DWARFObject { DWARFSectionMap LocSection; DWARFSectionMap LoclistsSection; + DWARFSectionMap LoclistsDWOSection; DWARFSectionMap LineSection; DWARFSectionMap RangesSection; DWARFSectionMap RnglistsSection; @@ -1411,6 +1420,7 @@ class DWARFObjInMemory final : public DWARFObject { return StringSwitch<DWARFSectionMap *>(Name) .Case("debug_loc", &LocSection) .Case("debug_loclists", &LoclistsSection) + .Case("debug_loclists.dwo", &LoclistsDWOSection) .Case("debug_line", &LineSection) .Case("debug_frame", &FrameSection) .Case("eh_frame", &EHFrameSection) @@ -1741,6 +1751,9 @@ public: const DWARFSection &getRnglistsDWOSection() const override { return RnglistsDWOSection; } + const DWARFSection &getLoclistsDWOSection() const override { + return LoclistsDWOSection; + } const DWARFSection &getAddrSection() const override { return AddrSection; } StringRef getCUIndexSection() const override { return CUIndexSection; } StringRef getGdbIndexSection() const override { return GdbIndexSection; } |

