#include <mach-o/fixup-chains.h>
mach-o/fixup-chains.h
#define LC_DYLD_EXPORTS_TRIE 0x80000033 // used with linkedit_data_command
enum(anonymous)
| DYLD_CHAINED_PTR_START_NONE | 65535 | used in page_start[] to denote a page with no fixups |
| DYLD_CHAINED_PTR_START_MULTI | 32768 | used in page_start[] to denote a page which has multiple starts |
| DYLD_CHAINED_PTR_START_LAST | 32768 | used in chain_starts[] to denote last start in list for page |
enum(anonymous)
values for dyld_chained_starts_in_segment.pointer_format
| DYLD_CHAINED_PTR_ARM64E | 1 | stride 8, unauth target is vmaddr |
| DYLD_CHAINED_PTR_64 | 2 | target is vmaddr |
| DYLD_CHAINED_PTR_32 | 3 | |
| DYLD_CHAINED_PTR_32_CACHE | 4 | |
| DYLD_CHAINED_PTR_32_FIRMWARE | 5 | |
| DYLD_CHAINED_PTR_64_OFFSET | 6 | target is vm offset |
| DYLD_CHAINED_PTR_ARM64E_OFFSET | 7 | old name |
| DYLD_CHAINED_PTR_ARM64E_KERNEL | 7 | stride 4, unauth target is vm offset |
| DYLD_CHAINED_PTR_64_KERNEL_CACHE | 8 | |
| DYLD_CHAINED_PTR_ARM64E_USERLAND | 9 | stride 8, unauth target is vm offset |
| DYLD_CHAINED_PTR_ARM64E_FIRMWARE | 10 | stride 4, unauth target is vmaddr |
| DYLD_CHAINED_PTR_X86_64_KERNEL_CACHE | 11 | stride 1, x86_64 kernel caches |
| DYLD_CHAINED_PTR_ARM64E_USERLAND24 | 12 | stride 8, unauth target is vm offset, 24-bit bind |
| DYLD_CHAINED_PTR_ARM64E_SHARED_CACHE | 13 | stride 8, regular/auth targets both vm offsets. Only A keys supported |
enum(anonymous)
values for dyld_chained_fixups_header.imports_format
| DYLD_CHAINED_IMPORT | 1 | |
| DYLD_CHAINED_IMPORT_ADDEND | 2 | |
| DYLD_CHAINED_IMPORT_ADDEND64 | 3 |