N_NO_DEAD_STRIP

The bit 0x0020 of the n_desc field is used for two non-overlapping purposes and has two different symbolic names, N_NO_DEAD_STRIP and N_DESC_DISCARDED.

Values

ValueMeaning
N_NO_DEAD_STRIP0x0020

Symbol is not to be dead stripped

The N_NO_DEAD_STRIP bit of the n_desc field only ever appears in a relocatable .o file (MH_OBJECT filetype). And is used to indicate to the static link editor it is never to dead strip the symbol.

N_DESC_DISCARDED0x0020

Symbol is discarded

The N_DESC_DISCARDED bit of the n_desc field never appears in linked image. But is used in very rare cases by the dynamic link editor to mark an in memory symbol as discared and longer used for linking.

N_WEAK_REF0x0040

Symbol is weak referenced

The N_WEAK_REF bit of the n_desc field indicates to the dynamic linker that the undefined symbol is allowed to be missing and is to have the address of zero when missing.

N_WEAK_DEF0x0080

Coalesed symbol is a weak definition

The N_WEAK_DEF bit of the n_desc field indicates to the static and dynamic linkers that the symbol definition is weak, allowing a non-weak symbol to also be used which causes the weak definition to be discared. Currently this is only supported for symbols in coalesed sections.

N_REF_TO_WEAK0x0080

Reference to a weak symbol

The N_REF_TO_WEAK bit of the n_desc field indicates to the dynamic linker that the undefined symbol should be resolved using flat namespace searching.

N_ARM_THUMB_DEF0x0008

Symbol is a Thumb function (ARM)

The N_ARM_THUMB_DEF bit of the n_desc field indicates that the symbol is a defintion of a Thumb function.

N_SYMBOL_RESOLVER0x0100

The N_SYMBOL_RESOLVER bit of the n_desc field indicates that the that the function is actually a resolver function and should be called to get the address of the real function to use. This bit is only available in .o files (MH_OBJECT filetype)

N_ALT_ENTRY0x0200

The N_ALT_ENTRY bit of the n_desc field indicates that the symbol is pinned to the previous content.

N_COLD_FUNC0x0400

The N_COLD_FUNC bit of the n_desc field indicates that the symbol is used infrequently and the linker should order it towards the end of the section.

Meta