Skip to content

Commit 7266d44

Browse files
authored
Merge pull request #21999 from jacobly0/incr-cases
link: fix failing incremental test cases
2 parents 53a232e + 11e54a3 commit 7266d44

File tree

6 files changed

+12
-11
lines changed

6 files changed

+12
-11
lines changed

src/dev.zig

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ pub const Env = enum {
2323
sema,
2424

2525
/// - sema
26-
/// - `zig build-* -fno-llvm -fno-lld -target x86_64-linux`
26+
/// - `zig build-* -fincremental -fno-llvm -fno-lld -target x86_64-linux --listen=-`
2727
@"x86_64-linux",
2828

2929
/// - sema
@@ -130,6 +130,8 @@ pub const Env = enum {
130130
else => Env.ast_gen.supports(feature),
131131
},
132132
.@"x86_64-linux" => switch (feature) {
133+
.stdio_listen,
134+
.incremental,
133135
.x86_64_backend,
134136
.elf_linker,
135137
=> true,

src/link/Elf/ZigObject.zig

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1496,7 +1496,7 @@ pub fn updateFunc(
14961496
});
14971497
defer gpa.free(name);
14981498
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
15001500
else osec: {
15011501
const osec = try elf_file.addSection(.{
15021502
.name = try elf_file.insertShString(".text"),
@@ -1896,12 +1896,13 @@ pub fn deleteExport(
18961896
} orelse return;
18971897
const zcu = elf_file.base.comp.zcu.?;
18981898
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;
19001900
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];
19021903
_ = self.globals_lookup.remove(esym.st_name);
19031904
esym.* = Elf.null_sym;
1904-
self.symtab.items(.shndx)[esym_index.*] = elf.SHN_UNDEF;
1905+
self.symtab.items(.shndx)[esym_index] = elf.SHN_UNDEF;
19051906
}
19061907

19071908
pub fn getGlobalSymbol(self: *ZigObject, elf_file: *Elf, name: []const u8, lib_name: ?[]const u8) !u32 {

test/incremental/add_decl

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
// Disabled on self-hosted due to linker crash
2-
// #target=x86_64-linux-selfhosted
1+
#target=x86_64-linux-selfhosted
32
#target=x86_64-linux-cbe
43
#target=x86_64-windows-cbe
54
#update=initial version

test/incremental/fix_astgen_failure

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
// Disabled on self-hosted due to linker crash
2-
// #target=x86_64-linux-selfhosted
1+
#target=x86_64-linux-selfhosted
32
#target=x86_64-linux-cbe
43
#target=x86_64-windows-cbe
54
#update=initial version with error

test/incremental/function_becomes_inline

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//#target=x86_64-linux-selfhosted
1+
#target=x86_64-linux-selfhosted
22
#target=x86_64-linux-cbe
33
#target=x86_64-windows-cbe
44
#update=non-inline version

test/incremental/recursive_function_becomes_non_recursive

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//#target=x86_64-linux-selfhosted
1+
#target=x86_64-linux-selfhosted
22
#target=x86_64-linux-cbe
33
#target=x86_64-windows-cbe
44
#update=initial version

0 commit comments

Comments
 (0)