[PATCH] D75636: [LLD][NFC] Remove getOffsetInFile() workaround.
Alexey Lapshin via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 5 04:57:02 PST 2020
This revision was automatically updated to reflect the committed changes.
Closed by commit rGa130be6ac516: [LLD][NFC] Remove getOffsetInFile() workaround. (authored by avl).
Changed prior to commit:
https://reviews.llvm.org/D75636?vs=248286&id=248444#toc
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D75636/new/
https://reviews.llvm.org/D75636
Files:
lld/ELF/DWARF.cpp
lld/ELF/InputFiles.cpp
lld/ELF/SyntheticSections.cpp
Index: lld/ELF/SyntheticSections.cpp
===================================================================
--- lld/ELF/SyntheticSections.cpp
+++ lld/ELF/SyntheticSections.cpp
@@ -2686,15 +2686,11 @@
for (DWARFAddressRange &r : *ranges) {
if (r.SectionIndex == -1ULL)
continue;
- InputSectionBase *s = sections[r.SectionIndex];
- if (!s || s == &InputSection::discarded || !s->isLive())
- continue;
// Range list with zero size has no effect.
- if (r.LowPC == r.HighPC)
- continue;
- auto *isec = cast<InputSection>(s);
- uint64_t offset = isec->getOffsetInFile();
- ret.push_back({isec, r.LowPC - offset, r.HighPC - offset, cuIdx});
+ InputSectionBase *s = sections[r.SectionIndex];
+ if (s && s != &InputSection::discarded && s->isLive())
+ if (r.LowPC != r.HighPC)
+ ret.push_back({cast<InputSection>(s), r.LowPC, r.HighPC, cuIdx});
}
++cuIdx;
}
Index: lld/ELF/InputFiles.cpp
===================================================================
--- lld/ELF/InputFiles.cpp
+++ lld/ELF/InputFiles.cpp
@@ -296,9 +296,7 @@
}
}
- // Use fake address calculated by adding section file offset and offset in
- // section. See comments for ObjectInfo class.
- return dwarf->getDILineInfo(s->getOffsetInFile() + offset, sectionIndex);
+ return dwarf->getDILineInfo(offset, sectionIndex);
}
ELFFileBase::ELFFileBase(Kind k, MemoryBufferRef mb) : InputFile(k, mb) {
Index: lld/ELF/DWARF.cpp
===================================================================
--- lld/ELF/DWARF.cpp
+++ lld/ELF/DWARF.cpp
@@ -99,15 +99,9 @@
// its zero value will terminate the decoding of .debug_ranges prematurely.
Symbol &s = file->getRelocTargetSym(rel);
uint64_t val = 0;
- if (auto *dr = dyn_cast<Defined>(&s)) {
+ if (auto *dr = dyn_cast<Defined>(&s))
val = dr->value;
- // FIXME: We should be consistent about always adding the file
- // offset or not.
- if (dr->section->flags & ELF::SHF_ALLOC)
- val += cast<InputSection>(dr->section)->getOffsetInFile();
- }
-
DataRefImpl d;
d.p = getAddend<ELFT>(rel);
return RelocAddrEntry{secIndex, RelocationRef(d, nullptr),
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D75636.248444.patch
Type: text/x-patch
Size: 2212 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200305/f470f843/attachment.bin>
More information about the llvm-commits
mailing list