LLVM 18.0.0git
|
#include "llvm/Object/Wasm.h"
Classes | |
struct | ReadContext |
WasmObjectFile::WasmObjectFile | ( | MemoryBufferRef | Object, |
Error & | Err | ||
) |
Definition at line 306 of file WasmObjectFile.cpp.
References llvm::StringRef::bytes_begin(), llvm::object::WasmObjectFile::ReadContext::End, llvm::object::Binary::getData(), llvm::wasm::WasmObjectHeader::Magic, llvm::object::parse_failed, llvm::object::WasmObjectFile::ReadContext::Ptr, readSection(), readUint32(), llvm::StringRef::size(), llvm::object::WasmObjectFile::ReadContext::Start, llvm::StringRef::substr(), llvm::wasm::WasmObjectHeader::Version, and llvm::wasm::WasmVersion.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1849 of file WasmObjectFile.cpp.
References llvm::Triple::wasm32, and llvm::Triple::wasm64.
|
overridevirtual |
The number of bytes used to represent an address in this object file format.
Implements llvm::object::ObjectFile.
Definition at line 1843 of file WasmObjectFile.cpp.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1662 of file WasmObjectFile.cpp.
References llvm_unreachable.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1853 of file WasmObjectFile.cpp.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1847 of file WasmObjectFile.cpp.
const wasm::WasmObjectHeader & WasmObjectFile::getHeader | ( | ) | const |
Definition at line 1566 of file WasmObjectFile.cpp.
Referenced by llvm::objcopy::wasm::Reader::create().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 159 of file Wasm.h.
Referenced by llvm::objcopy::wasm::Reader::create().
|
inline |
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1792 of file WasmObjectFile.cpp.
References getWasmRelocation(), llvm::wasm::WasmRelocation::Offset, and llvm::Ref.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1797 of file WasmObjectFile.cpp.
References getWasmRelocation(), llvm::wasm::WasmRelocation::Index, llvm::Ref, Sym, symbol_end(), llvm::object::ObjectFile::SymbolRef, and llvm::wasm::WasmRelocation::Type.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1807 of file WasmObjectFile.cpp.
References getWasmRelocation(), llvm::Ref, and llvm::wasm::WasmRelocation::Type.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1812 of file WasmObjectFile.cpp.
References llvm::StringRef::begin(), llvm::StringRef::end(), getWasmRelocation(), llvm::Ref, and llvm::wasm::WasmRelocation::Type.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1736 of file WasmObjectFile.cpp.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1755 of file WasmObjectFile.cpp.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1748 of file WasmObjectFile.cpp.
References llvm::object::DataRefImpl::a, llvm::object::WasmSection::Content, and llvm::object::DataRefImpl::d.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1738 of file WasmObjectFile.cpp.
References llvm::object::DataRefImpl::a, and llvm::object::DataRefImpl::d.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1727 of file WasmObjectFile.cpp.
References llvm::object::DataRefImpl::a, llvm::createStringError(), llvm::object::DataRefImpl::d, llvm::object::invalid_section_index, llvm::object::WasmSection::Name, llvm::wasm::sectionTypeToString(), llvm::object::WasmSection::Type, llvm::wasm::WASM_SEC_CUSTOM, and llvm::wasm::WASM_SEC_LAST_KNOWN.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1742 of file WasmObjectFile.cpp.
References llvm::object::DataRefImpl::a, llvm::object::WasmSection::Content, llvm::object::DataRefImpl::d, and llvm::ArrayRef< T >::size().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1616 of file WasmObjectFile.cpp.
References llvm::wasm::WasmFunction::CodeSectionOffset, llvm::object::ObjectFile::getSymbolValue(), getWasmSymbol(), Sym, and llvm::wasm::WASM_SYMBOL_TYPE_FUNCTION.
|
overridevirtual |
Reimplemented from llvm::object::ObjectFile.
Definition at line 1657 of file WasmObjectFile.cpp.
References llvm_unreachable.
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 1572 of file WasmObjectFile.cpp.
References llvm::dbgs(), getWasmSymbol(), LLVM_DEBUG, llvm::object::BasicSymbolRef::SF_Executable, llvm::object::BasicSymbolRef::SF_Global, llvm::object::BasicSymbolRef::SF_Hidden, llvm::object::BasicSymbolRef::SF_None, llvm::object::BasicSymbolRef::SF_Undefined, llvm::object::BasicSymbolRef::SF_Weak, and Sym.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1612 of file WasmObjectFile.cpp.
References getWasmSymbol(), llvm::object::WasmSymbol::Info, and llvm::wasm::WasmSymbolInfo::Name.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1691 of file WasmObjectFile.cpp.
References getWasmSymbol(), llvm::Ref, section_end(), llvm::object::ObjectFile::SectionRef, and Sym.
Definition at line 1701 of file WasmObjectFile.cpp.
References getWasmSymbol(), and Sym.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1668 of file WasmObjectFile.cpp.
References getWasmSymbol(), llvm_unreachable, llvm::object::SymbolRef::ST_Data, llvm::object::SymbolRef::ST_Debug, llvm::object::SymbolRef::ST_Function, llvm::object::SymbolRef::ST_Other, Sym, llvm::wasm::WASM_SYMBOL_TYPE_DATA, llvm::wasm::WASM_SYMBOL_TYPE_FUNCTION, llvm::wasm::WASM_SYMBOL_TYPE_GLOBAL, llvm::wasm::WASM_SYMBOL_TYPE_SECTION, llvm::wasm::WASM_SYMBOL_TYPE_TABLE, and llvm::wasm::WASM_SYMBOL_TYPE_TAG.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1653 of file WasmObjectFile.cpp.
References getWasmSymbol(), and getWasmSymbolValue().
|
inline |
const wasm::WasmRelocation & WasmObjectFile::getWasmRelocation | ( | const RelocationRef & | Ref | ) | const |
Definition at line 1872 of file WasmObjectFile.cpp.
References getWasmRelocation(), and llvm::Ref.
Referenced by getRelocationOffset(), getRelocationSymbol(), getRelocationType(), getRelocationTypeName(), and getWasmRelocation().
const WasmSection & WasmObjectFile::getWasmSection | ( | const SectionRef & | Section | ) | const |
Definition at line 1867 of file WasmObjectFile.cpp.
References getWasmSection().
Referenced by llvm::objcopy::wasm::Reader::create(), getWasmSection(), isSectionData(), isSectionText(), and section_rel_end().
const WasmSymbol & WasmObjectFile::getWasmSymbol | ( | const DataRefImpl & | Symb | ) | const |
Definition at line 1604 of file WasmObjectFile.cpp.
References llvm::object::DataRefImpl::b, and llvm::object::DataRefImpl::d.
Referenced by getSymbolAddress(), getSymbolFlags(), getSymbolName(), getSymbolSection(), getSymbolSectionId(), getSymbolType(), getSymbolValueImpl(), and getWasmSymbol().
const WasmSymbol & WasmObjectFile::getWasmSymbol | ( | const SymbolRef & | Symbol | ) | const |
Definition at line 1608 of file WasmObjectFile.cpp.
References llvm::object::BasicSymbolRef::getRawDataRefImpl(), and getWasmSymbol().
uint64_t WasmObjectFile::getWasmSymbolValue | ( | const WasmSymbol & | Sym | ) | const |
Definition at line 1625 of file WasmObjectFile.cpp.
References llvm::wasm::WasmInitExpr::Extended, llvm::wasm::WasmInitExpr::Inst, llvm::wasm::WasmInitExprMVP::Int32, llvm::wasm::WasmInitExprMVP::Int64, llvm_unreachable, llvm::wasm::WasmDataSegment::Offset, llvm::wasm::WasmInitExprMVP::Opcode, Sym, llvm::wasm::WasmInitExprMVP::Value, llvm::wasm::WASM_OPCODE_I32_CONST, llvm::wasm::WASM_OPCODE_I64_CONST, llvm::wasm::WASM_SYMBOL_TYPE_DATA, llvm::wasm::WASM_SYMBOL_TYPE_FUNCTION, llvm::wasm::WASM_SYMBOL_TYPE_GLOBAL, llvm::wasm::WASM_SYMBOL_TYPE_SECTION, llvm::wasm::WASM_SYMBOL_TYPE_TABLE, and llvm::wasm::WASM_SYMBOL_TYPE_TAG.
Referenced by getSymbolValueImpl().
|
inline |
|
inline |
|
inlineoverridevirtual |
Implements llvm::object::SymbolicFile.
|
overridevirtual |
True if this is a relocatable object (.o/.obj).
Implements llvm::object::ObjectFile.
Definition at line 1857 of file WasmObjectFile.cpp.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1771 of file WasmObjectFile.cpp.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1759 of file WasmObjectFile.cpp.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1767 of file WasmObjectFile.cpp.
References getWasmSection(), llvm::object::WasmSection::Type, and llvm::wasm::WASM_SEC_DATA.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1763 of file WasmObjectFile.cpp.
References getWasmSection(), llvm::object::WasmSection::Type, and llvm::wasm::WASM_SEC_CODE.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1773 of file WasmObjectFile.cpp.
bool WasmObjectFile::isSharedObject | ( | ) | const |
Definition at line 1859 of file WasmObjectFile.cpp.
|
inline |
|
inline |
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1790 of file WasmObjectFile.cpp.
References llvm::object::DataRefImpl::b, and llvm::object::DataRefImpl::d.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1725 of file WasmObjectFile.cpp.
References llvm::object::DataRefImpl::a, and llvm::object::DataRefImpl::d.
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 1570 of file WasmObjectFile.cpp.
References llvm::object::DataRefImpl::b, and llvm::object::DataRefImpl::d.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1831 of file WasmObjectFile.cpp.
References llvm::Ref, and llvm::object::ObjectFile::SectionRef.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1837 of file WasmObjectFile.cpp.
References llvm::Ref, and llvm::object::ObjectFile::SectionRef.
Referenced by getSymbolSection().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1775 of file WasmObjectFile.cpp.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, llvm::Ref, and llvm::object::ObjectFile::RelocationRef.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1782 of file WasmObjectFile.cpp.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, getWasmSection(), llvm::Ref, llvm::object::ObjectFile::RelocationRef, and llvm::object::WasmSection::Relocations.
|
inline |
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 1590 of file WasmObjectFile.cpp.
References llvm::Ref.
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 1597 of file WasmObjectFile.cpp.
References llvm::Ref.
Referenced by getRelocationSymbol().
|
inline |
|
inline |
|
inline |
|
inline |