authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-10-07 09:46:13+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-10-08 04:37:26+02:00
logc0ac79fdbef0de883f1659e2bef124093cbb8c4f
tree1000de4fd749be8bf709eb89a9b2ede58d269981
parentff6bbd0847a6294f0147e9815403ca9f9b7c8ebb
signature Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

Elf2: fix sparc64 lazy PLT stub branching in the wrong direction


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

src/link/Elf2.zig+1-1
...@@ -11943,7 +11943,7 @@ fn ensurePltEntry(elf: *Elf, gsi: Symbol.Global.Index) Error!bool {...@@ -11943,7 +11943,7 @@ fn ensurePltEntry(elf: *Elf, gsi: Symbol.Global.Index) Error!bool {
11943 // sethi (. - .plt[0]), %g111943 // sethi (. - .plt[0]), %g1
11944 .{ .imm22 = .{ .imm = @truncate(got_plt_offset), .op = 0b0000001100 } },11944 .{ .imm22 = .{ .imm = @truncate(got_plt_offset), .op = 0b0000001100 } },
11945 // ba,a %xcc, .plt[1]11945 // ba,a %xcc, .plt[1]
11946 .{ .disp19 = .{ .disp = @truncate((got_plt_offset + 4 - 32) >> 2), .op = 0b0011000001101 } },11946 .{ .disp19 = .{ .disp = @truncate((32 -% (got_plt_offset + 4)) >> 2), .op = 0b0011000001101 } },
11947 // nop11947 // nop
11948 .{ .raw = 0x0100_0000 },11948 .{ .raw = 0x0100_0000 },
11949 // nop11949 // nop