| ... | ... | @@ -1257,6 +1257,24 @@ pub const VM_PROT_WRITE: vm_prot_t = 0x2; |
| 1257 | 1257 | /// VM execute permission |
| 1258 | 1258 | pub const VM_PROT_EXECUTE: vm_prot_t = 0x4; |
| 1259 | 1259 | |
| 1260 | // The following are used to encode rebasing information |
| 1261 | pub const REBASE_TYPE_POINTER: u8 = 1; |
| 1262 | pub const REBASE_TYPE_TEXT_ABSOLUTE32: u8 = 2; |
| 1263 | pub const REBASE_TYPE_TEXT_PCREL32: u8 = 3; |
| 1264 | |
| 1265 | pub const REBASE_OPCODE_MASK: u8 = 0xF0; |
| 1266 | pub const REBASE_IMMEDIATE_MASK: u8 = 0x0F; |
| 1267 | pub const REBASE_OPCODE_DONE: u8 = 0x00; |
| 1268 | pub const REBASE_OPCODE_SET_TYPE_IMM: u8 = 0x10; |
| 1269 | pub const REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB: u8 = 0x20; |
| 1270 | pub const REBASE_OPCODE_ADD_ADDR_ULEB: u8 = 0x30; |
| 1271 | pub const REBASE_OPCODE_ADD_ADDR_IMM_SCALED: u8 = 0x40; |
| 1272 | pub const REBASE_OPCODE_DO_REBASE_IMM_TIMES: u8 = 0x50; |
| 1273 | pub const REBASE_OPCODE_DO_REBASE_ULEB_TIMES: u8 = 0x60; |
| 1274 | pub const REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB: u8 = 0x70; |
| 1275 | pub const REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB: u8 = 0x80; |
| 1276 | |
| 1277 | // The following are used to encode binding information |
| 1260 | 1278 | pub const BIND_TYPE_POINTER: u8 = 1; |
| 1261 | 1279 | pub const BIND_TYPE_TEXT_ABSOLUTE32: u8 = 2; |
| 1262 | 1280 | pub const BIND_TYPE_TEXT_PCREL32: u8 = 3; |
| ... | ... | @@ -1360,7 +1378,7 @@ pub const N_WEAK_DEF: u16 = 0x80; |
| 1360 | 1378 | /// This bit is only available in .o files (MH_OBJECT filetype) |
| 1361 | 1379 | pub const N_SYMBOL_RESOLVER: u16 = 0x100; |
| 1362 | 1380 | |
| 1363 | | // The following are used on the flags byte of a terminal node // in the export information. |
| 1381 | // The following are used on the flags byte of a terminal node in the export information. |
| 1364 | 1382 | pub const EXPORT_SYMBOL_FLAGS_KIND_MASK: u8 = 0x03; |
| 1365 | 1383 | pub const EXPORT_SYMBOL_FLAGS_KIND_REGULAR: u8 = 0x00; |
| 1366 | 1384 | pub const EXPORT_SYMBOL_FLAGS_KIND_THREAD_LOCAL: u8 = 0x01; |