LLVM 22.0.0git
llvm::objcopy::elf Namespace Reference

Classes

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

Typedefs

using IHexLineData = SmallVector<char, 64>
using SRecLineData = SmallVector<char, 64>

Enumerations

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

Functions

LLVM_ABI Error executeObjcopyOnIHex (const CommonConfig &Config, const ELFConfig &ELFConfig, MemoryBuffer &In, raw_ostream &Out)
 Apply the transformations described by Config and ELFConfig to In, which must represent an IHex file, and writes the result into Out.
LLVM_ABI Error executeObjcopyOnRawBinary (const CommonConfig &Config, const ELFConfig &ELFConfig, MemoryBuffer &In, raw_ostream &Out)
 Apply the transformations described by Config and ELFConfig to In, which is treated as a raw binary input, and writes the result into Out.
LLVM_ABI Error executeObjcopyOnBinary (const CommonConfig &Config, const ELFConfig &ELFConfig, object::ELFObjectFileBase &In, raw_ostream &Out)
 Apply the transformations described by Config and ELFConfig to In and writes the result into Out.

Typedef Documentation

◆ IHexLineData

Definition at line 197 of file ELFObject.h.

◆ SRecLineData

Definition at line 420 of file ELFObject.h.

Enumeration Type Documentation

◆ ElfType

Enumerator
ELFT_ELF32LE 
ELFT_ELF64LE 
ELFT_ELF32BE 
ELFT_ELF64BE 

Definition at line 71 of file ELFObject.h.

◆ SymbolShndxType

Enumerator
SYMBOL_SIMPLE_INDEX 
SYMBOL_ABS 
SYMBOL_COMMON 
SYMBOL_LOPROC 
SYMBOL_AMDGPU_LDS 
SYMBOL_HEXAGON_SCOMMON 
SYMBOL_HEXAGON_SCOMMON_2 
SYMBOL_HEXAGON_SCOMMON_4 
SYMBOL_HEXAGON_SCOMMON_8 
SYMBOL_MIPS_ACOMMON 
SYMBOL_MIPS_TEXT 
SYMBOL_MIPS_DATA 
SYMBOL_MIPS_SCOMMON 
SYMBOL_MIPS_SUNDEFINED 
SYMBOL_HIPROC 
SYMBOL_LOOS 
SYMBOL_HIOS 
SYMBOL_XINDEX 

Definition at line 741 of file ELFObject.h.

Function Documentation

◆ executeObjcopyOnBinary()

Error llvm::objcopy::elf::executeObjcopyOnBinary ( const CommonConfig & Config,
const ELFConfig & ELFConfig,
object::ELFObjectFileBase & In,
raw_ostream & Out )

◆ executeObjcopyOnIHex()

Error llvm::objcopy::elf::executeObjcopyOnIHex ( const CommonConfig & Config,
const ELFConfig & ELFConfig,
MemoryBuffer & In,
raw_ostream & Out )

Apply the transformations described by Config and ELFConfig to In, which must represent an IHex file, and writes the result into Out.

Returns
any Error encountered whilst performing the operation.

Definition at line 1046 of file ELFObjcopy.cpp.

References llvm::objcopy::elf::Reader::create(), getOutputElfType(), handleArgs(), llvm::objcopy::CommonConfig::OutputArch, llvm::Expected< T >::takeError(), and writeOutput().

◆ executeObjcopyOnRawBinary()

Error llvm::objcopy::elf::executeObjcopyOnRawBinary ( const CommonConfig & Config,
const ELFConfig & ELFConfig,
MemoryBuffer & In,
raw_ostream & Out )

Apply the transformations described by Config and ELFConfig to In, which is treated as a raw binary input, and writes the result into Out.

Returns
any Error encountered whilst performing the operation.

Definition at line 1061 of file ELFObjcopy.cpp.

References llvm::objcopy::elf::Reader::create(), getOutputElfType(), handleArgs(), llvm::objcopy::ELFConfig::NewSymbolVisibility, llvm::objcopy::CommonConfig::OutputArch, llvm::Expected< T >::takeError(), and writeOutput().