Constant mach_object::REFERENCE_TYPE [−][src]
pub const REFERENCE_TYPE: u8=
7
To support the lazy binding of undefined symbols in the dynamic link-editor, the undefined symbols in the symbol table (the nlist structures) are marked with the indication if the undefined reference is a lazy reference or non-lazy reference. If both a non-lazy reference and a lazy reference is made to the same symbol the non-lazy reference takes precedence. A reference is lazy only when all references to that symbol are made through a symbol pointer in a lazy symbol pointer section.
The implementation of marking nlist structures in the symbol table for
undefined symbols will be to use some of the bits of the n_desc
field as a
reference type. The mask REFERENCE_TYPE
will be applied to the n_desc
field
of an nlist structure for an undefined symbol to determine the type of
undefined reference (lazy or non-lazy).
The constants for the REFERENCE FLAGS are propagated to the reference table
in a shared library file. In that case the constant for a defined symbol,
REFERENCE_FLAG_DEFINED
, is also used.
Reference type bits of the n_desc
field of undefined symbols