LIEF: Library to Instrument Executable Formats Version 0.17.0
Loading...
Searching...
No Matches
LIEF::ELF::Builder::config_t Struct Reference

Configuration options to tweak the building process. More...

#include <Builder.hpp>

Public Attributes

bool dt_hash = true
bool dyn_str = true
 Rebuild DT_HASH.
bool dynamic_section = true
 Rebuild DT_STRTAB.
bool fini_array = true
 Rebuild PT_DYNAMIC segment.
bool gnu_hash = true
 Rebuild DT_FINI_ARRAY.
bool init_array = true
 Rebuild DT_GNU_HASH.
bool interpreter = true
 Rebuild DT_INIT_ARRAY.
bool jmprel = true
 Rebuild PT_INTERPRETER.
bool notes = false
 Rebuild DT_JMPREL.
bool preinit_array = true
 Disable note building since it can break the default layout.
bool relr = true
 Rebuild DT_PREINIT_ARRAY.
bool android_rela = true
 Rebuild DT_RELR.
bool rela = true
 Rebuild DT_ANDROID_REL[A].
bool static_symtab = true
 Rebuild DT_REL[A].
bool sym_verdef = true
 Rebuild .symtab.
bool sym_verneed = true
 Rebuild DT_VERDEF.
bool sym_versym = true
 Rebuild DT_VERNEED.
bool symtab = true
 Rebuild DT_VERSYM.
bool coredump_notes = true
 Rebuild DT_SYMTAB.
bool force_relocate = false
 Rebuild the Coredump notes.
bool skip_dynamic = false
 Force to relocating all the ELF structures that are supported by LIEF (mostly for testing).
bool keep_empty_version_requirement = false
 Skip relocating the PT_DYNAMIC segment (only relevant if force_relocate is set).

Detailed Description

Configuration options to tweak the building process.

Member Data Documentation

◆ android_rela

bool LIEF::ELF::Builder::config_t::android_rela = true

Rebuild DT_RELR.

◆ coredump_notes

bool LIEF::ELF::Builder::config_t::coredump_notes = true

Rebuild DT_SYMTAB.

◆ dt_hash

bool LIEF::ELF::Builder::config_t::dt_hash = true

◆ dyn_str

bool LIEF::ELF::Builder::config_t::dyn_str = true

Rebuild DT_HASH.

◆ dynamic_section

bool LIEF::ELF::Builder::config_t::dynamic_section = true

Rebuild DT_STRTAB.

◆ fini_array

bool LIEF::ELF::Builder::config_t::fini_array = true

Rebuild PT_DYNAMIC segment.

◆ force_relocate

bool LIEF::ELF::Builder::config_t::force_relocate = false

Rebuild the Coredump notes.

◆ gnu_hash

bool LIEF::ELF::Builder::config_t::gnu_hash = true

Rebuild DT_FINI_ARRAY.

◆ init_array

bool LIEF::ELF::Builder::config_t::init_array = true

Rebuild DT_GNU_HASH.

◆ interpreter

bool LIEF::ELF::Builder::config_t::interpreter = true

Rebuild DT_INIT_ARRAY.

◆ jmprel

bool LIEF::ELF::Builder::config_t::jmprel = true

Rebuild PT_INTERPRETER.

◆ keep_empty_version_requirement

bool LIEF::ELF::Builder::config_t::keep_empty_version_requirement = false

Skip relocating the PT_DYNAMIC segment (only relevant if force_relocate is set).

Remove entries in .gnu.version_r if they are not associated with at least one version

◆ notes

bool LIEF::ELF::Builder::config_t::notes = false

Rebuild DT_JMPREL.

◆ preinit_array

bool LIEF::ELF::Builder::config_t::preinit_array = true

Disable note building since it can break the default layout.

◆ rela

bool LIEF::ELF::Builder::config_t::rela = true

Rebuild DT_ANDROID_REL[A].

◆ relr

bool LIEF::ELF::Builder::config_t::relr = true

Rebuild DT_PREINIT_ARRAY.

◆ skip_dynamic

bool LIEF::ELF::Builder::config_t::skip_dynamic = false

Force to relocating all the ELF structures that are supported by LIEF (mostly for testing).

◆ static_symtab

bool LIEF::ELF::Builder::config_t::static_symtab = true

Rebuild DT_REL[A].

◆ sym_verdef

bool LIEF::ELF::Builder::config_t::sym_verdef = true

Rebuild .symtab.

◆ sym_verneed

bool LIEF::ELF::Builder::config_t::sym_verneed = true

Rebuild DT_VERDEF.

◆ sym_versym

bool LIEF::ELF::Builder::config_t::sym_versym = true

Rebuild DT_VERNEED.

◆ symtab

bool LIEF::ELF::Builder::config_t::symtab = true

Rebuild DT_VERSYM.


The documentation for this struct was generated from the following file: