aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/sys_linux_386.s
diff options
context:
space:
mode:
authorMatthew Dempsky <mdempsky@google.com>2016-09-29 21:34:44 -0700
committerMatthew Dempsky <mdempsky@google.com>2016-09-30 05:40:43 +0000
commit9828b7c468029d54e90846e5e2fc23fd6d39782a (patch)
treebe83352648dce15cab8ce070f4006e8ce7211953 /src/runtime/sys_linux_386.s
parent79db1625b929b8dad46c1537175b9412fd020851 (diff)
downloadgo-9828b7c468029d54e90846e5e2fc23fd6d39782a.tar.gz
go-9828b7c468029d54e90846e5e2fc23fd6d39782a.zip
runtime, syscall: use FP instead of SP for parameters
Consistently access function parameters using the FP pseudo-register instead of SP (e.g., x+0(FP) instead of x+4(SP) or x+8(SP), depending on register size). Two reasons: 1) doc/asm says the SP pseudo-register should use negative offsets in the range [-framesize, 0), and 2) cmd/vet only validates parameter offsets when indexed from the FP pseudo-register. No binary changes to the compiled object files for any of the affected package/OS/arch combinations. Change-Id: I0efc6079bc7519fcea588c114ec6a39b245d68b0 Reviewed-on: https://go-review.googlesource.com/30085 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src/runtime/sys_linux_386.s')
-rw-r--r--src/runtime/sys_linux_386.s4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/runtime/sys_linux_386.s b/src/runtime/sys_linux_386.s
index 131207b880..86ca06fd2c 100644
--- a/src/runtime/sys_linux_386.s
+++ b/src/runtime/sys_linux_386.s
@@ -379,8 +379,8 @@ nog:
TEXT runtime·sigaltstack(SB),NOSPLIT,$-8
MOVL $186, AX // sigaltstack
- MOVL new+4(SP), BX
- MOVL old+8(SP), CX
+ MOVL new+0(FP), BX
+ MOVL old+4(FP), CX
INVOKE_SYSCALL
CMPL AX, $0xfffff001
JLS 2(PC)