mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-12 13:30:51 +00:00
[DWARF parser] Make a few methods non-public
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207156 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a189d1ad57
commit
1749b55006
@ -23,7 +23,9 @@ public:
|
||||
StringRef SS, StringRef SOS, StringRef AOS,
|
||||
const RelocAddrMap *M, bool LE)
|
||||
: DWARFUnit(DA, IS, RS, SS, SOS, AOS, M, LE) {}
|
||||
uint32_t getSize() const override { return DWARFUnit::getSize() + 12; }
|
||||
uint32_t getHeaderSize() const override {
|
||||
return DWARFUnit::getHeaderSize() + 12;
|
||||
}
|
||||
void dump(raw_ostream &OS);
|
||||
protected:
|
||||
bool extractImpl(DataExtractor debug_info, uint32_t *offset_ptr) override;
|
||||
|
@ -168,13 +168,13 @@ void DWARFUnit::extractDIEsToVector(
|
||||
|
||||
// Set the offset to that of the first DIE and calculate the start of the
|
||||
// next compilation unit header.
|
||||
uint32_t Offset = getFirstDIEOffset();
|
||||
uint32_t DIEOffset = Offset + getHeaderSize();
|
||||
uint32_t NextCUOffset = getNextUnitOffset();
|
||||
DWARFDebugInfoEntryMinimal DIE;
|
||||
uint32_t Depth = 0;
|
||||
bool IsCUDie = true;
|
||||
|
||||
while (Offset < NextCUOffset && DIE.extractFast(this, &Offset)) {
|
||||
while (DIEOffset < NextCUOffset && DIE.extractFast(this, &DIEOffset)) {
|
||||
if (IsCUDie) {
|
||||
if (AppendCUDie)
|
||||
Dies.push_back(DIE);
|
||||
@ -207,9 +207,9 @@ void DWARFUnit::extractDIEsToVector(
|
||||
// Give a little bit of info if we encounter corrupt DWARF (our offset
|
||||
// should always terminate at or before the start of the next compilation
|
||||
// unit header).
|
||||
if (Offset > NextCUOffset)
|
||||
if (DIEOffset > NextCUOffset)
|
||||
fprintf(stderr, "warning: DWARF compile unit extends beyond its "
|
||||
"bounds cu 0x%8.8x at 0x%8.8x'\n", getOffset(), Offset);
|
||||
"bounds cu 0x%8.8x at 0x%8.8x'\n", getOffset(), DIEOffset);
|
||||
}
|
||||
|
||||
size_t DWARFUnit::extractDIEsIfNeeded(bool CUDieOnly) {
|
||||
|
@ -59,6 +59,8 @@ class DWARFUnit {
|
||||
|
||||
protected:
|
||||
virtual bool extractImpl(DataExtractor debug_info, uint32_t *offset_ptr);
|
||||
/// Size in bytes of the unit header.
|
||||
virtual uint32_t getHeaderSize() const { return 11; }
|
||||
|
||||
public:
|
||||
DWARFUnit(const DWARFDebugAbbrev *DA, StringRef IS, StringRef RS,
|
||||
@ -100,12 +102,7 @@ public:
|
||||
DWARFDebugRangeList &RangeList) const;
|
||||
void clear();
|
||||
uint32_t getOffset() const { return Offset; }
|
||||
/// Size in bytes of the compile unit header.
|
||||
virtual uint32_t getSize() const { return 11; }
|
||||
uint32_t getFirstDIEOffset() const { return Offset + getSize(); }
|
||||
uint32_t getNextUnitOffset() const { return Offset + Length + 4; }
|
||||
/// Size in bytes of the .debug_info data associated with this compile unit.
|
||||
size_t getDebugInfoSize() const { return Length + 4 - getSize(); }
|
||||
uint32_t getLength() const { return Length; }
|
||||
uint16_t getVersion() const { return Version; }
|
||||
const DWARFAbbreviationDeclarationSet *getAbbreviations() const {
|
||||
@ -135,6 +132,9 @@ public:
|
||||
DWARFDebugInfoEntryInlinedChain getInlinedChainForAddress(uint64_t Address);
|
||||
|
||||
private:
|
||||
/// Size in bytes of the .debug_info data associated with this compile unit.
|
||||
size_t getDebugInfoSize() const { return Length + 4 - getHeaderSize(); }
|
||||
|
||||
/// extractDIEsIfNeeded - Parses a compile unit and indexes its DIEs if it
|
||||
/// hasn't already been done. Returns the number of DIEs parsed at this call.
|
||||
size_t extractDIEsIfNeeded(bool CUDieOnly);
|
||||
|
Loading…
Reference in New Issue
Block a user