Added accessors for getting coff_relocation info

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158675 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Marshall Clow 2012-06-18 19:47:16 +00:00
parent 7e99a60857
commit 9ac0f1d725
3 changed files with 14 additions and 1 deletions

View File

@ -170,7 +170,8 @@ public:
const coff_section *getCOFFSection(section_iterator &It) const;
const coff_symbol *getCOFFSymbol(symbol_iterator &It) const;
const coff_relocation *getCOFFRelocation(relocation_iterator &It) const;
virtual uint8_t getBytesInAddress() const;
virtual StringRef getFileFormatName() const;
virtual unsigned getArch() const;

View File

@ -126,6 +126,8 @@ public:
///
/// This is for display purposes only.
error_code getValueString(SmallVectorImpl<char> &Result) const;
DataRefImpl getRawDataRefImpl() const;
};
typedef content_iterator<RelocationRef> relocation_iterator;
@ -570,6 +572,11 @@ inline error_code RelocationRef::getValueString(SmallVectorImpl<char> &Result)
inline error_code RelocationRef::getHidden(bool &Result) const {
return OwningObject->getRelocationHidden(RelocationPimpl, Result);
}
inline DataRefImpl RelocationRef::getRawDataRefImpl() const {
return RelocationPimpl;
}
// Inline function definitions.
inline LibraryRef::LibraryRef(DataRefImpl LibraryP, const ObjectFile *Owner)
: LibraryPimpl(LibraryP)

View File

@ -724,6 +724,11 @@ const coff_symbol *COFFObjectFile::getCOFFSymbol(symbol_iterator &It) const {
return toSymb(It->getRawDataRefImpl());
}
const coff_relocation *COFFObjectFile::getCOFFRelocation(
relocation_iterator &It) const {
return toRel(It->getRawDataRefImpl());
}
#define LLVM_COFF_SWITCH_RELOC_TYPE_NAME(enum) \
case COFF::enum: res = #enum; break;