LLVM
10.0.0svn
|
#include "llvm/Object/Wasm.h"
Classes | |
struct | ReadContext |
WasmObjectFile::WasmObjectFile | ( | MemoryBufferRef | Object, |
Error & | Err | ||
) |
Definition at line 247 of file WasmObjectFile.cpp.
Definition at line 129 of file Wasm.h.
References llvm::object::Binary::isWasm().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1529 of file WasmObjectFile.cpp.
References llvm::Triple::wasm32.
|
overridevirtual |
The number of bytes used to represent an address in this object file format.
Implements llvm::object::ObjectFile.
Definition at line 1525 of file WasmObjectFile.cpp.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1332 of file WasmObjectFile.cpp.
References llvm_unreachable.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1531 of file WasmObjectFile.cpp.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1527 of file WasmObjectFile.cpp.
const wasm::WasmObjectHeader & WasmObjectFile::getHeader | ( | ) | const |
Definition at line 1244 of file WasmObjectFile.cpp.
|
inline |
|
inline |
Definition at line 154 of file Wasm.h.
References getFeatures(), getSymbolName(), and getSymbolType().
|
inline |
|
inline |
|
inline |
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1474 of file WasmObjectFile.cpp.
References getWasmRelocation(), and llvm::wasm::WasmRelocation::Offset.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1479 of file WasmObjectFile.cpp.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, getWasmRelocation(), llvm::wasm::WasmRelocation::Index, symbol_end(), llvm::object::ObjectFile::SymbolRef, and llvm::wasm::WasmRelocation::Type.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1489 of file WasmObjectFile.cpp.
References getWasmRelocation(), and llvm::wasm::WasmRelocation::Type.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1494 of file WasmObjectFile.cpp.
References llvm::SmallVectorImpl< T >::append(), llvm::StringRef::begin(), llvm::StringRef::end(), getWasmRelocation(), and llvm::wasm::WasmRelocation::Type.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1416 of file WasmObjectFile.cpp.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1435 of file WasmObjectFile.cpp.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1428 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 1418 of file WasmObjectFile.cpp.
References llvm::object::DataRefImpl::a, and llvm::object::DataRefImpl::d.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1389 of file WasmObjectFile.cpp.
References llvm::object::DataRefImpl::a, llvm::createStringError(), llvm::object::DataRefImpl::d, ECase, llvm::AMDGPUISD::EXPORT, llvm::NVPTX::PTXLdStInstCode::GLOBAL, llvm::object::invalid_section_index, llvm::object::WasmSection::Name, llvm::object::WasmSection::Type, and llvm::wasm::WASM_SEC_CUSTOM.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1422 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 1294 of file WasmObjectFile.cpp.
References llvm::wasm::WasmFunction::CodeSectionOffset, llvm::object::ObjectFile::getSymbolValue(), getWasmSymbol(), and llvm::wasm::WASM_SYMBOL_TYPE_FUNCTION.
|
overridevirtual |
Reimplemented from llvm::object::ObjectFile.
Definition at line 1327 of file WasmObjectFile.cpp.
References llvm_unreachable.
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 1250 of file WasmObjectFile.cpp.
References llvm::dbgs(), getWasmSymbol(), llvm::object::WasmSymbol::isBindingLocal(), llvm::object::WasmSymbol::isBindingWeak(), llvm::object::WasmSymbol::isDefined(), llvm::object::WasmSymbol::isHidden(), llvm::object::WasmSymbol::isTypeFunction(), 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, and llvm::object::BasicSymbolRef::SF_Weak.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1290 of file WasmObjectFile.cpp.
References getWasmSymbol(), llvm::object::WasmSymbol::Info, and llvm::wasm::WasmSymbolInfo::Name.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1359 of file WasmObjectFile.cpp.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::d, llvm::wasm::WasmSymbolInfo::ElementIndex, getWasmSymbol(), llvm::object::WasmSymbol::Info, llvm::object::WasmSymbol::isUndefined(), llvm::wasm::WasmSymbolInfo::Kind, llvm_unreachable, llvm::Ref, section_end(), llvm::object::ObjectFile::SectionRef, llvm::wasm::WASM_SYMBOL_TYPE_DATA, llvm::wasm::WASM_SYMBOL_TYPE_EVENT, llvm::wasm::WASM_SYMBOL_TYPE_FUNCTION, llvm::wasm::WASM_SYMBOL_TYPE_GLOBAL, and llvm::wasm::WASM_SYMBOL_TYPE_SECTION.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1338 of file WasmObjectFile.cpp.
References getWasmSymbol(), llvm::object::WasmSymbol::Info, llvm::wasm::WasmSymbolInfo::Kind, llvm_unreachable, llvm::object::SymbolRef::ST_Data, llvm::object::SymbolRef::ST_Debug, llvm::object::SymbolRef::ST_Function, llvm::object::SymbolRef::ST_Other, llvm::wasm::WASM_SYMBOL_TYPE_DATA, llvm::wasm::WASM_SYMBOL_TYPE_EVENT, llvm::wasm::WASM_SYMBOL_TYPE_FUNCTION, llvm::wasm::WASM_SYMBOL_TYPE_GLOBAL, and llvm::wasm::WASM_SYMBOL_TYPE_SECTION.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1323 of file WasmObjectFile.cpp.
References getWasmSymbol(), and getWasmSymbolValue().
|
inline |
const wasm::WasmRelocation & WasmObjectFile::getWasmRelocation | ( | const RelocationRef & | Ref | ) | const |
Definition at line 1550 of file WasmObjectFile.cpp.
References llvm::object::DataRefImpl::a, assert(), llvm::object::DataRefImpl::b, llvm::StringSwitch< T, R >::Case(), llvm::object::DataRefImpl::d, llvm::StringSwitch< T, R >::Default(), llvm::object::WasmSectionOrderChecker::DisallowedPredecessors, llvm::object::RelocationRef::getRawDataRefImpl(), llvm::StringSwitch< T, R >::StartsWith(), llvm::wasm::WASM_SEC_CODE, llvm::wasm::WASM_SEC_CUSTOM, llvm::wasm::WASM_SEC_DATA, llvm::wasm::WASM_SEC_DATACOUNT, llvm::wasm::WASM_SEC_ELEM, llvm::wasm::WASM_SEC_EVENT, llvm::wasm::WASM_SEC_EXPORT, llvm::wasm::WASM_SEC_FUNCTION, llvm::wasm::WASM_SEC_GLOBAL, llvm::wasm::WASM_SEC_IMPORT, llvm::wasm::WASM_SEC_MEMORY, llvm::wasm::WASM_SEC_START, llvm::wasm::WASM_SEC_TABLE, and llvm::wasm::WASM_SEC_TYPE.
Referenced by getRelocationOffset(), getRelocationSymbol(), getRelocationType(), and getRelocationTypeName().
const WasmSection & WasmObjectFile::getWasmSection | ( | const SectionRef & | Section | ) | const |
Definition at line 1545 of file WasmObjectFile.cpp.
References llvm::object::SectionRef::getRawDataRefImpl().
Referenced by isSectionData(), isSectionText(), isSharedObject(), and section_rel_end().
const WasmSymbol & WasmObjectFile::getWasmSymbol | ( | const DataRefImpl & | Symb | ) | const |
Definition at line 1282 of file WasmObjectFile.cpp.
References llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, and llvm::object::BasicSymbolRef::getRawDataRefImpl().
Referenced by getSymbolAddress(), getSymbolFlags(), getSymbolName(), getSymbolSection(), getSymbolType(), and getSymbolValueImpl().
const WasmSymbol& llvm::object::WasmObjectFile::getWasmSymbol | ( | const SymbolRef & | Symbol | ) | const |
uint64_t WasmObjectFile::getWasmSymbolValue | ( | const WasmSymbol & | Sym | ) | const |
Definition at line 1303 of file WasmObjectFile.cpp.
References assert(), llvm::wasm::WasmSymbolInfo::DataRef, llvm::wasm::WasmSymbolInfo::ElementIndex, llvm::object::WasmSymbol::Info, llvm::wasm::WasmInitExpr::Int32, llvm::wasm::WasmSymbolInfo::Kind, llvm_unreachable, llvm::wasm::WasmDataSegment::Offset, llvm::wasm::WasmDataReference::Offset, llvm::wasm::WasmInitExpr::Opcode, llvm::wasm::WasmDataReference::Segment, llvm::wasm::WasmInitExpr::Value, llvm::wasm::WASM_OPCODE_I32_CONST, llvm::wasm::WASM_SYMBOL_TYPE_DATA, llvm::wasm::WASM_SYMBOL_TYPE_EVENT, llvm::wasm::WASM_SYMBOL_TYPE_FUNCTION, llvm::wasm::WASM_SYMBOL_TYPE_GLOBAL, and llvm::wasm::WASM_SYMBOL_TYPE_SECTION.
Referenced by getSymbolValueImpl().
|
inline |
|
inline |
|
overridevirtual |
True if this is a relocatable object (.o/.obj).
Implements llvm::object::ObjectFile.
Definition at line 1535 of file WasmObjectFile.cpp.
|
overridevirtual |
Reimplemented from llvm::object::ObjectFile.
Definition at line 1455 of file WasmObjectFile.cpp.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1451 of file WasmObjectFile.cpp.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1439 of file WasmObjectFile.cpp.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1447 of file WasmObjectFile.cpp.
References getWasmSection(), llvm::object::WasmSection::Type, and llvm::wasm::WASM_SEC_DATA.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1443 of file WasmObjectFile.cpp.
References getWasmSection(), llvm::object::WasmSection::Type, and llvm::wasm::WASM_SEC_CODE.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1453 of file WasmObjectFile.cpp.
bool WasmObjectFile::isSharedObject | ( | ) | const |
Definition at line 1537 of file WasmObjectFile.cpp.
References llvm::object::DataRefImpl::a, assert(), llvm::object::DataRefImpl::d, getWasmSection(), and llvm::Ref.
|
inline |
|
inline |
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1472 of file WasmObjectFile.cpp.
References llvm::object::DataRefImpl::b, and llvm::object::DataRefImpl::d.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1387 of file WasmObjectFile.cpp.
References llvm::object::DataRefImpl::a, and llvm::object::DataRefImpl::d.
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 1248 of file WasmObjectFile.cpp.
References llvm::object::DataRefImpl::b, and llvm::object::DataRefImpl::d.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1513 of file WasmObjectFile.cpp.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::d, llvm::Ref, and llvm::object::ObjectFile::SectionRef.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1519 of file WasmObjectFile.cpp.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::d, llvm::Ref, and llvm::object::ObjectFile::SectionRef.
Referenced by getSymbolSection().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1457 of file WasmObjectFile.cpp.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, and llvm::object::ObjectFile::RelocationRef.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 1464 of file WasmObjectFile.cpp.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, getWasmSection(), llvm::object::ObjectFile::RelocationRef, and llvm::object::WasmSection::Relocations.
|
inline |
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 1268 of file WasmObjectFile.cpp.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, and llvm::Ref.
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 1275 of file WasmObjectFile.cpp.
References llvm::object::DataRefImpl::a, llvm::object::DataRefImpl::b, llvm::object::DataRefImpl::d, and llvm::Ref.
Referenced by getRelocationSymbol().
|
inline |
|
inline |
|
inline |