mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-19 02:52:53 +02:00
[DWARF parser] Make a few methods non-public
llvm-svn: 207156
This commit is contained in:
parent
0a5773bee2
commit
09bff5120d
@ -23,7 +23,9 @@ public:
|
|||||||
StringRef SS, StringRef SOS, StringRef AOS,
|
StringRef SS, StringRef SOS, StringRef AOS,
|
||||||
const RelocAddrMap *M, bool LE)
|
const RelocAddrMap *M, bool LE)
|
||||||
: DWARFUnit(DA, IS, RS, SS, SOS, AOS, M, 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);
|
void dump(raw_ostream &OS);
|
||||||
protected:
|
protected:
|
||||||
bool extractImpl(DataExtractor debug_info, uint32_t *offset_ptr) override;
|
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
|
// Set the offset to that of the first DIE and calculate the start of the
|
||||||
// next compilation unit header.
|
// next compilation unit header.
|
||||||
uint32_t Offset = getFirstDIEOffset();
|
uint32_t DIEOffset = Offset + getHeaderSize();
|
||||||
uint32_t NextCUOffset = getNextUnitOffset();
|
uint32_t NextCUOffset = getNextUnitOffset();
|
||||||
DWARFDebugInfoEntryMinimal DIE;
|
DWARFDebugInfoEntryMinimal DIE;
|
||||||
uint32_t Depth = 0;
|
uint32_t Depth = 0;
|
||||||
bool IsCUDie = true;
|
bool IsCUDie = true;
|
||||||
|
|
||||||
while (Offset < NextCUOffset && DIE.extractFast(this, &Offset)) {
|
while (DIEOffset < NextCUOffset && DIE.extractFast(this, &DIEOffset)) {
|
||||||
if (IsCUDie) {
|
if (IsCUDie) {
|
||||||
if (AppendCUDie)
|
if (AppendCUDie)
|
||||||
Dies.push_back(DIE);
|
Dies.push_back(DIE);
|
||||||
@ -207,9 +207,9 @@ void DWARFUnit::extractDIEsToVector(
|
|||||||
// Give a little bit of info if we encounter corrupt DWARF (our offset
|
// 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
|
// should always terminate at or before the start of the next compilation
|
||||||
// unit header).
|
// unit header).
|
||||||
if (Offset > NextCUOffset)
|
if (DIEOffset > NextCUOffset)
|
||||||
fprintf(stderr, "warning: DWARF compile unit extends beyond its "
|
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) {
|
size_t DWARFUnit::extractDIEsIfNeeded(bool CUDieOnly) {
|
||||||
|
@ -59,6 +59,8 @@ class DWARFUnit {
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual bool extractImpl(DataExtractor debug_info, uint32_t *offset_ptr);
|
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:
|
public:
|
||||||
DWARFUnit(const DWARFDebugAbbrev *DA, StringRef IS, StringRef RS,
|
DWARFUnit(const DWARFDebugAbbrev *DA, StringRef IS, StringRef RS,
|
||||||
@ -100,12 +102,7 @@ public:
|
|||||||
DWARFDebugRangeList &RangeList) const;
|
DWARFDebugRangeList &RangeList) const;
|
||||||
void clear();
|
void clear();
|
||||||
uint32_t getOffset() const { return Offset; }
|
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; }
|
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; }
|
uint32_t getLength() const { return Length; }
|
||||||
uint16_t getVersion() const { return Version; }
|
uint16_t getVersion() const { return Version; }
|
||||||
const DWARFAbbreviationDeclarationSet *getAbbreviations() const {
|
const DWARFAbbreviationDeclarationSet *getAbbreviations() const {
|
||||||
@ -135,6 +132,9 @@ public:
|
|||||||
DWARFDebugInfoEntryInlinedChain getInlinedChainForAddress(uint64_t Address);
|
DWARFDebugInfoEntryInlinedChain getInlinedChainForAddress(uint64_t Address);
|
||||||
|
|
||||||
private:
|
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
|
/// 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.
|
/// hasn't already been done. Returns the number of DIEs parsed at this call.
|
||||||
size_t extractDIEsIfNeeded(bool CUDieOnly);
|
size_t extractDIEsIfNeeded(bool CUDieOnly);
|
||||||
|
Loading…
Reference in New Issue
Block a user