]> Cypherpunks.ru repositories - gostls13.git/commit
[dev.regabi] runtime, syscall, etc.: mark Darwin syscall wrappers as ABIInternal
authorCherry Zhang <cherryyz@google.com>
Fri, 29 Jan 2021 17:03:32 +0000 (12:03 -0500)
committerCherry Zhang <cherryyz@google.com>
Wed, 3 Feb 2021 22:43:42 +0000 (22:43 +0000)
commitbfc7418e6d3a505fe348718fd113473c9d92b135
treec014e16187e5498691e90c0e49f086de1a4ebefa
parent23b0c1f76e647a615fd0911df26f2ddf241607a1
[dev.regabi] runtime, syscall, etc.: mark Darwin syscall wrappers as ABIInternal

Mark the syscall wrappers as ABIInternal, as they have addresses
taken from Go code, and it is important to call to them without
wrappers.

Previously, the wrapper is just a single JMP instruction, which
makes it not matter. In the next CL we'll make the wrapper
actually have a frame. The real wrappers will mess up things
such as stack alignment for C ABI.

This doesn't look really nice, but I don't know how we can do
better...

TODO: other OSes.

Change-Id: Ifb3920494990a7775e3e6902fbcaf137df3cc653
Reviewed-on: https://go-review.googlesource.com/c/go/+/288092
Trust: Cherry Zhang <cherryyz@google.com>
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Than McIntosh <thanm@google.com>
src/cmd/dist/build.go
src/cmd/internal/objabi/path.go
src/crypto/x509/internal/macos/corefoundation.s
src/crypto/x509/internal/macos/security.s
src/runtime/sys_darwin_amd64.s
src/syscall/mkasm.go
src/syscall/zsyscall_darwin_amd64.s
src/syscall/zsyscall_darwin_arm64.s
src/syscall/zsyscall_openbsd_amd64.s
src/syscall/zsyscall_openbsd_arm64.s