authorgravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2023-10-20 03:38:27-04:00
committergravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2023-10-23 22:42:18-04:00
logf7482a5c95dd549eb3da103eab42bac881ba0498
tree6e84d04898f32d1e8d7ebb2e4baf44c8487e522e
parent8f69e977f16d55539d55e8c84852a7c1c6a8cdf3

x86_64: implement inline asm GOT reference for PIC targets


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

src/arch/x86_64/CodeGen.zig+4
......@@ -11315,6 +11315,10 @@ fn airAsm(self: *Self, inst: Air.Inst.Index) !void {
1131511315 ) }
1131611316 else
1131711317 return self.fail("invalid modifier: '{s}'", .{modifier}),
11318 .lea_got => |sym_index| if (mem.eql(u8, modifier, "P"))
11319 .{ .reg = try self.copyToTmpRegister(Type.usize, .{ .lea_got = sym_index }) }
11320 else
11321 return self.fail("invalid modifier: '{s}'", .{modifier}),
1131811322 else => return self.fail("invalid constraint: '{s}'", .{op_str}),
1131911323 };
1132011324 } else if (mem.startsWith(u8, op_str, "$")) {