LLVM 22.0.0git
ELFObject.h File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/BinaryFormat/ELF.h"
#include "llvm/MC/StringTableBuilder.h"
#include "llvm/ObjCopy/CommonConfig.h"
#include "llvm/Object/ELFObjectFile.h"
#include "llvm/Support/Errc.h"
#include "llvm/Support/FileOutputBuffer.h"
#include "llvm/Support/MemoryBuffer.h"
#include <cstddef>
#include <cstdint>
#include <functional>
#include <memory>
#include <set>
#include <vector>

Go to the source code of this file.

Classes

class  llvm::objcopy::elf::SectionTableRef
class  llvm::objcopy::elf::SectionVisitor
class  llvm::objcopy::elf::MutableSectionVisitor
class  llvm::objcopy::elf::SectionWriter
class  llvm::objcopy::elf::ELFSectionWriter< ELFT >
class  llvm::objcopy::elf::ELFSectionSizer< ELFT >
class  llvm::objcopy::elf::BinarySectionWriter
struct  llvm::objcopy::elf::IHexRecord
class  llvm::objcopy::elf::IHexSectionWriterBase
class  llvm::objcopy::elf::IHexSectionWriter
class  llvm::objcopy::elf::Writer
class  llvm::objcopy::elf::ELFWriter< ELFT >
class  llvm::objcopy::elf::BinaryWriter
class  llvm::objcopy::elf::ASCIIHexWriter
class  llvm::objcopy::elf::IHexWriter
class  llvm::objcopy::elf::SRECWriter
struct  llvm::objcopy::elf::SRecord
class  llvm::objcopy::elf::SRECSectionWriterBase
class  llvm::objcopy::elf::SRECSizeCalculator
class  llvm::objcopy::elf::SRECSectionWriter
class  llvm::objcopy::elf::SectionBase
class  llvm::objcopy::elf::Segment
class  llvm::objcopy::elf::Section
class  llvm::objcopy::elf::OwnedDataSection
class  llvm::objcopy::elf::CompressedSection
class  llvm::objcopy::elf::DecompressedSection
class  llvm::objcopy::elf::StringTableSection
struct  llvm::objcopy::elf::Symbol
class  llvm::objcopy::elf::SectionIndexSection
class  llvm::objcopy::elf::SymbolTableSection
struct  llvm::objcopy::elf::Relocation
class  llvm::objcopy::elf::RelocationSectionBase
class  llvm::objcopy::elf::RelocSectionWithSymtabBase< SymTabType >
class  llvm::objcopy::elf::RelocationSection
class  llvm::objcopy::elf::GroupSection
class  llvm::objcopy::elf::DynamicSymbolTableSection
class  llvm::objcopy::elf::DynamicSection
class  llvm::objcopy::elf::DynamicRelocationSection
class  llvm::objcopy::elf::Reader
class  llvm::objcopy::elf::BasicELFBuilder
class  llvm::objcopy::elf::BinaryELFBuilder
class  llvm::objcopy::elf::IHexELFBuilder
class  llvm::objcopy::elf::ELFBuilder< ELFT >
class  llvm::objcopy::elf::BinaryReader
class  llvm::objcopy::elf::IHexReader
class  llvm::objcopy::elf::ELFReader
class  llvm::objcopy::elf::Object
class  llvm::objcopy::elf::Binary
class  llvm::objcopy::elf::ELFFile< ELFT >
class  llvm::objcopy::elf::ELFObjectFile< ELFT >
class  llvm::objcopy::elf::OwningBinary< T >

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
namespace  llvm::objcopy
namespace  llvm::objcopy::elf

Macros

#define MAKE_SEC_WRITER_FRIEND

Typedefs

using llvm::objcopy::elf::IHexLineData = SmallVector<char, 64>
using llvm::objcopy::elf::SRecLineData = SmallVector<char, 64>

Enumerations

enum  llvm::objcopy::elf::ElfType { llvm::objcopy::elf::ELFT_ELF32LE , llvm::objcopy::elf::ELFT_ELF64LE , llvm::objcopy::elf::ELFT_ELF32BE , llvm::objcopy::elf::ELFT_ELF64BE }
enum  llvm::objcopy::elf::SymbolShndxType {
  llvm::objcopy::elf::SYMBOL_SIMPLE_INDEX = 0 , llvm::objcopy::elf::SYMBOL_ABS = ELF::SHN_ABS , llvm::objcopy::elf::SYMBOL_COMMON = ELF::SHN_COMMON , llvm::objcopy::elf::SYMBOL_LOPROC = ELF::SHN_LOPROC ,
  llvm::objcopy::elf::SYMBOL_AMDGPU_LDS = ELF::SHN_AMDGPU_LDS , llvm::objcopy::elf::SYMBOL_HEXAGON_SCOMMON = ELF::SHN_HEXAGON_SCOMMON , llvm::objcopy::elf::SYMBOL_HEXAGON_SCOMMON_2 = ELF::SHN_HEXAGON_SCOMMON_2 , llvm::objcopy::elf::SYMBOL_HEXAGON_SCOMMON_4 = ELF::SHN_HEXAGON_SCOMMON_4 ,
  llvm::objcopy::elf::SYMBOL_HEXAGON_SCOMMON_8 = ELF::SHN_HEXAGON_SCOMMON_8 , llvm::objcopy::elf::SYMBOL_MIPS_ACOMMON = ELF::SHN_MIPS_ACOMMON , llvm::objcopy::elf::SYMBOL_MIPS_TEXT = ELF::SHN_MIPS_TEXT , llvm::objcopy::elf::SYMBOL_MIPS_DATA = ELF::SHN_MIPS_DATA ,
  llvm::objcopy::elf::SYMBOL_MIPS_SCOMMON = ELF::SHN_MIPS_SCOMMON , llvm::objcopy::elf::SYMBOL_MIPS_SUNDEFINED = ELF::SHN_MIPS_SUNDEFINED , llvm::objcopy::elf::SYMBOL_HIPROC = ELF::SHN_HIPROC , llvm::objcopy::elf::SYMBOL_LOOS = ELF::SHN_LOOS ,
  llvm::objcopy::elf::SYMBOL_HIOS = ELF::SHN_HIOS , llvm::objcopy::elf::SYMBOL_XINDEX = ELF::SHN_XINDEX
}

Macro Definition Documentation

◆ MAKE_SEC_WRITER_FRIEND

#define MAKE_SEC_WRITER_FRIEND
Value:
friend class SectionWriter; \
friend class IHexSectionWriterBase; \
friend class IHexSectionWriter; \
friend class SRECSectionWriter; \
friend class SRECSectionWriterBase; \
friend class SRECSizeCalculator; \
template <class ELFT> friend class ELFSectionWriter; \
template <class ELFT> friend class ELFSectionSizer;

Definition at line 171 of file ELFObject.h.