From cacb188e3df099624158ed52be104d3d03bbbf11 Mon Sep 17 00:00:00 2001 From: Jacob Young Date: Wed, 23 Sep 2026 03:09:16 -0400 Subject: [PATCH] Elf2: fix verdef terminator --- src/link/Elf2.zig | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/link/Elf2.zig b/src/link/Elf2.zig index 7c0d8adebbbcacb36c9e734377a864800623dc12..8f277e12b635dc3917ae8175087afb8a2634fc90 100644 --- a/src/link/Elf2.zig +++ b/src/link/Elf2.zig @@ -5653,7 +5653,7 @@ fn initHeaders( .cnt = 1, .hash = std.elf.hash.calculate(base_version_name), .aux = @offsetOf(VerdefEntry, "aux"), - .next = @sizeOf(VerdefEntry), + .next = 0, }, .aux = .{ .name = @backingInt(try elf.string(.dynstr, base_version_name)), @@ -12569,7 +12569,9 @@ fn verdefId(elf: *Elf, version: String(.dynstr)) Error!u15 { elf.targetStore(&shdr.size, old_size + @sizeOf(VerdefEntry)); }, } - const entry_ptr = &elf.verdefSlice()[gop.index + 1]; + const verdef_slice = elf.verdefSlice(); + elf.targetStore(&verdef_slice[gop.index].def.next, @sizeOf(VerdefEntry)); + const entry_ptr = &verdef_slice[gop.index + 1]; entry_ptr.* = .{ .def = .{ .version = 1, @@ -12578,7 +12580,7 @@ fn verdefId(elf: *Elf, version: String(.dynstr)) Error!u15 { .cnt = 1, .hash = std.elf.hash.calculate(version.slice(elf)), .aux = @offsetOf(VerdefEntry, "aux"), - .next = @sizeOf(VerdefEntry), + .next = 0, }, .aux = .{ .name = @backingInt(version), -- 2.54.0