diff options
author | Matthew Dempsky <mdempsky@google.com> | 2016-09-29 21:34:44 -0700 |
---|---|---|
committer | Matthew Dempsky <mdempsky@google.com> | 2016-09-30 05:40:43 +0000 |
commit | 9828b7c468029d54e90846e5e2fc23fd6d39782a (patch) | |
tree | be83352648dce15cab8ce070f4006e8ce7211953 /src/runtime/sys_linux_386.s | |
parent | 79db1625b929b8dad46c1537175b9412fd020851 (diff) | |
download | go-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.s | 4 |
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) |