diff --git a/src/link/Elf2.zig b/src/link/Elf2.zig index 3a6f9771d698386d963081992fef46f354b6d2ef..b781fe4bc1c070be7d775bf6da3737457cd8d0f1 100644 --- a/src/link/Elf2.zig +++ b/src/link/Elf2.zig @@ -5669,7 +5669,7 @@ pub fn idle(elf: *Elf, tid: Zcu.PerThread.Id) !bool { }; break :task; } - if (elf.changed_symtab_index.pop()) |kv| { + while (elf.changed_symtab_index.pop()) |kv| { // We only need to do work in relocatables, because in ELF modules (non-relocatables) // our `ElfN.Rela` entries use `.dynsym` indices rather than `.symtab` indices, and // `.dynsym` indices are (at the time of writing) always immutable.