authorgravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2024-08-13 11:11:16+02:00
committergravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2024-08-13 13:30:24+02:00
logafaec5c3e477a66695fdfca30bcc662fd1c73cd4
tree67b0a57a557a9cbb502ab372917bc1fd83b8dbb7
parentedd72c75eb4164f5799d56128ce6e17668efb0e2

x86_64: fix generating lazy symbol refs


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

src/arch/x86_64/CodeGen.zig+3-6
...@@ -15304,7 +15304,7 @@ fn genLazySymbolRef(...@@ -15304,7 +15304,7 @@ fn genLazySymbolRef(
15304 if (self.mod.pic) {15304 if (self.mod.pic) {
15305 switch (tag) {15305 switch (tag) {
15306 .lea, .call => try self.genSetReg(reg, Type.usize, .{15306 .lea, .call => try self.genSetReg(reg, Type.usize, .{
15307 .load_symbol = .{ .sym = sym_index },15307 .lea_symbol = .{ .sym = sym_index },
15308 }, .{}),15308 }, .{}),
15309 .mov => try self.genSetReg(reg, Type.usize, .{15309 .mov => try self.genSetReg(reg, Type.usize, .{
15310 .load_symbol = .{ .sym = sym_index },15310 .load_symbol = .{ .sym = sym_index },
...@@ -15322,14 +15322,11 @@ fn genLazySymbolRef(...@@ -15322,14 +15322,11 @@ fn genLazySymbolRef(
15322 .sym_index = sym_index,15322 .sym_index = sym_index,
15323 };15323 };
15324 switch (tag) {15324 switch (tag) {
15325 .lea, .mov => try self.asmRegisterMemory(.{ ._, .mov }, reg.to64(), .{15325 .lea, .mov => try self.asmRegisterMemory(.{ ._, tag }, reg.to64(), .{
15326 .base = .{ .reloc = reloc },
15327 .mod = .{ .rm = .{ .size = .qword } },
15328 }),
15329 .call => try self.asmMemory(.{ ._, .call }, .{
15330 .base = .{ .reloc = reloc },15326 .base = .{ .reloc = reloc },
15331 .mod = .{ .rm = .{ .size = .qword } },15327 .mod = .{ .rm = .{ .size = .qword } },
15332 }),15328 }),
15329 .call => try self.asmImmediate(.{ ._, .call }, Immediate.rel(reloc)),
15333 else => unreachable,15330 else => unreachable,
15334 }15331 }
15335 }15332 }