Struct lief::elf::symbol_versioning::SymbolVersionRequirement
pub struct SymbolVersionRequirement<'a> { /* private fields */ }
Expand description
Structure which represents an entry in the DT_VERNEED
or .gnu.version_r
table
Implementations§
§impl SymbolVersionRequirement<'_>
impl SymbolVersionRequirement<'_>
pub fn version(&self) -> u16
pub fn version(&self) -> u16
Version revision
This field should always have the value 1
. It will be changed
if the versioning implementation has to be changed in an incompatible way.
pub fn name(&self) -> String
pub fn name(&self) -> String
Return the library name associated with this requirement (e.g. libc.so.6
)
pub fn auxiliary_symbols(&self) -> AuxiliarySymbols<'_> ⓘ
pub fn auxiliary_symbols(&self) -> AuxiliarySymbols<'_> ⓘ
Auxiliary entries as an iterator over SymbolVersionAuxRequirement
pub fn set_name(&mut self, name: &str)
pub fn set_version(&mut self, version: u16)
pub fn find_aux(&self, name: &str) -> Option<SymbolVersionAuxRequirement<'_>>
pub fn find_aux(&self, name: &str) -> Option<SymbolVersionAuxRequirement<'_>>
Try to find the SymbolVersionAuxRequirement
with the given name (e.g. GLIBC_2.27
)
pub fn remove_aux_requirement_by_name(&mut self, name: &str) -> bool
pub fn remove_aux_requirement_by_name(&mut self, name: &str) -> bool
Try to remove the auxiliary requirement symbol with the given name. The function returns true if the operation succeed, false otherwise.
warning:
This function invalidates all the references of
SymbolVersionAuxRequirement
. Therefore, the user is reponsible
to ensure that the auxiliary requirement is no longer used in the
ELF binary (e.g. in SymbolVersion
)