diff options
Diffstat (limited to 'src/pkg/runtime/darwin/amd64')
-rw-r--r-- | src/pkg/runtime/darwin/amd64/signal.c | 1 | ||||
-rw-r--r-- | src/pkg/runtime/darwin/amd64/sys.s | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/src/pkg/runtime/darwin/amd64/signal.c b/src/pkg/runtime/darwin/amd64/signal.c index 474a1bd5c..948b6c9c2 100644 --- a/src/pkg/runtime/darwin/amd64/signal.c +++ b/src/pkg/runtime/darwin/amd64/signal.c @@ -76,6 +76,7 @@ runtime·sighandler(int32 sig, Siginfo *info, void *context) gp->sig = sig; gp->sigcode0 = info->si_code; gp->sigcode1 = (uintptr)info->si_addr; + gp->sigpc = r->rip; // Only push runtime·sigpanic if r->rip != 0. // If r->rip == 0, probably panicked because of a diff --git a/src/pkg/runtime/darwin/amd64/sys.s b/src/pkg/runtime/darwin/amd64/sys.s index 05dbc7b93..bc970156a 100644 --- a/src/pkg/runtime/darwin/amd64/sys.s +++ b/src/pkg/runtime/darwin/amd64/sys.s @@ -141,7 +141,7 @@ TEXT runtime·bsdthread_create(SB),7,$0 MOVQ $(0x2000000+360), AX // bsdthread_create SYSCALL JCC 3(PC) - MOVL $-1, AX + NEGL AX RET MOVL $0, AX RET |