mirror of
https://github.com/golang/go
synced 2024-11-06 09:16:16 -07:00
7d928460a1
Use FuncPCABI0 to reference ABI0 assembly symbols. Currently, they are referenced using funcPC, which will get the ABI wrapper's address. They don't seem to affect correctness (either the wrapper is harmless, or, on non-AMD64 architectures, not enabled). They should have been converted. This CL does not yet completely eliminate funcPC. But at this point we should be able to replace all remaining uses of funcPC to internal/abi.FuncPCABIInternal. Change-Id: I383a686e11d570f757f185fe46769a42c856ab77 Reviewed-on: https://go-review.googlesource.com/c/go/+/321952 Trust: Cherry Mui <cherryyz@google.com> Run-TryBot: Cherry Mui <cherryyz@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Michael Knyszek <mknyszek@google.com>
20 lines
617 B
Go
20 lines
617 B
Go
// Copyright 2009 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package runtime
|
|
|
|
import (
|
|
"internal/abi"
|
|
"unsafe"
|
|
)
|
|
|
|
func lwp_mcontext_init(mc *mcontextt, stk unsafe.Pointer, mp *m, gp *g, fn uintptr) {
|
|
// Machine dependent mcontext initialisation for LWP.
|
|
mc.__gregs[_REG_EIP] = uint32(abi.FuncPCABI0(lwp_tramp))
|
|
mc.__gregs[_REG_UESP] = uint32(uintptr(stk))
|
|
mc.__gregs[_REG_EBX] = uint32(uintptr(unsafe.Pointer(mp)))
|
|
mc.__gregs[_REG_EDX] = uint32(uintptr(unsafe.Pointer(gp)))
|
|
mc.__gregs[_REG_ESI] = uint32(fn)
|
|
}
|