diff options
| author | Than McIntosh <thanm@google.com> | 2019-11-01 10:44:44 -0400 |
|---|---|---|
| committer | Than McIntosh <thanm@google.com> | 2019-11-01 10:45:24 -0400 |
| commit | c0555a2a7a0ca83fdbb55219299fcfe1ff33e4df (patch) | |
| tree | 25c35dc6bf5b8134906338df0f612fbe75089ca7 /src/runtime/sys_linux_arm.s | |
| parent | 219922e95b8e49cfb94da9de0c48edb22a2e7054 (diff) | |
| parent | 8405cd3005a5274e80e41676146629c4086b6380 (diff) | |
| download | go-c0555a2a7a0ca83fdbb55219299fcfe1ff33e4df.tar.xz | |
[dev.link] all: merge branch 'master' into dev.link
Fixed a couple of minor conflicts in lib.go and deadcode.go
relating to debug logging.
Change-Id: I58335fc42ab1f1f3409fd8354da4f26419e8fb22
Diffstat (limited to 'src/runtime/sys_linux_arm.s')
| -rw-r--r-- | src/runtime/sys_linux_arm.s | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/runtime/sys_linux_arm.s b/src/runtime/sys_linux_arm.s index 9a9e1c92c7..9ef8c9258b 100644 --- a/src/runtime/sys_linux_arm.s +++ b/src/runtime/sys_linux_arm.s @@ -172,6 +172,20 @@ TEXT runtime·raiseproc(SB),NOSPLIT|NOFRAME,$0 SWI $0 RET +TEXT ·getpid(SB),NOSPLIT,$0-4 + MOVW $SYS_getpid, R7 + SWI $0 + MOVW R0, ret+0(FP) + RET + +TEXT ·tgkill(SB),NOSPLIT,$0-12 + MOVW tgid+0(FP), R0 + MOVW tid+4(FP), R1 + MOVW sig+8(FP), R2 + MOVW $SYS_tgkill, R7 + SWI $0 + RET + TEXT runtime·mmap(SB),NOSPLIT,$0 MOVW addr+0(FP), R0 MOVW n+4(FP), R1 @@ -479,7 +493,11 @@ TEXT runtime·sigfwd(SB),NOSPLIT,$0-16 MOVW R4, R13 RET -TEXT runtime·sigtramp(SB),NOSPLIT,$12 +TEXT runtime·sigtramp(SB),NOSPLIT,$0 + // Reserve space for callee-save registers and arguments. + MOVM.DB.W [R4-R11], (R13) + SUB $16, R13 + // this might be called in external code context, // where g is not set. // first save R0, because runtime·load_g will clobber it @@ -492,6 +510,11 @@ TEXT runtime·sigtramp(SB),NOSPLIT,$12 MOVW R2, 12(R13) MOVW $runtime·sigtrampgo(SB), R11 BL (R11) + + // Restore callee-save registers. + ADD $16, R13 + MOVM.IA.W (R13), [R4-R11] + RET TEXT runtime·cgoSigtramp(SB),NOSPLIT,$0 |
