]> Cypherpunks.ru repositories - gostls13.git/commit
runtime: use ABIInternal for most calls to sigtrampgo
authorMichael Pratt <mpratt@google.com>
Mon, 7 Mar 2022 22:52:53 +0000 (17:52 -0500)
committerMichael Pratt <mpratt@google.com>
Tue, 26 Apr 2022 18:48:16 +0000 (18:48 +0000)
commitba7f3d98d41f01291dd831e618736b02a79ef27a
treea076ba6e615b05f8556fe33d5c133166ef1da038
parent06b0a655a1f46abab2e3c173259ad184b557dd89
runtime: use ABIInternal for most calls to sigtrampgo

sigtramp on openbsd-arm64 is teetering on the edge of the nosplit stack
limit. Add more headroom by calling sigtrampgo using ABIInternal, which
eliminates a 48-byte ABI wrapper frame.

openbsd-amd64 has slightly more space, but is also close to the limit,
so convert it as well.

Other operating systems don't have it as bad, but many have nearly
identical implementations of sigtramp, so I have converted them as well.

I've omitted darwin-arm64 and solaris, as those are quite different and
would benefit from not needing ifdef for both cases.

For #51485.

Change-Id: I70512645d4208b346a59d5e5d03836a45833b1d7
Reviewed-on: https://go-review.googlesource.com/c/go/+/390814
Run-TryBot: Michael Pratt <mpratt@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Cherry Mui <cherryyz@google.com>
src/runtime/sys_darwin_amd64.s
src/runtime/sys_dragonfly_amd64.s
src/runtime/sys_freebsd_amd64.s
src/runtime/sys_freebsd_arm64.s
src/runtime/sys_linux_amd64.s
src/runtime/sys_linux_arm64.s
src/runtime/sys_netbsd_amd64.s
src/runtime/sys_netbsd_arm64.s
src/runtime/sys_openbsd_amd64.s
src/runtime/sys_openbsd_arm64.s