diff options
author | Marshall Clow <mclow@qualcomm.com> | 2012-06-18 19:47:16 +0000 |
---|---|---|
committer | Marshall Clow <mclow@qualcomm.com> | 2012-06-18 19:47:16 +0000 |
commit | 9ac0f1d7255d7941c331b0a62a830a3b033358fd (patch) | |
tree | ab2d8860acceeda6bfea57294b9af5d525a8b0f4 | |
parent | 7e99a60857532ca2973cf9dabc790d84a2e15a8a (diff) | |
download | external_llvm-9ac0f1d7255d7941c331b0a62a830a3b033358fd.zip external_llvm-9ac0f1d7255d7941c331b0a62a830a3b033358fd.tar.gz external_llvm-9ac0f1d7255d7941c331b0a62a830a3b033358fd.tar.bz2 |
Added accessors for getting coff_relocation info
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158675 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/Object/COFF.h | 3 | ||||
-rw-r--r-- | include/llvm/Object/ObjectFile.h | 7 | ||||
-rw-r--r-- | lib/Object/COFFObjectFile.cpp | 5 |
3 files changed, 14 insertions, 1 deletions
diff --git a/include/llvm/Object/COFF.h b/include/llvm/Object/COFF.h index 29965a9..967420e 100644 --- a/include/llvm/Object/COFF.h +++ b/include/llvm/Object/COFF.h @@ -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; diff --git a/include/llvm/Object/ObjectFile.h b/include/llvm/Object/ObjectFile.h index 4dd7fb5..76b493e 100644 --- a/include/llvm/Object/ObjectFile.h +++ b/include/llvm/Object/ObjectFile.h @@ -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) diff --git a/lib/Object/COFFObjectFile.cpp b/lib/Object/COFFObjectFile.cpp index a8f8d60..8ab54c6 100644 --- a/lib/Object/COFFObjectFile.cpp +++ b/lib/Object/COFFObjectFile.cpp @@ -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; |