| ... | @@ -1496,7 +1496,7 @@ pub fn updateFunc( | ... | @@ -1496,7 +1496,7 @@ pub fn updateFunc( |
| 1496 | }); | 1496 | }); |
| 1497 | defer gpa.free(name); | 1497 | defer gpa.free(name); |
| 1498 | const osec = if (self.text_index) |sect_sym_index| | 1498 | const osec = if (self.text_index) |sect_sym_index| |
| 1499 | self.atom(self.symbol(sect_sym_index).ref.index).?.output_section_index | 1499 | self.symbol(sect_sym_index).output_section_index |
| 1500 | else osec: { | 1500 | else osec: { |
| 1501 | const osec = try elf_file.addSection(.{ | 1501 | const osec = try elf_file.addSection(.{ |
| 1502 | .name = try elf_file.insertShString(".text"), | 1502 | .name = try elf_file.insertShString(".text"), |
| ... | @@ -1896,12 +1896,13 @@ pub fn deleteExport( | ... | @@ -1896,12 +1896,13 @@ pub fn deleteExport( |
| 1896 | } orelse return; | 1896 | } orelse return; |
| 1897 | const zcu = elf_file.base.comp.zcu.?; | 1897 | const zcu = elf_file.base.comp.zcu.?; |
| 1898 | const exp_name = name.toSlice(&zcu.intern_pool); | 1898 | const exp_name = name.toSlice(&zcu.intern_pool); |
| 1899 | const esym_index = metadata.@"export"(self, exp_name) orelse return; | 1899 | const sym_index = metadata.@"export"(self, exp_name) orelse return; |
| 1900 | log.debug("deleting export '{s}'", .{exp_name}); | 1900 | log.debug("deleting export '{s}'", .{exp_name}); |
| 1901 | const esym = &self.symtab.items(.elf_sym)[esym_index.*]; | 1901 | const esym_index = self.symbol(sym_index.*).esym_index; |
| | 1902 | const esym = &self.symtab.items(.elf_sym)[esym_index]; |
| 1902 | _ = self.globals_lookup.remove(esym.st_name); | 1903 | _ = self.globals_lookup.remove(esym.st_name); |
| 1903 | esym.* = Elf.null_sym; | 1904 | esym.* = Elf.null_sym; |
| 1904 | self.symtab.items(.shndx)[esym_index.*] = elf.SHN_UNDEF; | 1905 | self.symtab.items(.shndx)[esym_index] = elf.SHN_UNDEF; |
| 1905 | } | 1906 | } |
| 1906 | | 1907 | |
| 1907 | pub fn getGlobalSymbol(self: *ZigObject, elf_file: *Elf, name: []const u8, lib_name: ?[]const u8) !u32 { | 1908 | pub fn getGlobalSymbol(self: *ZigObject, elf_file: *Elf, name: []const u8, lib_name: ?[]const u8) !u32 { |