aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Sing <joel@sing.id.au>2016-12-08 00:22:09 +1100
committerJoel Sing <joel@sing.id.au>2017-10-03 12:14:14 +0000
commit197bf4ddc36250937748eeeb655d6b2e27f0471a (patch)
tree5227dab2475eb0537c8de3d98b1742658bf72b9e
parentee88852fc1e721a71d15bd477e3cc6df904b5f78 (diff)
downloadgo-197bf4ddc36250937748eeeb655d6b2e27f0471a.tar.gz
go-197bf4ddc36250937748eeeb655d6b2e27f0471a.zip
[release-branch.go1.4] runtime, syscall: update openbsd for changes to syskill
Change the openbsd runtime to use the current sys_kill and sys_thrkill system calls. This is a backport of https://golang.org/cl/34093 to the Go 1.4 branch. Updates #20672 Change-Id: I4fde5bad2fbfbe99196053d69ba235b49ddb32c8 Reviewed-on: https://go-review.googlesource.com/66072 Reviewed-by: Ian Lance Taylor <iant@golang.org>
-rw-r--r--api/except.txt4
-rw-r--r--src/runtime/sys_openbsd_386.s7
-rw-r--r--src/runtime/sys_openbsd_amd64.s5
-rw-r--r--src/syscall/zsysnum_openbsd_386.go2
-rw-r--r--src/syscall/zsysnum_openbsd_amd64.go2
5 files changed, 13 insertions, 7 deletions
diff --git a/api/except.txt b/api/except.txt
index 6e40e1844ee..4b021fb208e 100644
--- a/api/except.txt
+++ b/api/except.txt
@@ -327,4 +327,8 @@ pkg syscall (netbsd-arm), const SizeofIfData = 132
pkg syscall (netbsd-arm), type IfMsghdr struct, Pad_cgo_1 [4]uint8
pkg syscall (netbsd-arm-cgo), const SizeofIfData = 132
pkg syscall (netbsd-arm-cgo), type IfMsghdr struct, Pad_cgo_1 [4]uint8
+pkg syscall (openbsd-386), const SYS_KILL = 37
+pkg syscall (openbsd-386-cgo), const SYS_KILL = 37
+pkg syscall (openbsd-amd64), const SYS_KILL = 37
+pkg syscall (openbsd-amd64-cgo), const SYS_KILL = 37
pkg unicode, const Version = "6.3.0"
diff --git a/src/runtime/sys_openbsd_386.s b/src/runtime/sys_openbsd_386.s
index b9067871cdd..ba241e56ff4 100644
--- a/src/runtime/sys_openbsd_386.s
+++ b/src/runtime/sys_openbsd_386.s
@@ -70,14 +70,15 @@ TEXT runtime·usleep(SB),NOSPLIT,$24
INT $0x80
RET
-TEXT runtime·raise(SB),NOSPLIT,$12
+TEXT runtime·raise(SB),NOSPLIT,$16
MOVL $299, AX // sys_getthrid
INT $0x80
MOVL $0, 0(SP)
- MOVL AX, 4(SP) // arg 1 - pid
+ MOVL AX, 4(SP) // arg 1 - tid
MOVL sig+0(FP), AX
MOVL AX, 8(SP) // arg 2 - signum
- MOVL $37, AX // sys_kill
+ MOVL $0, 12(SP) // arg 3 - tcb
+ MOVL $119, AX // sys_thrkill
INT $0x80
RET
diff --git a/src/runtime/sys_openbsd_amd64.s b/src/runtime/sys_openbsd_amd64.s
index 4e9db239082..be39b1c2553 100644
--- a/src/runtime/sys_openbsd_amd64.s
+++ b/src/runtime/sys_openbsd_amd64.s
@@ -147,9 +147,10 @@ TEXT runtime·usleep(SB),NOSPLIT,$16
TEXT runtime·raise(SB),NOSPLIT,$16
MOVL $299, AX // sys_getthrid
SYSCALL
- MOVQ AX, DI // arg 1 - pid
+ MOVQ AX, DI // arg 1 - tid
MOVL sig+0(FP), SI // arg 2 - signum
- MOVL $37, AX // sys_kill
+ MOVQ $0, DX // arg 3 - tcb
+ MOVL $119, AX // sys_thrkill
SYSCALL
RET
diff --git a/src/syscall/zsysnum_openbsd_386.go b/src/syscall/zsysnum_openbsd_386.go
index 3b9ac4c941d..7480d33708f 100644
--- a/src/syscall/zsysnum_openbsd_386.go
+++ b/src/syscall/zsysnum_openbsd_386.go
@@ -39,7 +39,6 @@ const (
SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); }
SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); }
SYS_SYNC = 36 // { void sys_sync(void); }
- SYS_KILL = 37 // { int sys_kill(int pid, int signum); }
SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); }
SYS_GETPPID = 39 // { pid_t sys_getppid(void); }
SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); }
@@ -111,6 +110,7 @@ const (
SYS_READV = 120 // { ssize_t sys_readv(int fd, \
SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, \
SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); }
+ SYS_KILL = 122 // { int sys_kill(int pid, int signum); }
SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); }
SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); }
SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); }
diff --git a/src/syscall/zsysnum_openbsd_amd64.go b/src/syscall/zsysnum_openbsd_amd64.go
index 3b9ac4c941d..fff664ef394 100644
--- a/src/syscall/zsysnum_openbsd_amd64.go
+++ b/src/syscall/zsysnum_openbsd_amd64.go
@@ -39,7 +39,6 @@ const (
SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); }
SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); }
SYS_SYNC = 36 // { void sys_sync(void); }
- SYS_KILL = 37 // { int sys_kill(int pid, int signum); }
SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); }
SYS_GETPPID = 39 // { pid_t sys_getppid(void); }
SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); }
@@ -110,6 +109,7 @@ const (
SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, \
SYS_READV = 120 // { ssize_t sys_readv(int fd, \
SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, \
+ SYS_KILL = 122 // { int sys_kill(int pid, int signum); }
SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); }
SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); }
SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); }