+++ /dev/null
-// amd64-specific vet whitelist. See readme.txt for details.
-
-// False positives.
-
-// reflect trampolines intentionally omit arg size. Same for morestack.
-runtime/asm_amd64.s: [amd64] morestack: use of 8(SP) points beyond argument frame
-runtime/asm_amd64.s: [amd64] morestack: use of 16(SP) points beyond argument frame
-runtime/asm_amd64.s: [amd64] morestack: use of 8(SP) points beyond argument frame
-
-// Intentionally missing declarations. These are special assembly routines.
-// Some are jumped into from other routines, with values in specific registers.
-// duff* have direct calls from the compiler.
-// Others use the platform ABI.
-// There is no sensible corresponding Go prototype.
-runtime/asm_amd64.s: [amd64] aeshashbody: function aeshashbody missing Go declaration
+++ /dev/null
-// android/amd64-specific vet whitelist. See readme.txt for details.
-
-runtime/sys_linux_amd64.s: [amd64] settls: function settls missing Go declaration
+++ /dev/null
-// darwin/amd64-specific vet whitelist. See readme.txt for details.
-
-runtime/sys_darwin_amd64.s: [amd64] settls: function settls missing Go declaration
// dragonfly/amd64-specific vet whitelist. See readme.txt for details.
-runtime/sys_dragonfly_amd64.s: [amd64] settls: function settls missing Go declaration
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)
// freebsd/amd64-specific vet whitelist. See readme.txt for details.
-runtime/sys_freebsd_amd64.s: [amd64] settls: function settls missing Go declaration
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)
// illumos/amd64-specific vet whitelist. See readme.txt for details.
-runtime/sys_solaris_amd64.s: [amd64] settls: function settls missing Go declaration
runtime/sys_solaris_amd64.s: [amd64] pipe1: function pipe1 missing Go declaration
runtime/sys_solaris_amd64.s: [amd64] asmsysvicall6: function asmsysvicall6 missing Go declaration
runtime/sys_solaris_amd64.s: [amd64] usleep2: function usleep2 missing Go declaration
+++ /dev/null
-// linux/amd64-specific vet whitelist. See readme.txt for details.
-
-runtime/sys_linux_amd64.s: [amd64] settls: function settls missing Go declaration
runtime/sys_nacl_amd64p32.s: [amd64p32] sigtramp: unknown variable ctxt
runtime/sys_nacl_amd64p32.s: [amd64p32] nacl_sysinfo: function nacl_sysinfo missing Go declaration
runtime/sys_nacl_amd64p32.s: [amd64p32] nacl_clock_gettime: function nacl_clock_gettime missing Go declaration
-runtime/sys_nacl_amd64p32.s: [amd64p32] settls: function settls missing Go declaration
// Clearer using FP than SP, but that requires named offsets.
runtime/asm_amd64p32.s: [amd64p32] rt0_go: unknown variable argc
// netbsd/386-specific vet whitelist. See readme.txt for details.
-runtime/sys_netbsd_ARCHSUFF.s: [GOARCH] settls: function settls missing Go declaration
-runtime/sys_netbsd_ARCHSUFF.s: [GOARCH] sigreturn_tramp: function sigreturn_tramp missing Go declaration
-
runtime/sys_netbsd_386.s: [386] sigreturn_tramp: use of 140(SP) points beyond argument frame
runtime/sys_netbsd_386.s: [386] sigreturn_tramp: use of 4(SP) points beyond argument frame
runtime/sys_netbsd_386.s: [386] sigreturn_tramp: use of 4(SP) points beyond argument frame
+++ /dev/null
-// netbsd/amd64-specific vet whitelist. See readme.txt for details.
-
-runtime/sys_netbsd_ARCHSUFF.s: [GOARCH] sigreturn_tramp: function sigreturn_tramp missing Go declaration
-
-runtime/sys_netbsd_amd64.s: [amd64] settls: function settls missing Go declaration
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
-runtime/sys_openbsd_386.s: [386] settls: function settls 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)
+++ /dev/null
-// openbsd/amd64-specific vet whitelist. See readme.txt for details.
-
-runtime/sys_openbsd_amd64.s: [amd64] settls: function settls missing Go declaration
+++ /dev/null
-// plan9/amd64-specific vet whitelist. See readme.txt for details.
-
-runtime/sys_plan9_amd64.s: [amd64] settls: function settls missing Go declaration
// solaris/amd64-specific vet whitelist. See readme.txt for details.
-runtime/sys_solaris_amd64.s: [amd64] settls: function settls missing Go declaration
runtime/sys_solaris_amd64.s: [amd64] pipe1: function pipe1 missing Go declaration
runtime/sys_solaris_amd64.s: [amd64] asmsysvicall6: function asmsysvicall6 missing Go declaration
runtime/sys_solaris_amd64.s: [amd64] usleep2: function usleep2 missing Go declaration
runtime/sys_windows_amd64.s: [amd64] ctrlhandler: RET without writing to 4-byte ret+8(FP)
runtime/sys_windows_amd64.s: [amd64] callbackasm1: function callbackasm1 missing Go declaration
runtime/sys_windows_amd64.s: [amd64] tstart_stdcall: RET without writing to 4-byte ret+8(FP)
-runtime/sys_windows_amd64.s: [amd64] settls: function settls missing Go declaration
// Called from f.
// Set m->morebuf to f's caller.
+ NOP SP // tell vet SP changed - stop checking offsets
MOVQ 8(SP), AX // f's caller's PC
MOVQ AX, (m_morebuf+gobuf_pc)(BX)
LEAQ 16(SP), AX // f's caller's SP
MOVQ p+0(FP), AX // ptr to data
MOVQ s+16(FP), CX // size
LEAQ ret+24(FP), DX
- JMP runtime·aeshashbody(SB)
+ JMP aeshashbody<>(SB)
// func aeshashstr(p unsafe.Pointer, h uintptr) uintptr
TEXT runtime·aeshashstr(SB),NOSPLIT,$0-24
MOVQ 8(AX), CX // length of string
MOVQ (AX), AX // string data
LEAQ ret+16(FP), DX
- JMP runtime·aeshashbody(SB)
+ JMP aeshashbody<>(SB)
// AX: data
// CX: length
// DX: address to put return value
-TEXT runtime·aeshashbody(SB),NOSPLIT,$0-0
+TEXT aeshashbody<>(SB),NOSPLIT,$0-0
// Fill an SSE register with our seeds.
MOVQ h+8(FP), X0 // 64 bits of per-table hash seed
PINSRW $4, CX, X0 // 16 bits of length
func float64touint32(a float64) uint32
func uint32tofloat64(a uint32) float64
+// stackcheck checks that SP is in range [g->stack.lo, g->stack.hi).
+func stackcheck()
+
// Called from assembly only; declared for go vet.
func setldt(slot uintptr, base unsafe.Pointer, size uintptr)
func emptyfunc()
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// +build amd64 amd64p32 386
+// +build amd64 amd64p32
package runtime
// stackcheck checks that SP is in range [g->stack.lo, g->stack.hi).
func stackcheck()
+
+// Called from assembly only; declared for go vet.
+func settls() // argument in DI
LEAL m_tls(BX), BP
PUSHAL // save registers
PUSHL BP
- CALL runtime·settls(SB)
+ CALL lwp_setprivate<>(SB)
POPL AX
POPAL
// Under NetBSD we set the GS base instead of messing with the LDT.
MOVL base+4(FP), AX
MOVL AX, 0(SP)
- CALL runtime·settls(SB)
+ CALL lwp_setprivate<>(SB)
RET
-TEXT runtime·settls(SB),NOSPLIT,$16
+TEXT lwp_setprivate<>(SB),NOSPLIT,$16
// adjust for ELF: wants to use -4(GS) for g
MOVL base+0(FP), CX
ADDL $4, CX
LEAL m_tls(BX), BP
PUSHAL // save registers
PUSHL BP
- CALL runtime·settls(SB)
+ CALL set_tcb<>(SB)
POPL AX
POPAL
// Under OpenBSD we set the GS base instead of messing with the LDT.
MOVL base+4(FP), AX
MOVL AX, 0(SP)
- CALL runtime·settls(SB)
+ CALL set_tcb<>(SB)
RET
-TEXT runtime·settls(SB),NOSPLIT,$8
+TEXT set_tcb<>(SB),NOSPLIT,$8
// adjust for ELF: wants to use -4(GS) for g
MOVL tlsbase+0(FP), CX
ADDL $4, CX