aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2020-12-09 14:08:45 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2020-12-09 14:08:45 +0100
commitd696e31b6ed63923c1e3a9b7e062ad59658cf7b8 (patch)
tree7e284f7ba5563ccfec686f74bca4a8fb4f130927
parentglobal: bump year in header (diff)
downloadwireguard-apple-d696e31b6ed63923c1e3a9b7e062ad59658cf7b8.tar.xz
wireguard-apple-d696e31b6ed63923c1e3a9b7e062ad59658cf7b8.zip
WireGuardKitGo: rebase boottime patch onto Go 1.15.6
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-rw-r--r--README.md2
-rw-r--r--Sources/WireGuardKitGo/goruntime-boottime-over-monotonic.diff50
2 files changed, 13 insertions, 39 deletions
diff --git a/README.md b/README.md
index 9b5283a..953ea63 100644
--- a/README.md
+++ b/README.md
@@ -18,7 +18,7 @@ $ cp Sources/WireGuardApp/Config/Developer.xcconfig.template Sources/WireGuardAp
$ vim Sources/WireGuardApp/Config/Developer.xcconfig
```
-- Install swiftlint and go 1.13.4:
+- Install swiftlint and go 1.15:
```
$ brew install swiftlint go
diff --git a/Sources/WireGuardKitGo/goruntime-boottime-over-monotonic.diff b/Sources/WireGuardKitGo/goruntime-boottime-over-monotonic.diff
index 71b4ebf..d5212ef 100644
--- a/Sources/WireGuardKitGo/goruntime-boottime-over-monotonic.diff
+++ b/Sources/WireGuardKitGo/goruntime-boottime-over-monotonic.diff
@@ -1,6 +1,6 @@
-From 04f5695b83cd221e99e9fa6171b57e45177d5ad3 Mon Sep 17 00:00:00 2001
+From aa85e0f90c9031ff5be32296e9fed1637a2eceae Mon Sep 17 00:00:00 2001
From: "Jason A. Donenfeld" <Jason@zx2c4.com>
-Date: Wed, 27 Feb 2019 05:33:01 +0100
+Date: Wed, 9 Dec 2020 14:07:06 +0100
Subject: [PATCH] runtime: use libc_mach_continuous_time in nanotime on Darwin
This makes timers account for having expired while a computer was
@@ -9,19 +9,19 @@ continuous_time absolute_time, except that it takes into account
time spent in suspend.
Fixes #24595
+
+Change-Id: Ia3282e8bd86f95ad2b76427063e60a005563f4eb
---
src/runtime/sys_darwin.go | 2 +-
- src/runtime/sys_darwin_386.s | 2 +-
src/runtime/sys_darwin_amd64.s | 2 +-
- src/runtime/sys_darwin_arm.s | 2 +-
src/runtime/sys_darwin_arm64.s | 2 +-
- 5 files changed, 5 insertions(+), 5 deletions(-)
+ 3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/runtime/sys_darwin.go b/src/runtime/sys_darwin.go
-index 376f76dbc5..a0677a83f6 100644
+index 06474434c9..6f7ca37122 100644
--- a/src/runtime/sys_darwin.go
+++ b/src/runtime/sys_darwin.go
-@@ -431,7 +431,7 @@ func setNonblock(fd int32) {
+@@ -469,7 +469,7 @@ func setNonblock(fd int32) {
//go:cgo_import_dynamic libc_usleep usleep "/usr/lib/libSystem.B.dylib"
//go:cgo_import_dynamic libc_mach_timebase_info mach_timebase_info "/usr/lib/libSystem.B.dylib"
@@ -30,24 +30,11 @@ index 376f76dbc5..a0677a83f6 100644
//go:cgo_import_dynamic libc_gettimeofday gettimeofday "/usr/lib/libSystem.B.dylib"
//go:cgo_import_dynamic libc_sigaction sigaction "/usr/lib/libSystem.B.dylib"
//go:cgo_import_dynamic libc_pthread_sigmask pthread_sigmask "/usr/lib/libSystem.B.dylib"
-diff --git a/src/runtime/sys_darwin_386.s b/src/runtime/sys_darwin_386.s
-index e653c54f61..5a43fcbdc1 100644
---- a/src/runtime/sys_darwin_386.s
-+++ b/src/runtime/sys_darwin_386.s
-@@ -199,7 +199,7 @@ TEXT runtime·nanotime_trampoline(SB),NOSPLIT,$0
- PUSHL BP
- MOVL SP, BP
- SUBL $8+(machTimebaseInfo__size+15)/16*16, SP
-- CALL libc_mach_absolute_time(SB)
-+ CALL libc_mach_continuous_time(SB)
- MOVL 16+(machTimebaseInfo__size+15)/16*16(SP), CX
- MOVL AX, 0(CX)
- MOVL DX, 4(CX)
diff --git a/src/runtime/sys_darwin_amd64.s b/src/runtime/sys_darwin_amd64.s
-index 87c8db8c82..f962f24339 100644
+index 825852d673..5a8b994fb1 100644
--- a/src/runtime/sys_darwin_amd64.s
+++ b/src/runtime/sys_darwin_amd64.s
-@@ -97,7 +97,7 @@ TEXT runtime·nanotime_trampoline(SB),NOSPLIT,$0
+@@ -109,7 +109,7 @@ TEXT runtime·nanotime_trampoline(SB),NOSPLIT,$0
PUSHQ BP
MOVQ SP, BP
MOVQ DI, BX
@@ -56,24 +43,11 @@ index 87c8db8c82..f962f24339 100644
MOVQ AX, 0(BX)
MOVL timebase<>+machTimebaseInfo_numer(SB), SI
MOVL timebase<>+machTimebaseInfo_denom(SB), DI // atomic read
-diff --git a/src/runtime/sys_darwin_arm.s b/src/runtime/sys_darwin_arm.s
-index 996f8028a3..5bd34b51be 100644
---- a/src/runtime/sys_darwin_arm.s
-+++ b/src/runtime/sys_darwin_arm.s
-@@ -126,7 +126,7 @@ GLOBL timebase<>(SB),NOPTR,$(machTimebaseInfo__size)
-
- TEXT runtime·nanotime_trampoline(SB),NOSPLIT,$0
- MOVW R0, R8
-- BL libc_mach_absolute_time(SB)
-+ BL libc_mach_continuous_time(SB)
- MOVW R0, 0(R8)
- MOVW R1, 4(R8)
- MOVW timebase<>+machTimebaseInfo_numer(SB), R6
diff --git a/src/runtime/sys_darwin_arm64.s b/src/runtime/sys_darwin_arm64.s
-index ac3ca74f63..5e91540f94 100644
+index 585d4f2c64..c556d88730 100644
--- a/src/runtime/sys_darwin_arm64.s
+++ b/src/runtime/sys_darwin_arm64.s
-@@ -121,7 +121,7 @@ GLOBL timebase<>(SB),NOPTR,$(machTimebaseInfo__size)
+@@ -135,7 +135,7 @@ GLOBL timebase<>(SB),NOPTR,$(machTimebaseInfo__size)
TEXT runtime·nanotime_trampoline(SB),NOSPLIT,$40
MOVD R0, R19
@@ -83,5 +57,5 @@ index ac3ca74f63..5e91540f94 100644
MOVW timebase<>+machTimebaseInfo_numer(SB), R20
MOVD $timebase<>+machTimebaseInfo_denom(SB), R21
--
-2.23.0
+2.29.2