summaryrefslogtreecommitdiffstats
path: root/llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
diff options
context:
space:
mode:
authorGeorge Rimar <grimar@accesssoftek.com>2017-04-21 09:12:18 +0000
committerGeorge Rimar <grimar@accesssoftek.com>2017-04-21 09:12:18 +0000
commitf8a964252643c4e65d0c091105cc9d4cbe813690 (patch)
treed56b2bc25ed730188fc9ecf4315a599284c96854 /llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
parent1f043e1c55e70d25fdfbf96081c409edb651584d (diff)
downloadbcm5719-llvm-f8a964252643c4e65d0c091105cc9d4cbe813690.tar.gz
bcm5719-llvm-f8a964252643c4e65d0c091105cc9d4cbe813690.zip
[DWARF] - Refactoring: localize handling of relocations in a single place.
This is splitted from D32228, currently DWARF parsers code has few places that applied relocations values manually. These places has similar duplicated code. Patch introduces separate method that can be used to obtain relocated value. That helps to reduce code and simplifies things. Differential revision: https://reviews.llvm.org/D32284 llvm-svn: 300956
Diffstat (limited to 'llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp')
-rw-r--r--llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp b/llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
index 85e1eaedfc6..a12f8adfafe 100644
--- a/llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
+++ b/llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
@@ -9,6 +9,7 @@
#include "llvm/ADT/SmallVector.h"
#include "llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h"
+#include "llvm/DebugInfo/DWARF/DWARFContext.h"
#include "llvm/DebugInfo/DWARF/DWARFFormValue.h"
#include "llvm/DebugInfo/DWARF/DWARFRelocMap.h"
#include "llvm/Support/Dwarf.h"
@@ -112,10 +113,8 @@ LLVM_DUMP_METHOD void DWARFAcceleratorTable::dump(raw_ostream &OS) const {
continue;
}
while (AccelSection.isValidOffsetForDataOfSize(DataOffset, 4)) {
- unsigned StringOffset = AccelSection.getU32(&DataOffset);
- RelocAddrMap::const_iterator Reloc = Relocs.find(DataOffset-4);
- if (Reloc != Relocs.end())
- StringOffset += Reloc->second.second;
+ unsigned StringOffset =
+ getRelocatedValue(AccelSection, 4, &DataOffset, &Relocs);
if (!StringOffset)
break;
OS << format(" Name: %08x \"%s\"\n", StringOffset,
OpenPOWER on IntegriCloud