From f37255cefaae3330edbea45c6cf6996cb76cea99 Mon Sep 17 00:00:00 2001 From: Ori Bernstein Date: Mon, 15 Sep 2014 02:39:00 -0400 Subject: Now the abort code works on OSX. --- rt/abort.s | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/rt/abort.s b/rt/abort.s index 8ac1c02..9c44ec7 100644 --- a/rt/abort.s +++ b/rt/abort.s @@ -7,18 +7,20 @@ __rt$abort_oob: /* format pc */ movq (%rsp),%rax movq $15,%rdx + leaq .digitchars(%rip),%r8 + leaq .pcstr(%rip),%r9 .loop: movq %rax, %rcx andq $0xf, %rcx - movb .digitchars(%rcx),%r8b - movb %r8b,.pcstr(%rdx) + movb (%r8,%rcx),%r10b + movb %r10b,(%r9,%rdx) subq $1, %rdx shrq $4, %rax jnz .loop /* write abort message */ movq $1, %rax /* write(fd=%rdi, msg=%rsi, len=%rdx) */ movq $2, %rdi /* fd */ - movq $.msg, %rsi /* msg */ + leaq .msg(%rip), %rsi /* msg */ movq $(.msgend-.msg), %rdx /* length */ syscall /* kill self */ @@ -30,10 +32,9 @@ __rt$abort_oob: syscall .data .msg: /* pc name: */ - .byte '0','x' + .ascii "0x" .pcstr: - .byte '0','0','0','0','0','0','0','0' - .byte '0','0','0','0','0','0','0','0' + .ascii "0000000000000000" .ascii ": out of bounds access\n" .msgend: -- cgit v1.1