From f7482a5c95dd549eb3da103eab42bac881ba0498 Mon Sep 17 00:00:00 2001 From: Jacob Young Date: Fri, 20 Oct 2023 03:38:27 -0400 Subject: [PATCH] x86_64: implement inline asm GOT reference for PIC targets --- src/arch/x86_64/CodeGen.zig | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/arch/x86_64/CodeGen.zig b/src/arch/x86_64/CodeGen.zig index c7b3f5c30402efee3cd9d94414fc2752538a3aad..b9f352480b17a9140f05bf89d8c71a799b4563be 100644 --- a/src/arch/x86_64/CodeGen.zig +++ b/src/arch/x86_64/CodeGen.zig @@ -11315,6 +11315,10 @@ fn airAsm(self: *Self, inst: Air.Inst.Index) !void { ) } else return self.fail("invalid modifier: '{s}'", .{modifier}), + .lea_got => |sym_index| if (mem.eql(u8, modifier, "P")) + .{ .reg = try self.copyToTmpRegister(Type.usize, .{ .lea_got = sym_index }) } + else + return self.fail("invalid modifier: '{s}'", .{modifier}), else => return self.fail("invalid constraint: '{s}'", .{op_str}), }; } else if (mem.startsWith(u8, op_str, "$")) { -- 2.54.0