]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: switch FreeBSD to use the non-COMPAT_FREEBSD11 version of the kevent syscall
authorYuval Pavel Zholkover <paulzhol@gmail.com>
Sat, 18 Jun 2022 19:02:14 +0000 (22:02 +0300)
committerMeng Zhuo <mzh@golangcn.org>
Fri, 16 Sep 2022 06:31:07 +0000 (06:31 +0000)
Update #53280

Change-Id: I1c8d4510fbe8bdfe9a41575bde54ea2fbf6b67e9
Reviewed-on: https://go-review.googlesource.com/c/go/+/413174
Reviewed-by: Dmitri Goutnik <dgoutnik@gmail.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Bryan Mills <bcmills@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Run-TryBot: Yuval Pavel Zholkover <paulzhol@gmail.com>

src/runtime/defs_freebsd.go
src/runtime/defs_freebsd_386.go
src/runtime/defs_freebsd_amd64.go
src/runtime/defs_freebsd_arm.go
src/runtime/defs_freebsd_arm64.go
src/runtime/sys_freebsd_386.s
src/runtime/sys_freebsd_amd64.s
src/runtime/sys_freebsd_arm.s
src/runtime/sys_freebsd_arm64.s

index c4204ae0e792d72dd4cbf3bb397047794f14db4d..87229fabe8318298af6f6954f9d721070a9325c5 100644 (file)
@@ -16,10 +16,11 @@ package runtime
 
 /*
 #include <sys/types.h>
+#include <unistd.h>
+#include <fcntl.h>
 #include <sys/time.h>
 #include <signal.h>
 #include <errno.h>
-#define _WANT_FREEBSD11_KEVENT 1
 #include <sys/event.h>
 #include <sys/mman.h>
 #include <sys/ucontext.h>
@@ -45,9 +46,10 @@ const (
 )
 
 const (
-       EINTR  = C.EINTR
-       EFAULT = C.EFAULT
-       EAGAIN = C.EAGAIN
+       EINTR     = C.EINTR
+       EFAULT    = C.EFAULT
+       EAGAIN    = C.EAGAIN
+       ETIMEDOUT = C.ETIMEDOUT
 
        O_NONBLOCK = C.O_NONBLOCK
        O_CLOEXEC  = C.O_CLOEXEC
@@ -155,7 +157,7 @@ type Itimerval C.struct_itimerval
 
 type Umtx_time C.struct__umtx_time
 
-type Kevent C.struct_kevent_freebsd11
+type KeventT C.struct_kevent
 
 type bintime C.struct_bintime
 type vdsoTimehands C.struct_vdso_timehands
index 35af133bdda99dfb79a16e5ebe912c5e155d8eed..021caed255ed1b3011a22e6822f183c4deafd08c 100644 (file)
@@ -1,5 +1,6 @@
-// created by cgo -cdefs and then converted to Go
-// cgo -cdefs defs_freebsd.go
+// Code generated by cgo, then manually converted into appropriate naming and code
+// for the Go runtime.
+// go tool cgo -godefs defs_freebsd.go
 
 package runtime
 
@@ -229,8 +230,9 @@ type keventt struct {
        filter int16
        flags  uint16
        fflags uint32
-       data   int32
+       data   int64
        udata  *byte
+       ext    [4]uint64
 }
 
 type bintime struct {
index 791c4d1d0317f603287af99e1ec45e25222eff1d..d747769696a75007ca1329a33c154b3807c80ed0 100644 (file)
@@ -1,5 +1,6 @@
-// created by cgo -cdefs and then converted to Go
-// cgo -cdefs defs_freebsd.go
+// Code generated by cgo, then manually converted into appropriate naming and code
+// for the Go runtime.
+// go tool cgo -godefs defs_freebsd.go
 
 package runtime
 
@@ -242,6 +243,7 @@ type keventt struct {
        fflags uint32
        data   int64
        udata  *byte
+       ext    [4]uint64
 }
 
 type bintime struct {
index 9ab49c276ae0271444a4b06f3d2c587fea6f2457..05cfc818ddd2f3334efe65490f4fae9efa2c3483 100644 (file)
@@ -1,5 +1,6 @@
-// created by cgo -cdefs and then converted to Go
-// cgo -cdefs defs_freebsd.go
+// Code generated by cgo, then manually converted into appropriate naming and code
+// for the Go runtime.
+// go tool cgo -godefs defs_freebsd.go
 
 package runtime
 
@@ -198,12 +199,15 @@ type umtx_time struct {
 }
 
 type keventt struct {
-       ident  uint32
-       filter int16
-       flags  uint16
-       fflags uint32
-       data   int32
-       udata  *byte
+       ident     uint32
+       filter    int16
+       flags     uint16
+       fflags    uint32
+       pad_cgo_0 [4]byte
+       data      int64
+       udata     *byte
+       pad_cgo_1 [4]byte
+       ext       [4]uint64
 }
 
 type bintime struct {
index 9d8e2430746230813bc2cb6e83e2807658a38705..4b2792cebcad64e3fd9c4ab0679a38179a9f7803 100644 (file)
@@ -1,5 +1,6 @@
-// created by cgo -cdefs and then converted to Go
-// cgo -cdefs defs_freebsd.go
+// Code generated by cgo, then manually converted into appropriate naming and code
+// for the Go runtime.
+// go tool cgo -godefs defs_freebsd.go
 
 package runtime
 
@@ -226,6 +227,7 @@ type keventt struct {
        fflags uint32
        data   int64
        udata  *byte
+       ext    [4]uint64
 }
 
 type bintime struct {
index e10c89665c628984d96c16288cf03da425e42f99..f919c5a000a5d5469cfdcdfa4b6b1621758c94d0 100644 (file)
@@ -34,7 +34,6 @@
 #define SYS_sched_yield                331
 #define SYS_sigprocmask                340
 #define SYS_kqueue             362
-#define SYS_kevent             363
 #define SYS_sigaction          416
 #define SYS_sigreturn          417
 #define SYS_thr_exit           431
@@ -45,6 +44,7 @@
 #define SYS_mmap               477
 #define SYS_cpuset_getaffinity 487
 #define SYS_pipe2              542
+#define SYS_kevent             560
 
 TEXT runtime·sys_umtx_op(SB),NOSPLIT,$-4
        MOVL    $SYS__umtx_op, AX
index ab6e09a81b174e4a767719f54a9805f347548fc8..35311398daf898d6d96986b9ae1fda77f52303a0 100644 (file)
@@ -36,7 +36,6 @@
 #define SYS_sched_yield                331
 #define SYS_sigprocmask                340
 #define SYS_kqueue             362
-#define SYS_kevent             363
 #define SYS_sigaction          416
 #define SYS_thr_exit           431
 #define SYS_thr_self           432
@@ -46,6 +45,7 @@
 #define SYS_mmap               477
 #define SYS_cpuset_getaffinity 487
 #define SYS_pipe2              542
+#define SYS_kevent             560
 
 TEXT runtime·sys_umtx_op(SB),NOSPLIT,$0
        MOVQ addr+0(FP), DI
index cbee34d13be7f74770e40024b306b6c29c167d8f..89a8d2bfac29a6b92b0b044e3815f130bf1cb1ee 100644 (file)
@@ -31,7 +31,6 @@
 #define SYS_sched_yield (SYS_BASE + 331)
 #define SYS_sigprocmask (SYS_BASE + 340)
 #define SYS_kqueue (SYS_BASE + 362)
-#define SYS_kevent (SYS_BASE + 363)
 #define SYS_sigaction (SYS_BASE + 416)
 #define SYS_thr_exit (SYS_BASE + 431)
 #define SYS_thr_self (SYS_BASE + 432)
@@ -41,6 +40,7 @@
 #define SYS_mmap (SYS_BASE + 477)
 #define SYS_cpuset_getaffinity (SYS_BASE + 487)
 #define SYS_pipe2 (SYS_BASE + 542)
+#define SYS_kevent (SYS_BASE + 560)
 
 TEXT runtime·sys_umtx_op(SB),NOSPLIT,$0
        MOVW addr+0(FP), R0
index cb960773ebeed38343fa7dac3165f66ffbf50131..4f24da62ef162da85a09a4a54ffecc96f3129d12 100644 (file)
@@ -38,7 +38,6 @@
 #define SYS_sched_yield                331
 #define SYS_sigprocmask                340
 #define SYS_kqueue             362
-#define SYS_kevent             363
 #define SYS_sigaction          416
 #define SYS_thr_exit           431
 #define SYS_thr_self           432
@@ -48,6 +47,7 @@
 #define SYS_mmap               477
 #define SYS_cpuset_getaffinity 487
 #define SYS_pipe2              542
+#define SYS_kevent             560
 
 TEXT emptyfunc<>(SB),0,$0-0
        RET