Value | Meaning |
---|---|
SEG_PAGEZERO | The pagezero segment which has no protections and catches NULL references for MH_EXECUTE files. |
SEG_TEXT | The tradition UNIX text segment. |
SECT_TEXT | The real text part of the text section no headers, and no padding. |
SECT_FVMLIB_INIT0 | The fvmlib initialization section. |
SECT_FVMLIB_INIT1 | The section following the fvmlib initialization section. |
SEG_DATA | The tradition UNIX data segment. |
SECT_DATA | The real initialized data section no padding, no bss overlap. |
SECT_BSS | The real uninitialized data section no padding. |
SECT_COMMON | The section common symbols are allocated in by the link editor. |
SEG_OBJC | Objective-C runtime segment. |
SECT_OBJC_SYMBOLS | Symbol table. |
SECT_OBJC_MODULES | Module information. |
SECT_OBJC_STRINGS | String table. |
SECT_OBJC_REFS | String table. |
SEG_ICON | The icon segment. |
SECT_ICON_HEADER | The icon headers. |
SECT_ICON_TIFF | The icons in tiff format. |
SEG_LINKEDIT | The segment containing all structs created and maintained by the link editor. Created with -seglinkedit option to ld(1) for MH_EXECUTE and FVMLIB file types only. |
SEG_UNIXSTACK | The unix stack segment. |
SEG_IMPORT | The segment for the self (dyld) modifing code stubs that has read, write and execute permissions. |
The names of segments and sections in them are mostly meaningless to the link-editor. But there are few things to support traditional UNIX executables that require the link-editor and assembler to use some names agreed upon by convention.
The initial protection of the "__TEXT" segment has write protection turned off (not writeable).
The link-editor will allocate common symbols at the end of the "__common" section in the "__DATA" segment. It will create the section and segment if needed.
The currently known segment names and the section names in those segments.