@@ -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