]> Cypherpunks repositories - gostls13.git/commitdiff
syscall: fix vet complaints for all dragonfly, freebsd, netbsd, openbsd
authorRuss Cox <rsc@golang.org>
Wed, 8 May 2019 19:10:29 +0000 (15:10 -0400)
committerRuss Cox <rsc@golang.org>
Thu, 9 May 2019 21:13:25 +0000 (21:13 +0000)
Working toward making the tree vet-safe instead of having
so many exceptions in cmd/vet/all/whitelist.

This CL makes "go vet -unsafeptr=false runtime" happy for these GOOSes,
while keeping "GO_BUILDER_NAME=misc-vetall go tool dist test" happy too.

For #31916.

Change-Id: Id2e1223497bd0cd6e880cd81f3ece6363e58219f
Reviewed-on: https://go-review.googlesource.com/c/go/+/176104
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
src/cmd/vet/all/whitelist/dragonfly_amd64.txt [deleted file]
src/cmd/vet/all/whitelist/freebsd_386.txt
src/cmd/vet/all/whitelist/freebsd_amd64.txt [deleted file]
src/cmd/vet/all/whitelist/netbsd_386.txt
src/cmd/vet/all/whitelist/netbsd_arm.txt [deleted file]
src/cmd/vet/all/whitelist/openbsd_386.txt
src/syscall/asm9_unix2_amd64.s
src/syscall/asm_netbsd_arm.s
src/syscall/asm_unix_386.s

diff --git a/src/cmd/vet/all/whitelist/dragonfly_amd64.txt b/src/cmd/vet/all/whitelist/dragonfly_amd64.txt
deleted file mode 100644 (file)
index 0db5503..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-// dragonfly/amd64-specific vet whitelist. See readme.txt for details.
-
-
-syscall/asm9_unix2_amd64.s: [amd64] Syscall9: 8(SP) should be num+0(FP)
-syscall/asm9_unix2_amd64.s: [amd64] Syscall9: 16(SP) should be a1+8(FP)
-syscall/asm9_unix2_amd64.s: [amd64] Syscall9: 24(SP) should be a2+16(FP)
index b5218e814fbcdaf4c53f068b251716f8677b94f6..ed83a3e5ac0c1c7464c461491eb3888a851850f7 100644 (file)
@@ -6,13 +6,3 @@ runtime/sys_freebsd_386.s: [386] sigtramp: unknown variable info
 runtime/sys_freebsd_386.s: [386] sigtramp: unknown variable context
 runtime/sys_freebsd_386.s: [386] sigtramp: unknown variable context
 runtime/sys_freebsd_386.s: [386] i386_set_ldt: function i386_set_ldt missing Go declaration
-syscall/asm_unix_386.s: [386] Syscall: 8(SP) should be a1+4(FP)
-syscall/asm_unix_386.s: [386] Syscall: 4(SP) should be trap+0(FP)
-syscall/asm_unix_386.s: [386] Syscall6: 8(SP) should be a1+4(FP)
-syscall/asm_unix_386.s: [386] Syscall6: 4(SP) should be trap+0(FP)
-syscall/asm_unix_386.s: [386] Syscall9: 8(SP) should be a1+4(FP)
-syscall/asm_unix_386.s: [386] Syscall9: 4(SP) should be num+0(FP)
-syscall/asm_unix_386.s: [386] RawSyscall: 8(SP) should be a1+4(FP)
-syscall/asm_unix_386.s: [386] RawSyscall: 4(SP) should be trap+0(FP)
-syscall/asm_unix_386.s: [386] RawSyscall6: 8(SP) should be a1+4(FP)
-syscall/asm_unix_386.s: [386] RawSyscall6: 4(SP) should be trap+0(FP)
diff --git a/src/cmd/vet/all/whitelist/freebsd_amd64.txt b/src/cmd/vet/all/whitelist/freebsd_amd64.txt
deleted file mode 100644 (file)
index 356be02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-// freebsd/amd64-specific vet whitelist. See readme.txt for details.
-
-syscall/asm9_unix2_amd64.s: [amd64] Syscall9: 8(SP) should be num+0(FP)
-syscall/asm9_unix2_amd64.s: [amd64] Syscall9: 16(SP) should be a1+8(FP)
-syscall/asm9_unix2_amd64.s: [amd64] Syscall9: 24(SP) should be a2+16(FP)
index 608021cae474786d2a4db14aa1b4e4da2e0a4506..bd2151de20697ee0e34269cdab38c76d0fb36d0e 100644 (file)
@@ -7,13 +7,3 @@ runtime/sys_netbsd_386.s: [386] sigtramp: unknown variable signo
 runtime/sys_netbsd_386.s: [386] sigtramp: unknown variable info
 runtime/sys_netbsd_386.s: [386] sigtramp: unknown variable context
 
