LLVM: llvm::objcopy Namespace Reference (original) (raw)

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.

AdjustKind

DiscardType

FileFormat

Enumerator
Unspecified
ELF
Binary
IHex
SREC

Definition at line 29 of file CommonConfig.h.

MatchStyle

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

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.

createNewArchiveMembers()

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

Returns

Vector of transformed archive members.

Definition at line 22 of file Archive.cpp.

References llvm::object::Archive::children(), llvm::createFileError(), llvm::objcopy::CommonConfig::DeterministicArchives, executeObjcopyOnBinary(), llvm::Expected< T >::get(), llvm::objcopy::MultiFormatConfig::getCommonConfig(), llvm::object::Binary::getFileName(), llvm::NewArchiveMember::getOldMember(), llvm::objcopy::CommonConfig::InputFilename, llvm::Error::success(), and llvm::Expected< T >::takeError().

Referenced by executeObjcopyOnArchive(), and llvm::objcopy::macho::executeObjcopyOnMachOUniversalBinary().

executeObjcopyOnArchive()

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 createNewArchiveMembers(), deepWriteArchive(), llvm::objcopy::CommonConfig::DeterministicArchives, llvm::objcopy::MultiFormatConfig::getCommonConfig(), llvm::object::Archive::hasSymbolTable(), llvm::object::Archive::isThin(), llvm::object::Archive::kind(), llvm::NormalSymtab, llvm::NoSymtab, llvm::objcopy::CommonConfig::OutputFilename, and llvm::Expected< T >::takeError().

executeObjcopyOnBinary()

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 llvm::createStringError(), llvm::dyn_cast(), llvm::objcopy::coff::executeObjcopyOnBinary(), llvm::objcopy::dxbc::executeObjcopyOnBinary(), llvm::objcopy:🧝:executeObjcopyOnBinary(), llvm::objcopy::macho::executeObjcopyOnBinary(), llvm::objcopy::wasm::executeObjcopyOnBinary(), llvm::objcopy::xcoff::executeObjcopyOnBinary(), llvm::objcopy::macho::executeObjcopyOnMachOUniversalBinary(), llvm::objcopy::MultiFormatConfig::getCOFFConfig(), llvm::objcopy::MultiFormatConfig::getCommonConfig(), llvm::objcopy::MultiFormatConfig::getDXContainerConfig(), llvm::objcopy::MultiFormatConfig::getELFConfig(), llvm::objcopy::MultiFormatConfig::getMachOConfig(), llvm::objcopy::MultiFormatConfig::getWasmConfig(), llvm::objcopy::MultiFormatConfig::getXCOFFConfig(), and llvm::object::invalid_file_type.

Referenced by createNewArchiveMembers().