mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-18 01:17:46 +00:00
libObject/COFF: Add a function to get pointers to relocation entries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@240610 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a0b4ef1f70
commit
7d6e44bde8
@ -757,6 +757,9 @@ public:
|
||||
llvm_unreachable("null symbol table pointer!");
|
||||
}
|
||||
|
||||
iterator_range<const coff_relocation *>
|
||||
getRelocations(const coff_section *Sec) const;
|
||||
|
||||
std::error_code getSectionName(const coff_section *Sec, StringRef &Res) const;
|
||||
uint64_t getSectionSize(const coff_section *Sec) const;
|
||||
std::error_code getSectionContents(const coff_section *Sec,
|
||||
|
@ -16,6 +16,7 @@
|
||||
#include "llvm/ADT/SmallString.h"
|
||||
#include "llvm/ADT/StringSwitch.h"
|
||||
#include "llvm/ADT/Triple.h"
|
||||
#include "llvm/ADT/iterator_range.h"
|
||||
#include "llvm/Support/COFF.h"
|
||||
#include "llvm/Support/Debug.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
@ -1029,6 +1030,15 @@ COFFObjectFile::getCOFFRelocation(const RelocationRef &Reloc) const {
|
||||
return toRel(Reloc.getRawDataRefImpl());
|
||||
}
|
||||
|
||||
iterator_range<const coff_relocation *>
|
||||
COFFObjectFile::getRelocations(const coff_section *Sec) const {
|
||||
const coff_relocation *I = getFirstReloc(Sec, Data, base());
|
||||
const coff_relocation *E = I;
|
||||
if (I)
|
||||
E += getNumberOfRelocations(Sec, Data, base());
|
||||
return make_range(I, E);
|
||||
}
|
||||
|
||||
#define LLVM_COFF_SWITCH_RELOC_TYPE_NAME(reloc_type) \
|
||||
case COFF::reloc_type: \
|
||||
Res = #reloc_type; \
|
||||
|
Loading…
Reference in New Issue
Block a user