-syscall/asm_unix_386.s: [386] Syscall: 8(SP) should be a1+4(FP)
-syscall/asm_unix_386.s: [386] Syscall: 4(SP) should be trap+0(FP)
-syscall/asm_unix_386.s: [386] Syscall6: 8(SP) should be a1+4(FP)
-syscall/asm_unix_386.s: [386] Syscall6: 4(SP) should be trap+0(FP)
-syscall/asm_unix_386.s: [386] Syscall9: 8(SP) should be a1+4(FP)
-syscall/asm_unix_386.s: [386] Syscall9: 4(SP) should be num+0(FP)
-syscall/asm_unix_386.s: [386] RawSyscall: 8(SP) should be a1+4(FP)
-syscall/asm_unix_386.s: [386] RawSyscall: 4(SP) should be trap+0(FP)
-syscall/asm_unix_386.s: [386] RawSyscall6: 8(SP) should be a1+4(FP)
-syscall/asm_unix_386.s: [386] RawSyscall6: 4(SP) should be trap+0(FP)
diff --git a/src/cmd/vet/all/whitelist/netbsd_arm.txt b/src/cmd/vet/all/whitelist/netbsd_arm.txt
deleted file mode 100644 (file)
index 59b2610..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-// netbsd/arm-specific vet whitelist. See readme.txt for details.
-
-syscall/asm_netbsd_arm.s: [arm] Syscall9: unknown variable trap; offset 0 is num+0(FP)
index bfbf4d9c56cd53ea96184db52a4954e011c0d22d..acda942e28cf67fd7e6fb67f801841170b573903 100644 (file)
@@ -3,13 +3,3 @@
 runtime/sys_openbsd_386.s: [386] sigtramp: unknown variable signo
 runtime/sys_openbsd_386.s: [386] sigtramp: unknown variable info
 runtime/sys_openbsd_386.s: [386] sigtramp: unknown variable context
-syscall/asm_unix_386.s: [386] Syscall: 8(SP) should be a1+4(FP)
-syscall/asm_unix_386.s: [386] Syscall: 4(SP) should be trap+0(FP)
-syscall/asm_unix_386.s: [386] Syscall6: 8(SP) should be a1+4(FP)
-syscall/asm_unix_386.s: [386] Syscall6: 4(SP) should be trap+0(FP)
-syscall/asm_unix_386.s: [386] Syscall9: 8(SP) should be a1+4(FP)
-syscall/asm_unix_386.s: [386] Syscall9: 4(SP) should be num+0(FP)
-syscall/asm_unix_386.s: [386] RawSyscall: 8(SP) should be a1+4(FP)
-syscall/asm_unix_386.s: [386] RawSyscall: 4(SP) should be trap+0(FP)
-syscall/asm_unix_386.s: [386] RawSyscall6: 8(SP) should be a1+4(FP)
-syscall/asm_unix_386.s: [386] RawSyscall6: 4(SP) should be trap+0(FP)
index 11a6c1f4854cde87a7c009d5f12d33f8d080d3f0..6633c125297d1794b6f2e855d1e7923253b42925 100644 (file)
@@ -24,12 +24,14 @@ TEXT        ·Syscall9(SB),NOSPLIT,$0-104
 
        // shift around the last three arguments so they're at the
        // top of the stack when the syscall is called.
