From 695a0fb4ef35beaacc0dbfdd41d6008fc0c07ff4 Mon Sep 17 00:00:00 2001 From: David Crawshaw Date: Wed, 14 Jan 2015 14:41:04 -0500 Subject: [PATCH] syscall: use name+(NN)FP on linux/amd64 Generated from a modified go vet. Change-Id: Ibe82941283da9bd4dbc7fa624a33ffb12424daa2 Reviewed-on: https://go-review.googlesource.com/2817 Reviewed-by: Ian Lance Taylor --- src/syscall/asm_linux_amd64.s | 105 +++++++++++++++++----------------- 1 file changed, 53 insertions(+), 52 deletions(-) diff --git a/src/syscall/asm_linux_amd64.s b/src/syscall/asm_linux_amd64.s index b3ce2165d6..6634875f6a 100644 --- a/src/syscall/asm_linux_amd64.s +++ b/src/syscall/asm_linux_amd64.s @@ -2,9 +2,6 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// TODO(rsc): Rewrite all nn(SP) references into name+(nn-8)(FP) -// so that go vet can check that they are correct. - #include "textflag.h" #include "funcdata.h" @@ -19,100 +16,104 @@ TEXT ·Syscall(SB),NOSPLIT,$0-56 CALL runtime·entersyscall(SB) - MOVQ 16(SP), DI - MOVQ 24(SP), SI - MOVQ 32(SP), DX + MOVQ a1+8(FP), DI + MOVQ a2+16(FP), SI + MOVQ a3+24(FP), DX MOVQ $0, R10 MOVQ $0, R8 MOVQ $0, R9 - MOVQ 8(SP), AX // syscall entry + MOVQ trap+0(FP), AX // syscall entry SYSCALL CMPQ AX, $0xfffffffffffff001 JLS ok - MOVQ $-1, 40(SP) // r1 - MOVQ $0, 48(SP) // r2 + MOVQ $-1, r1+32(FP) + MOVQ $0, r2+40(FP) NEGQ AX - MOVQ AX, 56(SP) // errno + MOVQ AX, err+48(FP) CALL runtime·exitsyscall(SB) RET ok: - MOVQ AX, 40(SP) // r1 - MOVQ DX, 48(SP) // r2 - MOVQ $0, 56(SP) // errno + MOVQ AX, r1+32(FP) + MOVQ DX, r2+40(FP) + MOVQ $0, err+48(FP) CALL runtime·exitsyscall(SB) RET +// func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err uintptr) TEXT ·Syscall6(SB),NOSPLIT,$0-80 CALL runtime·entersyscall(SB) - MOVQ 16(SP), DI - MOVQ 24(SP), SI - MOVQ 32(SP), DX - MOVQ 40(SP), R10 - MOVQ 48(SP), R8 - MOVQ 56(SP), R9 - MOVQ 8(SP), AX // syscall entry + MOVQ a1+8(FP), DI + MOVQ a2+16(FP), SI + MOVQ a3+24(FP), DX + MOVQ a4+32(FP), R10 + MOVQ a5+40(FP), R8 + MOVQ a6+48(FP), R9 + MOVQ trap+0(FP), AX // syscall entry SYSCALL CMPQ AX, $0xfffffffffffff001 JLS ok6 - MOVQ $-1, 64(SP) // r1 - MOVQ $0, 72(SP) // r2 + MOVQ $-1, r1+56(FP) + MOVQ $0, r2+64(FP) NEGQ AX - MOVQ AX, 80(SP) // errno + MOVQ AX, err+72(FP) CALL runtime·exitsyscall(SB) RET ok6: - MOVQ AX, 64(SP) // r1 - MOVQ DX, 72(SP) // r2 - MOVQ $0, 80(SP) // errno + MOVQ AX, r1+56(FP) + MOVQ DX, r2+64(FP) + MOVQ $0, err+72(FP) CALL runtime·exitsyscall(SB) RET +// func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr) TEXT ·RawSyscall(SB),NOSPLIT,$0-56 - MOVQ 16(SP), DI - MOVQ 24(SP), SI - MOVQ 32(SP), DX + MOVQ a1+8(FP), DI + MOVQ a2+16(FP), SI + MOVQ a3+24(FP), DX MOVQ $0, R10 MOVQ $0, R8 MOVQ $0, R9 - MOVQ 8(SP), AX // syscall entry + MOVQ trap+0(FP), AX // syscall entry SYSCALL CMPQ AX, $0xfffffffffffff001 JLS ok1 - MOVQ $-1, 40(SP) // r1 - MOVQ $0, 48(SP) // r2 + MOVQ $-1, r1+32(FP) + MOVQ $0, r2+40(FP) NEGQ AX - MOVQ AX, 56(SP) // errno + MOVQ AX, err+48(FP) RET ok1: - MOVQ AX, 40(SP) // r1 - MOVQ DX, 48(SP) // r2 - MOVQ $0, 56(SP) // errno + MOVQ AX, r1+32(FP) + MOVQ DX, r2+40(FP) + MOVQ $0, err+48(FP) RET +// func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err uintptr) TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 - MOVQ 16(SP), DI - MOVQ 24(SP), SI - MOVQ 32(SP), DX - MOVQ 40(SP), R10 - MOVQ 48(SP), R8 - MOVQ 56(SP), R9 - MOVQ 8(SP), AX // syscall entry + MOVQ a1+8(FP), DI + MOVQ a2+16(FP), SI + MOVQ a3+24(FP), DX + MOVQ a4+32(FP), R10 + MOVQ a5+40(FP), R8 + MOVQ a6+48(FP), R9 + MOVQ trap+0(FP), AX // syscall entry SYSCALL CMPQ AX, $0xfffffffffffff001 JLS ok2 - MOVQ $-1, 64(SP) // r1 - MOVQ $0, 72(SP) // r2 + MOVQ $-1, r1+56(FP) + MOVQ $0, r2+64(FP) NEGQ AX - MOVQ AX, 80(SP) // errno + MOVQ AX, err+72(FP) RET ok2: - MOVQ AX, 64(SP) // r1 - MOVQ DX, 72(SP) // r2 - MOVQ $0, 80(SP) // errno + MOVQ AX, r1+56(FP) + MOVQ DX, r2+64(FP) + MOVQ $0, err+72(FP) RET +// func gettimeofday(tv *Timeval) (err uintptr) TEXT ·gettimeofday(SB),NOSPLIT,$0-16 - MOVQ 8(SP), DI + MOVQ tv+0(FP), DI MOVQ $0, SI MOVQ runtime·__vdso_gettimeofday_sym(SB), AX CALL AX @@ -120,8 +121,8 @@ TEXT ·gettimeofday(SB),NOSPLIT,$0-16 CMPQ AX, $0xfffffffffffff001 JLS ok7 NEGQ AX - MOVQ AX, 16(SP) // errno + MOVQ AX, err+8(FP) RET ok7: - MOVQ $0, 16(SP) // errno + MOVQ $0, err+8(FP) RET -- 2.50.0