[][src]Constant mach_object::REFERENCE_TYPE

pub const REFERENCE_TYPE: u8

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