+       // note that we are scribbling over the Go arguments now.
+       MOVQ    SP, CX  // hide (SP) writes from vet
        MOVQ    a7+56(FP), R11 // arg 7
-       MOVQ    R11, 8(SP)
+       MOVQ    R11, 8(CX)
        MOVQ    a8+64(FP), R11 // arg 8
-       MOVQ    R11, 16(SP)
+       MOVQ    R11, 16(CX)
        MOVQ    a9+72(FP), R11 // arg 9
-       MOVQ    R11, 24(SP)
+       MOVQ    R11, 24(CX)
 
        SYSCALL
        JCC     ok9
index 18bca568205f63e86d14740c6396133d5c6de812..d7c1e9da99d3829c3cb3091bcd0bacce3d667b5f 100644 (file)
@@ -62,7 +62,7 @@ error6:
 
 TEXT   ·Syscall9(SB),NOSPLIT,$0-52
        BL runtime·entersyscall(SB)
-       MOVW trap+0(FP), R0 // sigcall num
+       MOVW num+0(FP), R0 // sigcall num
        MOVW a1+4(FP), R1 // a1
        MOVW a2+8(FP), R2 // a2
        MOVW a3+12(FP), R3 // a3
index 263355c493684b1a1b8115311b3cbc1bb463c926..1e82b8800ed41206e99246dab4a2c08748f9d947 100644 (file)
@@ -19,8 +19,8 @@ TEXT  ·Syscall(SB),NOSPLIT,$0-28
        CALL    runtime·entersyscall(SB)
        MOVL    trap+0(FP), AX  // syscall entry
        // slide args down on top of system call number
-       LEAL            8(SP), SI
-       LEAL            4(SP), DI
+       LEAL            a1+4(FP), SI
+       LEAL            trap+0(FP), DI
        CLD
        MOVSL
        MOVSL
@@ -43,8 +43,8 @@ TEXT  ·Syscall6(SB),NOSPLIT,$0-40
        CALL    runtime·entersyscall(SB)
        MOVL    trap+0(FP), AX  // syscall entry
        // slide args down on top of system call number
-       LEAL            8(SP), SI
-       LEAL            4(SP), DI
+       LEAL            a1+4(FP), SI
+       LEAL            trap+0(FP), DI
        CLD
        MOVSL
        MOVSL
@@ -70,8 +70,8 @@ TEXT  ·Syscall9(SB),NOSPLIT,$0-52
        CALL    runtime·entersyscall(SB)
        MOVL    num+0(FP), AX   // syscall entry
        // slide args down on top of system call number
-       LEAL            8(SP), SI
-       LEAL            4(SP), DI
+       LEAL            a1+4(FP), SI
+       LEAL            num+0(FP), DI
        CLD
        MOVSL
        MOVSL
@@ -99,8 +99,8 @@ ok9:
 TEXT ·RawSyscall(SB),NOSPLIT,$0-28
        MOVL    trap+0(FP), AX  // syscall entry
        // slide args down on top of system call number
-       LEAL            8(SP), SI
-       LEAL            4(SP), DI
+       LEAL            a1+4(FP), SI
+       LEAL            trap+0(FP), DI
        CLD
        MOVSL
        MOVSL
@@ -120,8 +120,8 @@ ok1:
 TEXT   ·RawSyscall6(SB),NOSPLIT,$0-40
        MOVL    trap+0(FP), AX  // syscall entry
        // slide args down on top of system call number
-       LEAL            8(SP), SI
-       LEAL            4(SP), DI
+       LEAL            a1+4(FP), SI
+       LEAL            trap+0(FP), DI
        CLD
        MOVSL
        MOVSL