authorgravatar for mlugg@mlugg.co.ukMatthew Lugg <mlugg@mlugg.co.uk> 2026-08-13 21:10:43+01:00
committergravatar for mlugg@mlugg.co.ukMatthew Lugg <mlugg@mlugg.co.uk> 2026-08-16 10:37:19+01:00
log594a6d5665fba5696903043bbcb76a8ce8d28d0b
tree70232be98d9aabdecfbe1c42e111de97e6205201
parent52dd990f80500e685cc37edd8de271036e24e0f8
signaturelock-open Commit is signed but in an unrecognized format.

Elf2: fix endianness bug in GOT


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

src/link/Elf2.zig+2-2
......@@ -7045,7 +7045,7 @@ fn updateGotEntry(elf: *Elf, got_index: usize) void {
70457045 const entry_ptr: *class.ElfN().Addr = @ptrCast(@alignCast(
70467046 elf.shndx.got.get(elf).ni.slice(&elf.mf)[offset..][0..addr_size],
70477047 ));
7048 entry_ptr.* = switch (entry_value) {
7048 elf.targetStore(entry_ptr, switch (entry_value) {
70497049 .unsigned => |x| @intCast(x),
70507050 .signed => |x| switch (class) {
70517051 .NONE, _ => comptime unreachable,
......@@ -7053,7 +7053,7 @@ fn updateGotEntry(elf: *Elf, got_index: usize) void {
70537053 .@"64" => @bitCast(x),
70547054 },
70557055 .reloc => 0,
7056 };
7056 });
70577057 break :got_entry_addr elf.targetLoad(&got_shdr.addr) + offset;
70587058 },
70597059 };