| ... | @@ -390,7 +390,7 @@ pub fn getDeclVAddr( | ... | @@ -390,7 +390,7 @@ pub fn getDeclVAddr( |
| 390 | .pcrel = false, | 390 | .pcrel = false, |
| 391 | .has_subtractor = false, | 391 | .has_subtractor = false, |
| 392 | .length = 3, | 392 | .length = 3, |
| 393 | .symbolnum = 0, | 393 | .symbolnum = @intCast(sym.nlist_idx), |
| 394 | }, | 394 | }, |
| 395 | }); | 395 | }); |
| 396 | return vaddr; | 396 | return vaddr; |
| ... | @@ -416,7 +416,7 @@ pub fn getAnonDeclVAddr( | ... | @@ -416,7 +416,7 @@ pub fn getAnonDeclVAddr( |
| 416 | .pcrel = false, | 416 | .pcrel = false, |
| 417 | .has_subtractor = false, | 417 | .has_subtractor = false, |
| 418 | .length = 3, | 418 | .length = 3, |
| 419 | .symbolnum = 0, | 419 | .symbolnum = @intCast(sym.nlist_idx), |
| 420 | }, | 420 | }, |
| 421 | }); | 421 | }); |
| 422 | return vaddr; | 422 | return vaddr; |
| ... | @@ -856,21 +856,18 @@ fn createTlvDescriptor( | ... | @@ -856,21 +856,18 @@ fn createTlvDescriptor( |
| 856 | atom.alignment = alignment; | 856 | atom.alignment = alignment; |
| 857 | atom.size = size; | 857 | atom.size = size; |
| 858 | | 858 | |
| 859 | const tlv_bootstrap_index = blk: { | 859 | const tlv_bootstrap_index = try self.getGlobalSymbol(macho_file, "_tlv_bootstrap", null); |
| 860 | const index = try self.getGlobalSymbol(macho_file, "_tlv_bootstrap", null); | | |
| 861 | break :blk self.symbols.items[index]; | | |
| 862 | }; | | |
| 863 | try atom.addReloc(macho_file, .{ | 860 | try atom.addReloc(macho_file, .{ |
| 864 | .tag = .@"extern", | 861 | .tag = .@"extern", |
| 865 | .offset = 0, | 862 | .offset = 0, |
| 866 | .target = tlv_bootstrap_index, | 863 | .target = self.symbols.items[tlv_bootstrap_index], |
| 867 | .addend = 0, | 864 | .addend = 0, |
| 868 | .type = .unsigned, | 865 | .type = .unsigned, |
| 869 | .meta = .{ | 866 | .meta = .{ |
| 870 | .pcrel = false, | 867 | .pcrel = false, |
| 871 | .has_subtractor = false, | 868 | .has_subtractor = false, |
| 872 | .length = 3, | 869 | .length = 3, |
| 873 | .symbolnum = 0, | 870 | .symbolnum = @intCast(tlv_bootstrap_index), |
| 874 | }, | 871 | }, |
| 875 | }); | 872 | }); |
| 876 | try atom.addReloc(macho_file, .{ | 873 | try atom.addReloc(macho_file, .{ |
| ... | @@ -883,7 +880,7 @@ fn createTlvDescriptor( | ... | @@ -883,7 +880,7 @@ fn createTlvDescriptor( |
| 883 | .pcrel = false, | 880 | .pcrel = false, |
| 884 | .has_subtractor = false, | 881 | .has_subtractor = false, |
| 885 | .length = 3, | 882 | .length = 3, |
| 886 | .symbolnum = 0, | 883 | .symbolnum = @intCast(macho_file.getSymbol(init_sym_index).nlist_idx), |
| 887 | }, | 884 | }, |
| 888 | }); | 885 | }); |
| 889 | | 886 | |