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_openbsd_amd64.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_openbsd_amd64.s')
-rw-r--r-- | src/runtime/sys_openbsd_amd64.s | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/runtime/sys_openbsd_amd64.s b/src/runtime/sys_openbsd_amd64.s index 5aad7f00a5..e22a2faeeb 100644 --- a/src/runtime/sys_openbsd_amd64.s +++ b/src/runtime/sys_openbsd_amd64.s @@ -278,8 +278,8 @@ TEXT runtime·madvise(SB),NOSPLIT,$0 RET TEXT runtime·sigaltstack(SB),NOSPLIT,$-8 - MOVQ new+8(SP), DI // arg 1 - nss - MOVQ old+16(SP), SI // arg 2 - oss + MOVQ new+0(FP), DI // arg 1 - nss + MOVQ old+8(FP), SI // arg 2 - oss MOVQ $288, AX // sys_sigaltstack SYSCALL JCC 2(PC) |