diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2020-12-08 16:52:50 +0100 |
|---|---|---|
| committer | Jakub Konka <kubkon@jakubkonka.com> | 2020-12-09 20:36:58 +0100 |
| commit | 4c3e6c5bff967388dddc7ec352017c7b712d9f06 (patch) | |
| tree | 994837c7efe2d145bdba169985016c7288aa9fff /lib/std/macho.zig | |
| parent | ae3fd86dcc6f39601aa26ce1a6dc51a0db5cbf30 (diff) | |
| download | zig-4c3e6c5bff967388dddc7ec352017c7b712d9f06.tar.gz zig-4c3e6c5bff967388dddc7ec352017c7b712d9f06.zip | |
macho: cleanup export trie generation and parsing
Now, ExportTrie is becoming usable for larger linking contexts such
as linking in multiple object files, or relinking dylibs, etc.
Diffstat (limited to 'lib/std/macho.zig')
| -rw-r--r-- | lib/std/macho.zig | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/std/macho.zig b/lib/std/macho.zig index 90b6ca74e7..ec0d23cd92 100644 --- a/lib/std/macho.zig +++ b/lib/std/macho.zig @@ -1333,6 +1333,15 @@ pub const N_WEAK_DEF: u16 = 0x80; /// This bit is only available in .o files (MH_OBJECT filetype) pub const N_SYMBOL_RESOLVER: u16 = 0x100; +// The following are used on the flags byte of a terminal node // in the export information. +pub const EXPORT_SYMBOL_FLAGS_KIND_MASK: u8 = 0x03; +pub const EXPORT_SYMBOL_FLAGS_KIND_REGULAR: u8 = 0x00; +pub const EXPORT_SYMBOL_FLAGS_KIND_THREAD_LOCAL: u8 = 0x01; +pub const EXPORT_SYMBOL_FLAGS_KIND_ABSOLUTE: u8 = 0x02; +pub const EXPORT_SYMBOL_FLAGS_KIND_WEAK_DEFINITION: u8 = 0x04; +pub const EXPORT_SYMBOL_FLAGS_REEXPORT: u8 = 0x08; +pub const EXPORT_SYMBOL_FLAGS_STUB_AND_RESOLVER: u8 = 0x10; + // Codesign consts and structs taken from: // https://opensource.apple.com/source/xnu/xnu-6153.81.5/osfmk/kern/cs_blobs.h.auto.html |
