LLVM 22.0.0git
Namespaces | Classes | Enumerations | Functions
llvm::objcopy Namespace Reference

Namespaces

namespace  coff
 
namespace  dxbc
 
namespace  elf
 
namespace  macho
 
namespace  wasm
 
namespace  xcoff
 

Classes

struct  AddressUpdate
 
struct  COFFConfig
 
struct  CommonConfig
 
struct  ConfigManager
 
struct  DXContainerConfig
 
struct  ELFConfig
 
struct  MachineInfo
 
struct  MachOConfig
 
class  MultiFormatConfig
 
class  NameMatcher
 
class  NameOrPattern
 
struct  NewSectionInfo
 
struct  NewSymbolInfo
 
struct  RemoveNoteInfo
 
struct  SectionFlagsUpdate
 
struct  SectionPatternAddressUpdate
 
struct  SectionRename
 
struct  WasmConfig
 
struct  XCOFFConfig
 

Enumerations

enum class  FileFormat {
  Unspecified , ELF , Binary , IHex ,
  SREC
}
 
enum  SectionFlag {
  SecNone = 0 , SecAlloc = 1 << 0 , SecLoad = 1 << 1 , SecNoload = 1 << 2 ,
  SecReadonly = 1 << 3 , SecDebug = 1 << 4 , SecCode = 1 << 5 , SecData = 1 << 6 ,
  SecRom = 1 << 7 , SecMerge = 1 << 8 , SecStrings = 1 << 9 , SecContents = 1 << 10 ,
  SecShare = 1 << 11 , SecExclude = 1 << 12 , SecLarge = 1 << 13
}
 
enum class  DiscardType { None , All , Locals }
 
enum class  MatchStyle { Literal , Wildcard , Regex }
 
enum class  AdjustKind { Set , Add , Subtract }
 
enum class  SymbolFlag {
  Global , Local , Weak , Default ,
  Hidden , Protected , File , Section ,
  Object , Function , IndirectFunction , Debug ,
  Constructor , Warning , Indirect , Synthetic ,
  UniqueObject
}
 

Functions

LLVM_ABI Error executeObjcopyOnArchive (const MultiFormatConfig &Config, const object::Archive &Ar)
 Applies the transformations described by Config to each member in archive Ar.
 
LLVM_ABI Error executeObjcopyOnBinary (const MultiFormatConfig &Config, object::Binary &In, raw_ostream &Out)
 Applies the transformations described by Config to In and writes the result into Out.
 
Expected< std::vector< NewArchiveMember > > createNewArchiveMembers (const MultiFormatConfig &Config, const object::Archive &Ar)
 Applies the transformations described by Config to each member in archive Ar.
 

Enumeration Type Documentation

◆ AdjustKind

enum class llvm::objcopy::AdjustKind
strong
Enumerator
Set 
Add 
Subtract 

Definition at line 155 of file CommonConfig.h.

◆ DiscardType

enum class llvm::objcopy::DiscardType
strong
Enumerator
None 
All 
Locals 

Definition at line 81 of file CommonConfig.h.

◆ FileFormat

enum class llvm::objcopy::FileFormat
strong
Enumerator
Unspecified 
ELF 
Binary 
IHex 
SREC 

Definition at line 29 of file CommonConfig.h.

◆ MatchStyle

enum class llvm::objcopy::MatchStyle
strong
Enumerator
Literal 
Wildcard 
Regex 

Definition at line 87 of file CommonConfig.h.

◆ SectionFlag

Enumerator
SecNone 
SecAlloc 
SecLoad 
SecNoload 
SecReadonly 
SecDebug 
SecCode 
SecData 
SecRom 
SecMerge 
SecStrings 
SecContents 
SecShare 
SecExclude 
SecLarge 

Definition at line 51 of file CommonConfig.h.

◆ SymbolFlag

enum class llvm::objcopy::SymbolFlag
strong
Enumerator
Global 
Local 
Weak 
Default 
Hidden 
Protected 
File 
Section 
Object 
Function 
IndirectFunction 
Debug 
Constructor 
Warning 
Indirect 
Synthetic 
UniqueObject 

Definition at line 167 of file CommonConfig.h.

Function Documentation

◆ createNewArchiveMembers()

Expected< std::vector< NewArchiveMember > > llvm::objcopy::createNewArchiveMembers ( const MultiFormatConfig Config,
const object::Archive Ar 
)

◆ executeObjcopyOnArchive()

Error llvm::objcopy::executeObjcopyOnArchive ( const MultiFormatConfig Config,
const object::Archive Ar 
)

Applies the transformations described by Config to each member in archive Ar.

Writes a result in a file specified by Config.OutputFilename.

Returns
any Error encountered whilst performing the operation.

Definition at line 97 of file Archive.cpp.

References Config, createNewArchiveMembers(), deepWriteArchive(), llvm::objcopy::CommonConfig::DeterministicArchives, llvm::object::Archive::hasSymbolTable(), llvm::object::Archive::isThin(), llvm::object::Archive::kind(), llvm::objcopy::CommonConfig::OutputFilename, and llvm::Expected< T >::takeError().

◆ executeObjcopyOnBinary()

Error llvm::objcopy::executeObjcopyOnBinary ( const MultiFormatConfig Config,
object::Binary In,
raw_ostream Out 
)

Applies the transformations described by Config to In and writes the result into Out.

The function executeObjcopyOnBinary does the dispatch based on the format of the input binary (ELF, MachO or COFF).

This function does the dispatch based on the format of the input binary (COFF, ELF, MachO or wasm).

Returns
any Error encountered whilst performing the operation.

Definition at line 37 of file ObjCopy.cpp.

References Config, llvm::createStringError(), and llvm::objcopy::wasm::executeObjcopyOnBinary().

Referenced by createNewArchiveMembers().