LLVM 20.0.0git
|
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/Object/Binary.h"
#include "llvm/Object/COFF.h"
#include "llvm/Object/Error.h"
#include "llvm/Object/ObjectFile.h"
#include "llvm/Object/WindowsMachineFlag.h"
#include "llvm/Support/BinaryStreamReader.h"
#include "llvm/Support/Endian.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/MemoryBufferRef.h"
#include <algorithm>
#include <cassert>
#include <cinttypes>
#include <cstddef>
#include <cstring>
#include <limits>
#include <memory>
#include <system_error>
Go to the source code of this file.
Macros | |
#define | LLVM_COFF_SWITCH_RELOC_TYPE_NAME(reloc_type) |
#define | RETURN_IF_ERROR(Expr) |
Functions | |
static bool | checkSize (MemoryBufferRef M, std::error_code &EC, uint64_t Size) |
template<typename T > | |
static Error | getObject (const T *&Obj, MemoryBufferRef M, const void *Ptr, const uint64_t Size=sizeof(T)) |
static bool | decodeBase64StringEntry (StringRef Str, uint32_t &Result) |
static uint32_t | getNumberOfRelocations (const coff_section *Sec, MemoryBufferRef M, const uint8_t *base) |
static const coff_relocation * | getFirstReloc (const coff_section *Sec, MemoryBufferRef M, const uint8_t *Base) |
static Error | ignoreStrippedErrors (Error E) |
static imported_symbol_iterator | makeImportedSymbolIterator (const COFFObjectFile *Object, uintptr_t Ptr, int Index) |
static imported_symbol_iterator | importedSymbolBegin (uint32_t RVA, const COFFObjectFile *Object) |
static imported_symbol_iterator | importedSymbolEnd (uint32_t RVA, const COFFObjectFile *Object) |
#define LLVM_COFF_SWITCH_RELOC_TYPE_NAME | ( | reloc_type | ) |
Definition at line 1377 of file COFFObjectFile.cpp.
#define RETURN_IF_ERROR | ( | Expr | ) |
Definition at line 2203 of file COFFObjectFile.cpp.
|
static |
Definition at line 46 of file COFFObjectFile.cpp.
References Size.
Definition at line 68 of file COFFObjectFile.cpp.
References assert().
Referenced by llvm::object::COFFObjectFile::getSectionName().
|
static |
Definition at line 376 of file COFFObjectFile.cpp.
References llvm::sampleprof::Base, llvm::object::Binary::checkOffset(), llvm::consumeError(), getNumberOfRelocations(), llvm::object::coff_section::hasExtendedRelocations(), and llvm::object::coff_section::PointerToRelocations.
Referenced by llvm::object::COFFObjectFile::getRelocations(), llvm::object::COFFObjectFile::section_rel_begin(), and llvm::object::COFFObjectFile::section_rel_end().
|
static |
Definition at line 355 of file COFFObjectFile.cpp.
References llvm::consumeError(), llvm::object::getObject(), llvm::object::coff_section::hasExtendedRelocations(), llvm::object::coff_section::NumberOfRelocations, llvm::object::coff_section::PointerToRelocations, and llvm::object::coff_relocation::VirtualAddress.
Referenced by getFirstReloc(), llvm::object::COFFObjectFile::getRelocations(), and llvm::object::COFFObjectFile::section_rel_end().
|
static |
Definition at line 57 of file COFFObjectFile.cpp.
References Addr, llvm::object::Binary::checkOffset(), Ptr, Size, and llvm::Error::success().
Definition at line 879 of file COFFObjectFile.cpp.
References llvm::consumeError(), llvm::Error::isA(), and llvm::Error::success().
|
static |
Definition at line 1593 of file COFFObjectFile.cpp.
References llvm::cantFail(), and makeImportedSymbolIterator().
Referenced by llvm::object::ImportDirectoryEntryRef::imported_symbol_begin(), llvm::object::DelayImportDirectoryEntryRef::imported_symbol_begin(), and llvm::object::ImportDirectoryEntryRef::lookup_table_begin().
|
static |
Definition at line 1601 of file COFFObjectFile.cpp.
References llvm::cantFail(), and makeImportedSymbolIterator().
Referenced by llvm::object::ImportDirectoryEntryRef::imported_symbol_end(), llvm::object::DelayImportDirectoryEntryRef::imported_symbol_end(), and llvm::object::ImportDirectoryEntryRef::lookup_table_end().
|
static |
Definition at line 1582 of file COFFObjectFile.cpp.
Referenced by importedSymbolBegin(), and importedSymbolEnd().