authorgravatar for mlugg@mlugg.co.ukMatthew Lugg <mlugg@mlugg.co.uk> 2026-09-23 00:40:27+01:00
committergravatar for mlugg@mlugg.co.ukMatthew Lugg <mlugg@mlugg.co.uk> 2026-09-23 12:01:37+01:00
logdbc746633cf12d1c798ec5874e591958d763b6a0
tree97c04543c25cfc8a656f62c8d79c5868cede3afd
parent71403f2991505b53a27c5094ac668edac3236389
signature Commit is signed but in an unrecognized format.

Elf2: fix assertion failure


1 files changed, 3 insertions(+), 1 deletions(-)

src/link/Elf2.zig+3-1
...@@ -2926,7 +2926,9 @@ fn updateGlobalDynamic(elf: *Elf, orig_gsi: Symbol.Global.Index, force_apply_rel...@@ -2926,7 +2926,9 @@ fn updateGlobalDynamic(elf: *Elf, orig_gsi: Symbol.Global.Index, force_apply_rel
2926 _ = elf.unknown_globals.swapRemove(gsi);2926 _ = elf.unknown_globals.swapRemove(gsi);
2927 }2927 }
29282928
2929 assert(elf.classifySymbolValue(.global(gsi)) != .dynamic);2929 if (elf.ehdrType() != .REL) {
2930 assert(elf.classifySymbolValue(.global(gsi)) != .dynamic);
2931 }
2930 gsi.deleteDynamicTargetRelocs(elf);2932 gsi.deleteDynamicTargetRelocs(elf);
2931 if (maybe_alias_gsi) |alias_gsi| {2933 if (maybe_alias_gsi) |alias_gsi| {
2932 alias_gsi.deleteDynamicTargetRelocs(elf);2934 alias_gsi.deleteDynamicTargetRelocs(elf);