diff options
| author | Ian Lance Taylor <iant@golang.org> | 2016-07-20 15:40:10 -0700 |
|---|---|---|
| committer | Ian Lance Taylor <iant@golang.org> | 2016-07-21 01:04:22 +0000 |
| commit | ff227b8a56b66e72de744a39f5b68d6e6ce7f3fe (patch) | |
| tree | c16afc19a2ebcb85eef6563f4843e0c6cc18d7b3 /src/runtime/sys_darwin_amd64.s | |
| parent | f407ca9288c8556c466e316f390ee7e7e99647ae (diff) | |
| download | go-ff227b8a56b66e72de744a39f5b68d6e6ce7f3fe.tar.xz | |
runtime: add explicit `INT $3` at end of Darwin amd64 sigtramp
The omission of this instruction could confuse the traceback code if a
SIGPROF occurred during a signal handler. The traceback code would
trace up to sigtramp, but would then get confused because it would see a
PC address that did not appear to be in the function.
Fixes #16453.
Change-Id: I2b3d53e0b272fb01d9c2cb8add22bad879d3eebc
Reviewed-on: https://go-review.googlesource.com/25104
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
Diffstat (limited to 'src/runtime/sys_darwin_amd64.s')
| -rw-r--r-- | src/runtime/sys_darwin_amd64.s | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/runtime/sys_darwin_amd64.s b/src/runtime/sys_darwin_amd64.s index e09b906ba5..e4837ce291 100644 --- a/src/runtime/sys_darwin_amd64.s +++ b/src/runtime/sys_darwin_amd64.s @@ -244,6 +244,7 @@ TEXT runtime·sigtramp(SB),NOSPLIT,$32 MOVQ R8, 24(SP) // ctx MOVQ $runtime·sigtrampgo(SB), AX CALL AX + INT $3 // not reached (see issue 16453) TEXT runtime·mmap(SB),NOSPLIT,$0 MOVQ addr+0(FP), DI // arg 1 addr |
