authorgravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2024-11-16 14:02:49-05:00
committergravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2024-11-16 14:03:31-05:00
log11e54a3559d6cfebd09c48e16b8315e13d7de337
tree112013cd30b770704fd97617ca5e1c6bfdee3ac5
parent96552638ae8c93882a4064988b3cab1b933997e3

link: fix failing incremental test cases


5 files changed, 9 insertions(+), 10 deletions(-)

src/link/Elf/ZigObject.zig+5-4
...@@ -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_index1499 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}
19061907
1907pub fn getGlobalSymbol(self: *ZigObject, elf_file: *Elf, name: []const u8, lib_name: ?[]const u8) !u32 {1908pub fn getGlobalSymbol(self: *ZigObject, elf_file: *Elf, name: []const u8, lib_name: ?[]const u8) !u32 {
test/incremental/add_decl+1-2
...@@ -1,5 +1,4 @@...@@ -1,5 +1,4 @@
1// Disabled on self-hosted due to linker crash1#target=x86_64-linux-selfhosted
2// #target=x86_64-linux-selfhosted
3#target=x86_64-linux-cbe2#target=x86_64-linux-cbe
4#target=x86_64-windows-cbe3#target=x86_64-windows-cbe
5#update=initial version4#update=initial version
test/incremental/fix_astgen_failure+1-2
...@@ -1,5 +1,4 @@...@@ -1,5 +1,4 @@
1// Disabled on self-hosted due to linker crash1#target=x86_64-linux-selfhosted
2// #target=x86_64-linux-selfhosted
3#target=x86_64-linux-cbe2#target=x86_64-linux-cbe
4#target=x86_64-windows-cbe3#target=x86_64-windows-cbe
5#update=initial version with error4#update=initial version with error
test/incremental/function_becomes_inline+1-1
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1//#target=x86_64-linux-selfhosted1#target=x86_64-linux-selfhosted
2#target=x86_64-linux-cbe2#target=x86_64-linux-cbe
3#target=x86_64-windows-cbe3#target=x86_64-windows-cbe
4#update=non-inline version4#update=non-inline version
test/incremental/recursive_function_becomes_non_recursive+1-1
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1//#target=x86_64-linux-selfhosted1#target=x86_64-linux-selfhosted
2#target=x86_64-linux-cbe2#target=x86_64-linux-cbe
3#target=x86_64-windows-cbe3#target=x86_64-windows-cbe
4#update=initial version4#update=initial version