diff options
author | David Majnemer <david.majnemer@gmail.com> | 2016-07-31 19:40:02 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2016-07-31 19:40:02 +0000 |
commit | 600495266100380fd7152feb7333b0353ce839b7 (patch) | |
tree | 4d7771943ea1abd739a39976bdaf287ff11379f4 /llvm/lib/Object/COFFObjectFile.cpp | |
parent | 75534e23d000a754e79b083480f8306a5e2a430d (diff) | |
download | bcm5719-llvm-600495266100380fd7152feb7333b0353ce839b7.tar.gz bcm5719-llvm-600495266100380fd7152feb7333b0353ce839b7.zip |
[COFF] Expose iterators for ImportAddressTableRVA
Patch by Bandzi Michal!
llvm-svn: 277298
Diffstat (limited to 'llvm/lib/Object/COFFObjectFile.cpp')
-rw-r--r-- | llvm/lib/Object/COFFObjectFile.cpp | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/llvm/lib/Object/COFFObjectFile.cpp b/llvm/lib/Object/COFFObjectFile.cpp index 07cff3b06f1..668f4d04a51 100644 --- a/llvm/lib/Object/COFFObjectFile.cpp +++ b/llvm/lib/Object/COFFObjectFile.cpp @@ -1250,13 +1250,13 @@ importedSymbolEnd(uint32_t RVA, const COFFObjectFile *Object) { imported_symbol_iterator ImportDirectoryEntryRef::imported_symbol_begin() const { - return importedSymbolBegin(ImportTable[Index].ImportLookupTableRVA, + return importedSymbolBegin(ImportTable[Index].ImportAddressTableRVA, OwningObject); } imported_symbol_iterator ImportDirectoryEntryRef::imported_symbol_end() const { - return importedSymbolEnd(ImportTable[Index].ImportLookupTableRVA, + return importedSymbolEnd(ImportTable[Index].ImportAddressTableRVA, OwningObject); } @@ -1265,6 +1265,21 @@ ImportDirectoryEntryRef::imported_symbols() const { return make_range(imported_symbol_begin(), imported_symbol_end()); } +imported_symbol_iterator ImportDirectoryEntryRef::lookup_table_begin() const { + return importedSymbolBegin(ImportTable[Index].ImportLookupTableRVA, + OwningObject); +} + +imported_symbol_iterator ImportDirectoryEntryRef::lookup_table_end() const { + return importedSymbolEnd(ImportTable[Index].ImportLookupTableRVA, + OwningObject); +} + +iterator_range<imported_symbol_iterator> +ImportDirectoryEntryRef::lookup_table_symbols() const { + return make_range(lookup_table_begin(), lookup_table_end()); +} + std::error_code ImportDirectoryEntryRef::getName(StringRef &Result) const { uintptr_t IntPtr = 0; if (std::error_code EC = |