diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2021-03-17 19:44:32 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-03-17 19:44:32 +0100 |
| commit | 0f7b036eb75f52c69e8458bd12563a7ecf4c9237 (patch) | |
| tree | 1cf9707303ddbbe728551cfc16ad9678887bd47f /lib/std | |
| parent | 119fc318a753f57b55809e9256e823accba6b56a (diff) | |
| parent | e5234c0e9ee1d60b7a87df8de0350fee2d4e6c55 (diff) | |
| download | zig-0f7b036eb75f52c69e8458bd12563a7ecf4c9237.tar.gz zig-0f7b036eb75f52c69e8458bd12563a7ecf4c9237.zip | |
Merge pull request #8281 from kubkon/macho-got-refactor
stage2+macho: refactor global offset table for incremental linker
Diffstat (limited to 'lib/std')
| -rw-r--r-- | lib/std/macho.zig | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/std/macho.zig b/lib/std/macho.zig index 6785abffca..bca222b5b7 100644 --- a/lib/std/macho.zig +++ b/lib/std/macho.zig @@ -1422,6 +1422,14 @@ 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; +// An indirect symbol table entry is simply a 32bit index into the symbol table +// to the symbol that the pointer or stub is refering to. Unless it is for a +// non-lazy symbol pointer section for a defined symbol which strip(1) as +// removed. In which case it has the value INDIRECT_SYMBOL_LOCAL. If the +// symbol was also absolute INDIRECT_SYMBOL_ABS is or'ed with that. +pub const INDIRECT_SYMBOL_LOCAL: u32 = 0x80000000; +pub const INDIRECT_SYMBOL_ABS: u32 = 0x40000000; + // Codesign consts and structs taken from: // https://opensource.apple.com/source/xnu/xnu-6153.81.5/osfmk/kern/cs_blobs.h.auto.html |
