LLVM 19.0.0git
Classes | Typedefs | Enumerations | Functions
llvm::objcopy::elf Namespace Reference

Classes

class  ASCIIHexWriter
 
class  BasicELFBuilder
 
class  BinaryELFBuilder
 
class  BinaryReader
 
class  BinarySectionWriter
 
class  BinaryWriter
 
class  CompressedSection
 
class  DecompressedSection
 
class  DynamicRelocationSection
 
class  DynamicSection
 
class  DynamicSymbolTableSection
 
class  ELFBuilder
 
class  ELFReader
 
class  ELFSectionSizer
 
class  ELFSectionWriter
 
class  ELFWriter
 
class  GnuDebugLinkSection
 
class  GroupSection
 
class  IHexELFBuilder
 
class  IHexReader
 
struct  IHexRecord
 
class  IHexSectionWriter
 
class  IHexSectionWriterBase
 
class  IHexWriter
 
class  MutableSectionVisitor
 
class  Object
 
class  OwnedDataSection
 
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

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.
 
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.
 
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 737 of file ELFObject.h.

Function Documentation

◆ executeObjcopyOnBinary()

Error llvm::objcopy::elf::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.

Returns
any Error encountered whilst performing the operation.

Definition at line 839 of file ELFObjcopy.cpp.

References Config, llvm::objcopy::elf::Reader::create(), llvm::createFileError(), getOutputElfType(), handleArgs(), llvm::Error::success(), llvm::Expected< T >::takeError(), and writeOutput().

Referenced by llvm::objcopy::executeObjcopyOnBinary().

◆ 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 806 of file ELFObjcopy.cpp.

References Config, llvm::objcopy::elf::Reader::create(), getOutputElfType(), handleArgs(), 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 821 of file ELFObjcopy.cpp.

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