Skip to content

Commit 8b9d118

Browse files
committed
Relative address references for Darwin
1 parent 070ed98 commit 8b9d118

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

aeneas/src/x86-64/X86_64Darwin.v3

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ class X86_64DarwinBackend extends X86_64Backend {
272272
var msgAddr = Addr.new(mach.codeRegion, null, 0);
273273
asm.movd_r_i(SYSNUM, SYS_write);
274274
asm.movd_r_i(PARAM0, STDERR);
275-
asm.lea(PARAM1, X86_64AddrRef.new(null, null, 1, msgAddr, false)); // buffer
275+
asm.lea(PARAM1, X86_64AddrRef.new(null, null, 1, msgAddr, true)); // buffer
276276
asm.movq_r_i(PARAM2, ex.length + 1); // write size
277277
asm.syscall();
278278
// 2. encode a call to exit()
@@ -288,7 +288,7 @@ class X86_64DarwinBackend extends X86_64Backend {
288288
// construct sigaction (in reverse order) on the stack
289289
asm.pushq_i(0x04000000); // sa_flags
290290
asm.pushq_i(0); // sa_mask
291-
asm.lea(Regs.RBP, X86_64AddrRef.new(null, null, 1, handler, false)); // XXX: pushq_i with patch
291+
asm.lea(Regs.RBP, X86_64AddrRef.new(null, null, 1, handler, true)); // XXX: pushq_i with patch
292292
asm.pushq_r(Regs.RBP); // sa_handler
293293
//asm.pushq_i(0x08000000); // sa_restorer (fatal signal handlers never return)
294294
//TODO: why is handler address put in the wrong place?

0 commit comments

Comments
 (0)