#include "llvm/Object/ELF.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/BinaryFormat/ELF.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/DataExtractor.h"
#include "llvm/BinaryFormat/ELFRelocs/M68k.def"
#include "llvm/BinaryFormat/ELFRelocs/x86_64.def"
#include "llvm/BinaryFormat/ELFRelocs/i386.def"
#include "llvm/BinaryFormat/ELFRelocs/Mips.def"
#include "llvm/BinaryFormat/ELFRelocs/AArch64.def"
#include "llvm/BinaryFormat/ELFRelocs/ARM.def"
#include "llvm/BinaryFormat/ELFRelocs/ARC.def"
#include "llvm/BinaryFormat/ELFRelocs/AVR.def"
#include "llvm/BinaryFormat/ELFRelocs/Hexagon.def"
#include "llvm/BinaryFormat/ELFRelocs/Lanai.def"
#include "llvm/BinaryFormat/ELFRelocs/PowerPC.def"
#include "llvm/BinaryFormat/ELFRelocs/PowerPC64.def"
#include "llvm/BinaryFormat/ELFRelocs/RISCV.def"
#include "llvm/BinaryFormat/ELFRelocs/SystemZ.def"
#include "llvm/BinaryFormat/ELFRelocs/Sparc.def"
#include "llvm/BinaryFormat/ELFRelocs/AMDGPU.def"
#include "llvm/BinaryFormat/ELFRelocs/BPF.def"
#include "llvm/BinaryFormat/ELFRelocs/MSP430.def"
#include "llvm/BinaryFormat/ELFRelocs/VE.def"
#include "llvm/BinaryFormat/ELFRelocs/CSKY.def"
#include "llvm/BinaryFormat/ELFRelocs/LoongArch.def"
#include "llvm/BinaryFormat/ELFRelocs/Xtensa.def"
#include "llvm/BinaryFormat/DynamicTags.def"
Go to the source code of this file.
|
#define | STRINGIFY_ENUM_CASE(ns, name) |
|
#define | ELF_RELOC(name, value) STRINGIFY_ENUM_CASE(ELF, name) |
|
#define | DYNAMIC_STRINGIFY_ENUM(tag, value) |
|
#define | DYNAMIC_TAG(n, v) |
|
#define | AARCH64_DYNAMIC_TAG(name, value) DYNAMIC_STRINGIFY_ENUM(name, value) |
|
#define | HEXAGON_DYNAMIC_TAG(name, value) DYNAMIC_STRINGIFY_ENUM(name, value) |
|
#define | MIPS_DYNAMIC_TAG(name, value) DYNAMIC_STRINGIFY_ENUM(name, value) |
|
#define | PPC_DYNAMIC_TAG(name, value) DYNAMIC_STRINGIFY_ENUM(name, value) |
|
#define | PPC64_DYNAMIC_TAG(name, value) DYNAMIC_STRINGIFY_ENUM(name, value) |
|
#define | RISCV_DYNAMIC_TAG(name, value) DYNAMIC_STRINGIFY_ENUM(name, value) |
|
#define | AARCH64_DYNAMIC_TAG(name, value) |
|
#define | MIPS_DYNAMIC_TAG(name, value) |
|
#define | HEXAGON_DYNAMIC_TAG(name, value) |
|
#define | PPC_DYNAMIC_TAG(name, value) |
|
#define | PPC64_DYNAMIC_TAG(name, value) |
|
#define | RISCV_DYNAMIC_TAG(name, value) |
|
#define | DYNAMIC_TAG_MARKER(name, value) |
|
#define | DYNAMIC_TAG(name, value) case value: return #name; |
|
◆ AARCH64_DYNAMIC_TAG [1/2]
◆ AARCH64_DYNAMIC_TAG [2/2]
◆ DYNAMIC_STRINGIFY_ENUM
#define DYNAMIC_STRINGIFY_ENUM |
( |
|
tag, |
|
|
|
value |
|
) |
| |
Value:
return #tag;
Given that RA is a live value
◆ DYNAMIC_TAG [1/2]
#define DYNAMIC_TAG |
( |
|
n, |
|
|
|
v |
|
) |
| |
◆ DYNAMIC_TAG [2/2]
◆ DYNAMIC_TAG_MARKER
◆ ELF_RELOC
◆ HEXAGON_DYNAMIC_TAG [1/2]
◆ HEXAGON_DYNAMIC_TAG [2/2]
◆ MIPS_DYNAMIC_TAG [1/2]
◆ MIPS_DYNAMIC_TAG [2/2]
◆ PPC64_DYNAMIC_TAG [1/2]
◆ PPC64_DYNAMIC_TAG [2/2]
◆ PPC_DYNAMIC_TAG [1/2]
◆ PPC_DYNAMIC_TAG [2/2]
◆ RISCV_DYNAMIC_TAG [1/2]
◆ RISCV_DYNAMIC_TAG [2/2]
◆ STRINGIFY_ENUM_CASE
#define STRINGIFY_ENUM_CASE |
( |
|
ns, |
|
|
|
name |
|
) |
| |
Value:
Definition at line 18 of file ELF.cpp.
◆ decodeBBAddrMapImpl()
Definition at line 736 of file ELF.cpp.
References Address, assert(), BrProb, Content, llvm::object::createError(), llvm::object::BBAddrMap::BBEntry::Metadata::decode(), llvm::object::BBAddrMap::Features::decode(), llvm::object::describe(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::ELF::ET_REL, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), FuncEntryCount, llvm::object::ELFFile< ELFT >::getHeader(), llvm::BranchProbability::getRaw(), llvm::object::ELFFile< ELFT >::getSectionContents(), I, llvm::object::ELFFile< ELFT >::isLE(), llvm::joinErrors(), llvm::Offset, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::object::ELFFile< ELFT >::relas(), llvm::ELF::SHT_LLVM_BB_ADDR_MAP, Size, llvm::Error::success(), llvm::DataExtractor::Cursor::takeError(), llvm::Expected< T >::takeError(), llvm::DataExtractor::Cursor::tell(), llvm::toString(), and llvm::Twine::utohexstr().
Referenced by llvm::object::ELFFile< ELFT >::decodeBBAddrMap().
◆ readULEB128As()
template<typename IntTy , std::enable_if_t< std::is_unsigned_v< IntTy >, int > = 0>