From 9d968cb47b240f47b40809639a0a532e752f6a08 Mon Sep 17 00:00:00 2001 From: Alex Brainman Date: Mon, 27 Apr 2015 17:32:23 +1000 Subject: [PATCH] runtime: rename cgocall_errno and asmcgocall_errno into cgocall and asmcgocall Change-Id: I5917bea8bb35b0e725dcc56a68f3a70137cfc180 Reviewed-on: https://go-review.googlesource.com/9387 Reviewed-by: Ian Lance Taylor --- misc/cgo/test/callback.go | 5 ++--- misc/cgo/test/issue7978.go | 4 ++-- src/cmd/cgo/doc.go | 4 ++-- src/cmd/cgo/out.go | 6 ++--- src/runtime/asm_386.s | 15 +++++-------- src/runtime/asm_amd64.s | 15 +++++-------- src/runtime/asm_amd64p32.s | 4 ++-- src/runtime/asm_arm.s | 15 +++++-------- src/runtime/asm_arm64.s | 11 ++++------ src/runtime/asm_ppc64x.s | 15 +++++-------- src/runtime/cgocall.go | 8 +++---- src/runtime/env_posix.go | 4 ++-- src/runtime/os1_windows.go | 2 +- src/runtime/os3_solaris.go | 8 +++---- src/runtime/os_solaris.go | 14 ++++++------ src/runtime/proc.go | 2 +- src/runtime/proc1.go | 2 +- src/runtime/stubs.go | 2 +- src/runtime/syscall_solaris.go | 40 +++++++++++++++++----------------- src/runtime/syscall_windows.go | 14 ++++++------ 20 files changed, 87 insertions(+), 103 deletions(-) diff --git a/misc/cgo/test/callback.go b/misc/cgo/test/callback.go index fc2023fc3e..bff770fa8d 100644 --- a/misc/cgo/test/callback.go +++ b/misc/cgo/test/callback.go @@ -156,9 +156,8 @@ func testCallbackCallers(t *testing.T) { "runtime.cgocallbackg1", "runtime.cgocallbackg", "runtime.cgocallback_gofunc", - "asmcgocall", - "runtime.asmcgocall_errno", - "runtime.cgocall_errno", + "runtime.asmcgocall", + "runtime.cgocall", "test._Cfunc_callback", "test.nestedCall", "test.testCallbackCallers", diff --git a/misc/cgo/test/issue7978.go b/misc/cgo/test/issue7978.go index 613f28e11f..094ccc1839 100644 --- a/misc/cgo/test/issue7978.go +++ b/misc/cgo/test/issue7978.go @@ -110,13 +110,13 @@ func test7978(t *testing.T) { go issue7978go() // test in c code, before callback issue7978wait(0, 1) - issue7978check(t, "runtime.cgocall_errno(", "", 1) + issue7978check(t, "runtime.cgocall(", "", 1) // test in go code, during callback issue7978wait(2, 3) issue7978check(t, "test.issue7978cb(", "test.issue7978go", 3) // test in c code, after callback issue7978wait(4, 5) - issue7978check(t, "runtime.cgocall_errno(", "runtime.cgocallback", 1) + issue7978check(t, "runtime.cgocall(", "runtime.cgocallback", 1) // test in go code, after return from cgo issue7978wait(6, 7) issue7978check(t, "test.issue7978go(", "", 3) diff --git a/src/cmd/cgo/doc.go b/src/cmd/cgo/doc.go index 6ac0381f5a..6e6f3c7708 100644 --- a/src/cmd/cgo/doc.go +++ b/src/cmd/cgo/doc.go @@ -432,7 +432,7 @@ For example, here is the definition of _Cfunc_puts: var _cgo_be59f0f25121_Cfunc_puts = unsafe.Pointer(&__cgofn__cgo_be59f0f25121_Cfunc_puts) func _Cfunc_puts(p0 *_Ctype_char) (r1 _Ctype_int) { - _cgo_runtime_cgocall_errno(_cgo_be59f0f25121_Cfunc_puts, uintptr(unsafe.Pointer(&p0))) + _cgo_runtime_cgocall(_cgo_be59f0f25121_Cfunc_puts, uintptr(unsafe.Pointer(&p0))) return } @@ -682,7 +682,7 @@ The following code will be generated by cgo: var _cgo_gcc_Cfunc_sin = unsafe.Pointer(&__cgo_gcc_Cfunc_sin) func _Cfunc_sin(p0 _Ctype_double) (r1 _Ctype_double) { - _cgo_runtime_cgocall_errno(_cgo_gcc_Cfunc_sin, uintptr(unsafe.Pointer(&p0))) + _cgo_runtime_cgocall(_cgo_gcc_Cfunc_sin, uintptr(unsafe.Pointer(&p0))) return } diff --git a/src/cmd/cgo/out.go b/src/cmd/cgo/out.go index d2a3624693..f6604424bc 100644 --- a/src/cmd/cgo/out.go +++ b/src/cmd/cgo/out.go @@ -466,7 +466,7 @@ func (p *Package) writeDefsFunc(fgo2 io.Writer, n *Name) { if n.AddError { prefix = "errno := " } - fmt.Fprintf(fgo2, "\t%s_cgo_runtime_cgocall_errno(%s, %s)\n", prefix, cname, arg) + fmt.Fprintf(fgo2, "\t%s_cgo_runtime_cgocall(%s, %s)\n", prefix, cname, arg) if n.AddError { fmt.Fprintf(fgo2, "\tif errno != 0 { r2 = syscall.Errno(errno) }\n") } @@ -1232,8 +1232,8 @@ void *_CMalloc(size_t); ` const goProlog = ` -//go:linkname _cgo_runtime_cgocall_errno runtime.cgocall_errno -func _cgo_runtime_cgocall_errno(unsafe.Pointer, uintptr) int32 +//go:linkname _cgo_runtime_cgocall runtime.cgocall +func _cgo_runtime_cgocall(unsafe.Pointer, uintptr) int32 //go:linkname _cgo_runtime_cmalloc runtime.cmalloc func _cgo_runtime_cmalloc(uintptr) unsafe.Pointer diff --git a/src/runtime/asm_386.s b/src/runtime/asm_386.s index 49df28530a..b8a4054931 100644 --- a/src/runtime/asm_386.s +++ b/src/runtime/asm_386.s @@ -661,19 +661,14 @@ TEXT gosave<>(SB),NOSPLIT,$0 POPL AX RET -// asmcgocall(void(*fn)(void*), void *arg) +// func asmcgocall(fn, arg unsafe.Pointer) int32 // Call fn(arg) on the scheduler stack, // aligned appropriately for the gcc ABI. -// See cgocall.c for more details. -TEXT ·asmcgocall_errno(SB),NOSPLIT,$0-12 +// See cgocall.go for more details. +TEXT ·asmcgocall(SB),NOSPLIT,$0-12 MOVL fn+0(FP), AX MOVL arg+4(FP), BX - CALL asmcgocall<>(SB) - MOVL AX, ret+8(FP) - RET -TEXT asmcgocall<>(SB),NOSPLIT,$0-0 - // fn in AX, arg in BX MOVL SP, DX // Figure out if we need to switch to m->g0 stack. @@ -707,6 +702,8 @@ TEXT asmcgocall<>(SB),NOSPLIT,$0-0 SUBL 4(SP), SI MOVL DI, g(CX) MOVL SI, SP + + MOVL AX, ret+8(FP) RET // cgocallback(void (*fn)(void*), void *frame, uintptr framesize) @@ -724,7 +721,7 @@ TEXT runtime·cgocallback(SB),NOSPLIT,$12-12 RET // cgocallback_gofunc(FuncVal*, void *frame, uintptr framesize) -// See cgocall.c for more details. +// See cgocall.go for more details. TEXT ·cgocallback_gofunc(SB),NOSPLIT,$12-12 NO_LOCAL_POINTERS diff --git a/src/runtime/asm_amd64.s b/src/runtime/asm_amd64.s index 639ab340fe..13cca8e460 100644 --- a/src/runtime/asm_amd64.s +++ b/src/runtime/asm_amd64.s @@ -641,19 +641,14 @@ TEXT gosave<>(SB),NOSPLIT,$0 MOVQ BP, (g_sched+gobuf_bp)(R8) RET -// asmcgocall(void(*fn)(void*), void *arg) +// func asmcgocall(fn, arg unsafe.Pointer) int32 // Call fn(arg) on the scheduler stack, // aligned appropriately for the gcc ABI. -// See cgocall.c for more details. -TEXT ·asmcgocall_errno(SB),NOSPLIT,$0-20 +// See cgocall.go for more details. +TEXT ·asmcgocall(SB),NOSPLIT,$0-20 MOVQ fn+0(FP), AX MOVQ arg+8(FP), BX - CALL asmcgocall<>(SB) - MOVL AX, ret+16(FP) - RET -// asmcgocall common code. fn in AX, arg in BX. returns errno in AX. -TEXT asmcgocall<>(SB),NOSPLIT,$0-0 MOVQ SP, DX // Figure out if we need to switch to m->g0 stack. @@ -696,6 +691,8 @@ nosave: SUBQ 40(SP), SI MOVQ DI, g(CX) MOVQ SI, SP + + MOVL AX, ret+16(FP) RET // cgocallback(void (*fn)(void*), void *frame, uintptr framesize) @@ -713,7 +710,7 @@ TEXT runtime·cgocallback(SB),NOSPLIT,$24-24 RET // cgocallback_gofunc(FuncVal*, void *frame, uintptr framesize) -// See cgocall.c for more details. +// See cgocall.go for more details. TEXT ·cgocallback_gofunc(SB),NOSPLIT,$8-24 NO_LOCAL_POINTERS diff --git a/src/runtime/asm_amd64p32.s b/src/runtime/asm_amd64p32.s index fd640ab3e9..c058bde420 100644 --- a/src/runtime/asm_amd64p32.s +++ b/src/runtime/asm_amd64p32.s @@ -582,9 +582,9 @@ TEXT runtime·jmpdefer(SB), NOSPLIT, $0-8 MOVL 0(DX), BX JMP BX // but first run the deferred function -// asmcgocall(void(*fn)(void*), void *arg) +// func asmcgocall(fn, arg unsafe.Pointer) int32 // Not implemented. -TEXT runtime·asmcgocall_errno(SB),NOSPLIT,$0-12 +TEXT runtime·asmcgocall(SB),NOSPLIT,$0-12 MOVL 0, AX RET diff --git a/src/runtime/asm_arm.s b/src/runtime/asm_arm.s index 1797fea493..874dc4fe55 100644 --- a/src/runtime/asm_arm.s +++ b/src/runtime/asm_arm.s @@ -474,19 +474,14 @@ TEXT gosave<>(SB),NOSPLIT,$0 MOVW R11, (g_sched+gobuf_ctxt)(g) RET -// asmcgocall(void(*fn)(void*), void *arg) +// func asmcgocall(fn, arg unsafe.Pointer) int32 // Call fn(arg) on the scheduler stack, // aligned appropriately for the gcc ABI. -// See cgocall.c for more details. -TEXT ·asmcgocall_errno(SB),NOSPLIT,$0-12 +// See cgocall.go for more details. +TEXT ·asmcgocall(SB),NOSPLIT,$0-12 MOVW fn+0(FP), R1 MOVW arg+4(FP), R0 - BL asmcgocall<>(SB) - MOVW R0, ret+8(FP) - RET -TEXT asmcgocall<>(SB),NOSPLIT,$0-0 - // fn in R1, arg in R0. MOVW R13, R2 MOVW g, R4 @@ -523,6 +518,8 @@ g0: SUB R2, R1 MOVW R5, R0 MOVW R1, R13 + + MOVW R0, ret+8(FP) RET // cgocallback(void (*fn)(void*), void *frame, uintptr framesize) @@ -540,7 +537,7 @@ TEXT runtime·cgocallback(SB),NOSPLIT,$12-12 RET // cgocallback_gofunc(void (*fn)(void*), void *frame, uintptr framesize) -// See cgocall.c for more details. +// See cgocall.go for more details. TEXT ·cgocallback_gofunc(SB),NOSPLIT,$8-12 NO_LOCAL_POINTERS diff --git a/src/runtime/asm_arm64.s b/src/runtime/asm_arm64.s index ed70eca771..50094db180 100644 --- a/src/runtime/asm_arm64.s +++ b/src/runtime/asm_arm64.s @@ -545,19 +545,14 @@ TEXT gosave<>(SB),NOSPLIT,$-8 MOVD $0, (g_sched+gobuf_ctxt)(g) RET -// asmcgocall(void(*fn)(void*), void *arg) +// func asmcgocall(fn, arg unsafe.Pointer) int32 // Call fn(arg) on the scheduler stack, // aligned appropriately for the gcc ABI. // See cgocall.go for more details. -TEXT ·asmcgocall_errno(SB),NOSPLIT,$0-20 +TEXT ·asmcgocall(SB),NOSPLIT,$0-20 MOVD fn+0(FP), R1 MOVD arg+8(FP), R0 - BL asmcgocall<>(SB) - MOVW R0, ret+16(FP) - RET -// asmcgocall common code. fn in R1, arg in R0. returns errno in R0. -TEXT asmcgocall<>(SB),NOSPLIT,$0-0 MOVD RSP, R2 // save original stack pointer MOVD g, R4 @@ -598,6 +593,8 @@ g0: SUB R6, R5 MOVD R9, R0 MOVD R5, RSP + + MOVW R0, ret+16(FP) RET // cgocallback(void (*fn)(void*), void *frame, uintptr framesize) diff --git a/src/runtime/asm_ppc64x.s b/src/runtime/asm_ppc64x.s index f90016c4b6..0404124506 100644 --- a/src/runtime/asm_ppc64x.s +++ b/src/runtime/asm_ppc64x.s @@ -694,19 +694,14 @@ TEXT gosave<>(SB),NOSPLIT,$-8 MOVD R0, (g_sched+gobuf_ctxt)(g) RET -// asmcgocall(void(*fn)(void*), void *arg) +// func asmcgocall(fn, arg unsafe.Pointer) int32 // Call fn(arg) on the scheduler stack, // aligned appropriately for the gcc ABI. -// See cgocall.c for more details. -TEXT ·asmcgocall_errno(SB),NOSPLIT,$0-20 +// See cgocall.go for more details. +TEXT ·asmcgocall(SB),NOSPLIT,$0-20 MOVD fn+0(FP), R3 MOVD arg+8(FP), R4 - BL asmcgocall<>(SB) - MOVW R3, ret+16(FP) - RET -// asmcgocall common code. fn in R3, arg in R4. returns errno in R3. -TEXT asmcgocall<>(SB),NOSPLIT,$0-0 MOVD R1, R2 // save original stack pointer MOVD g, R5 @@ -749,6 +744,8 @@ g0: MOVD 32(R1), R6 SUB R6, R5 MOVD R5, R1 + + MOVW R3, ret+16(FP) RET // cgocallback(void (*fn)(void*), void *frame, uintptr framesize) @@ -767,7 +764,7 @@ TEXT runtime·cgocallback(SB),NOSPLIT,$24-24 RET // cgocallback_gofunc(FuncVal*, void *frame, uintptr framesize) -// See cgocall.c for more details. +// See cgocall.go for more details. TEXT ·cgocallback_gofunc(SB),NOSPLIT,$16-24 NO_LOCAL_POINTERS diff --git a/src/runtime/cgocall.go b/src/runtime/cgocall.go index 8f0b83c55e..17e01251e2 100644 --- a/src/runtime/cgocall.go +++ b/src/runtime/cgocall.go @@ -83,7 +83,7 @@ import "unsafe" // Call from Go to C. //go:nosplit -func cgocall_errno(fn, arg unsafe.Pointer) int32 { +func cgocall(fn, arg unsafe.Pointer) int32 { if !iscgo && GOOS != "solaris" && GOOS != "windows" { throw("cgocall unavailable") } @@ -118,7 +118,7 @@ func cgocall_errno(fn, arg unsafe.Pointer) int32 { * the $GOMAXPROCS accounting. */ entersyscall(0) - errno := asmcgocall_errno(fn, arg) + errno := asmcgocall(fn, arg) exitsyscall(0) return errno @@ -143,7 +143,7 @@ func cmalloc(n uintptr) unsafe.Pointer { ret unsafe.Pointer } args.n = uint64(n) - cgocall_errno(_cgo_malloc, unsafe.Pointer(&args)) + cgocall(_cgo_malloc, unsafe.Pointer(&args)) if args.ret == nil { throw("C malloc failed") } @@ -151,7 +151,7 @@ func cmalloc(n uintptr) unsafe.Pointer { } func cfree(p unsafe.Pointer) { - cgocall_errno(_cgo_free, p) + cgocall(_cgo_free, p) } // Call from C back to Go. diff --git a/src/runtime/env_posix.go b/src/runtime/env_posix.go index e648442677..5e49287421 100644 --- a/src/runtime/env_posix.go +++ b/src/runtime/env_posix.go @@ -32,7 +32,7 @@ func syscall_setenv_c(k string, v string) { return } arg := [2]unsafe.Pointer{cstring(k), cstring(v)} - asmcgocall_errno(unsafe.Pointer(_cgo_setenv), unsafe.Pointer(&arg)) + asmcgocall(unsafe.Pointer(_cgo_setenv), unsafe.Pointer(&arg)) } // Update the C environment if cgo is loaded. @@ -43,7 +43,7 @@ func syscall_unsetenv_c(k string) { return } arg := [1]unsafe.Pointer{cstring(k)} - asmcgocall_errno(unsafe.Pointer(_cgo_unsetenv), unsafe.Pointer(&arg)) + asmcgocall(unsafe.Pointer(_cgo_unsetenv), unsafe.Pointer(&arg)) } func cstring(s string) unsafe.Pointer { diff --git a/src/runtime/os1_windows.go b/src/runtime/os1_windows.go index 9565366453..bc472d0de9 100644 --- a/src/runtime/os1_windows.go +++ b/src/runtime/os1_windows.go @@ -372,7 +372,7 @@ func stdcall(fn stdFunction) uintptr { // all three values to be non-zero, it will use them mp.libcallsp = getcallersp(unsafe.Pointer(&fn)) } - asmcgocall_errno(asmstdcallAddr, unsafe.Pointer(&mp.libcall)) + asmcgocall(asmstdcallAddr, unsafe.Pointer(&mp.libcall)) mp.libcallsp = 0 return mp.libcall.r1 } diff --git a/src/runtime/os3_solaris.go b/src/runtime/os3_solaris.go index cf576da477..53d7b96b0f 100644 --- a/src/runtime/os3_solaris.go +++ b/src/runtime/os3_solaris.go @@ -201,7 +201,7 @@ func msigsave(mp *m) { // Called on the new thread, can not allocate memory. func minit() { _g_ := getg() - asmcgocall_errno(unsafe.Pointer(funcPC(miniterrno)), unsafe.Pointer(&libc____errno)) + asmcgocall(unsafe.Pointer(funcPC(miniterrno)), unsafe.Pointer(&libc____errno)) // Initialize signal handling signalstack(&_g_.m.gsignal.stack) @@ -317,7 +317,7 @@ func semacreate() uintptr { memclr(unsafe.Pointer(&_g_.m.scratch), uintptr(len(_g_.m.scratch.v))) _g_.m.scratch.v[0] = unsafe.Sizeof(*sem) _g_.m.libcall.args = uintptr(unsafe.Pointer(&_g_.m.scratch)) - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&_g_.m.libcall)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&_g_.m.libcall)) sem = (*semt)(unsafe.Pointer(_g_.m.libcall.r1)) if sem_init(sem, 0, 0) != 0 { throw("sem_init") @@ -338,7 +338,7 @@ func semasleep(ns int64) int32 { _m_.scratch.v[0] = _m_.waitsema _m_.scratch.v[1] = uintptr(unsafe.Pointer(&_m_.ts)) _m_.libcall.args = uintptr(unsafe.Pointer(&_m_.scratch)) - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&_m_.libcall)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&_m_.libcall)) if *_m_.perrno != 0 { if *_m_.perrno == _ETIMEDOUT || *_m_.perrno == _EAGAIN || *_m_.perrno == _EINTR { return -1 @@ -353,7 +353,7 @@ func semasleep(ns int64) int32 { memclr(unsafe.Pointer(&_m_.scratch), uintptr(len(_m_.scratch.v))) _m_.scratch.v[0] = _m_.waitsema _m_.libcall.args = uintptr(unsafe.Pointer(&_m_.scratch)) - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&_m_.libcall)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&_m_.libcall)) if _m_.libcall.r1 == 0 { break } diff --git a/src/runtime/os_solaris.go b/src/runtime/os_solaris.go index c6c02ff5d8..fd20a5cd11 100644 --- a/src/runtime/os_solaris.go +++ b/src/runtime/os_solaris.go @@ -19,7 +19,7 @@ func sysvicall0(fn *libcFunc) uintptr { libcall.fn = uintptr(unsafe.Pointer(fn)) libcall.n = 0 libcall.args = uintptr(unsafe.Pointer(fn)) // it's unused but must be non-nil, otherwise crashes - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(libcall)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(libcall)) return libcall.r1 } @@ -30,7 +30,7 @@ func sysvicall1(fn *libcFunc, a1 uintptr) uintptr { libcall.n = 1 // TODO(rsc): Why is noescape necessary here and below? libcall.args = uintptr(noescape(unsafe.Pointer(&a1))) - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(libcall)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(libcall)) return libcall.r1 } @@ -40,7 +40,7 @@ func sysvicall2(fn *libcFunc, a1, a2 uintptr) uintptr { libcall.fn = uintptr(unsafe.Pointer(fn)) libcall.n = 2 libcall.args = uintptr(noescape(unsafe.Pointer(&a1))) - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(libcall)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(libcall)) return libcall.r1 } @@ -50,7 +50,7 @@ func sysvicall3(fn *libcFunc, a1, a2, a3 uintptr) uintptr { libcall.fn = uintptr(unsafe.Pointer(fn)) libcall.n = 3 libcall.args = uintptr(noescape(unsafe.Pointer(&a1))) - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(libcall)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(libcall)) return libcall.r1 } @@ -60,7 +60,7 @@ func sysvicall4(fn *libcFunc, a1, a2, a3, a4 uintptr) uintptr { libcall.fn = uintptr(unsafe.Pointer(fn)) libcall.n = 4 libcall.args = uintptr(noescape(unsafe.Pointer(&a1))) - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(libcall)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(libcall)) return libcall.r1 } @@ -70,7 +70,7 @@ func sysvicall5(fn *libcFunc, a1, a2, a3, a4, a5 uintptr) uintptr { libcall.fn = uintptr(unsafe.Pointer(fn)) libcall.n = 5 libcall.args = uintptr(noescape(unsafe.Pointer(&a1))) - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(libcall)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(libcall)) return libcall.r1 } @@ -80,6 +80,6 @@ func sysvicall6(fn *libcFunc, a1, a2, a3, a4, a5, a6 uintptr) uintptr { libcall.fn = uintptr(unsafe.Pointer(fn)) libcall.n = 6 libcall.args = uintptr(noescape(unsafe.Pointer(&a1))) - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(libcall)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(libcall)) return libcall.r1 } diff --git a/src/runtime/proc.go b/src/runtime/proc.go index 06f301fa27..805b96e627 100644 --- a/src/runtime/proc.go +++ b/src/runtime/proc.go @@ -94,7 +94,7 @@ func main() { if _cgo_notify_runtime_init_done == nil { throw("_cgo_notify_runtime_init_done missing") } - cgocall_errno(_cgo_notify_runtime_init_done, nil) + cgocall(_cgo_notify_runtime_init_done, nil) } main_init() diff --git a/src/runtime/proc1.go b/src/runtime/proc1.go index bce03563ff..055f100033 100644 --- a/src/runtime/proc1.go +++ b/src/runtime/proc1.go @@ -1093,7 +1093,7 @@ func newm(fn func(), _p_ *p) { ts.g.set(mp.g0) ts.tls = (*uint64)(unsafe.Pointer(&mp.tls[0])) ts.fn = unsafe.Pointer(funcPC(mstart)) - asmcgocall_errno(_cgo_thread_start, unsafe.Pointer(&ts)) + asmcgocall(_cgo_thread_start, unsafe.Pointer(&ts)) return } newosproc(mp, unsafe.Pointer(mp.g0.stack.hi)) diff --git a/src/runtime/stubs.go b/src/runtime/stubs.go index b167f163af..f116dc3e9f 100644 --- a/src/runtime/stubs.go +++ b/src/runtime/stubs.go @@ -205,7 +205,7 @@ func getcallerpc(argp unsafe.Pointer) uintptr func getcallersp(argp unsafe.Pointer) uintptr //go:noescape -func asmcgocall_errno(fn, arg unsafe.Pointer) int32 +func asmcgocall(fn, arg unsafe.Pointer) int32 // argp used in Defer structs when there is no argp. const _NoArgs = ^uintptr(0) diff --git a/src/runtime/syscall_solaris.go b/src/runtime/syscall_solaris.go index e69745c94a..ae1f334365 100644 --- a/src/runtime/syscall_solaris.go +++ b/src/runtime/syscall_solaris.go @@ -34,7 +34,7 @@ func syscall_sysvicall6(fn, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err args: uintptr(unsafe.Pointer(&a1)), } entersyscallblock(0) - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) exitsyscall(0) return call.r1, call.r2, call.err } @@ -46,7 +46,7 @@ func syscall_rawsysvicall6(fn, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, e n: nargs, args: uintptr(unsafe.Pointer(&a1)), } - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) return call.r1, call.r2, call.err } @@ -61,7 +61,7 @@ func syscall_chdir(path uintptr) (err uintptr) { n: 1, args: uintptr(unsafe.Pointer(&path)), } - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) return call.err } @@ -72,7 +72,7 @@ func syscall_chroot(path uintptr) (err uintptr) { n: 1, args: uintptr(unsafe.Pointer(&path)), } - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) return call.err } @@ -89,7 +89,7 @@ func syscall_execve(path, argv, envp uintptr) (err uintptr) { n: 3, args: uintptr(unsafe.Pointer(&path)), } - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) return call.err } @@ -106,7 +106,7 @@ func syscall_fcntl(fd, cmd, arg uintptr) (val, err uintptr) { n: 3, args: uintptr(unsafe.Pointer(&fd)), } - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) return call.r1, call.err } @@ -117,7 +117,7 @@ func syscall_forkx(flags uintptr) (pid uintptr, err uintptr) { n: 1, args: uintptr(unsafe.Pointer(&flags)), } - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) return call.r1, call.err } @@ -130,7 +130,7 @@ func syscall_gethostname() (name string, err uintptr) { args: uintptr(unsafe.Pointer(&args[0])), } entersyscallblock(0) - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) exitsyscall(0) if call.r1 != 0 { return "", call.err @@ -146,7 +146,7 @@ func syscall_getpid() (pid, err uintptr) { n: 0, args: uintptr(unsafe.Pointer(&libc_getpid)), // it's unused but must be non-nil, otherwise crashes } - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) return call.r1, call.err } @@ -157,7 +157,7 @@ func syscall_ioctl(fd, req, arg uintptr) (err uintptr) { n: 3, args: uintptr(unsafe.Pointer(&fd)), } - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) return call.err } @@ -168,7 +168,7 @@ func syscall_pipe() (r, w, err uintptr) { args: uintptr(unsafe.Pointer(&pipe1)), // it's unused but must be non-nil, otherwise crashes } entersyscallblock(0) - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) exitsyscall(0) return call.r1, call.r2, call.err } @@ -185,7 +185,7 @@ func syscall_rawsyscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr) { n: 4, args: uintptr(unsafe.Pointer(&trap)), } - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) return call.r1, call.r2, call.err } @@ -196,7 +196,7 @@ func syscall_setgid(gid uintptr) (err uintptr) { n: 1, args: uintptr(unsafe.Pointer(&gid)), } - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) return call.err } @@ -207,7 +207,7 @@ func syscall_setgroups(ngid, gid uintptr) (err uintptr) { n: 2, args: uintptr(unsafe.Pointer(&ngid)), } - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) return call.err } @@ -218,7 +218,7 @@ func syscall_setsid() (pid, err uintptr) { n: 0, args: uintptr(unsafe.Pointer(&libc_setsid)), // it's unused but must be non-nil, otherwise crashes } - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) return call.r1, call.err } @@ -229,7 +229,7 @@ func syscall_setuid(uid uintptr) (err uintptr) { n: 1, args: uintptr(unsafe.Pointer(&uid)), } - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) return call.err } @@ -240,7 +240,7 @@ func syscall_setpgid(pid, pgid uintptr) (err uintptr) { n: 2, args: uintptr(unsafe.Pointer(&pid)), } - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) return call.err } @@ -257,7 +257,7 @@ func syscall_syscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr) { args: uintptr(unsafe.Pointer(&trap)), } entersyscallblock(0) - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) exitsyscall(0) return call.r1, call.r2, call.err } @@ -269,7 +269,7 @@ func syscall_wait4(pid uintptr, wstatus *uint32, options uintptr, rusage unsafe. args: uintptr(unsafe.Pointer(&pid)), } entersyscallblock(0) - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) exitsyscall(0) return int(call.r1), call.err } @@ -281,6 +281,6 @@ func syscall_write(fd, buf, nbyte uintptr) (n, err uintptr) { n: 3, args: uintptr(unsafe.Pointer(&fd)), } - asmcgocall_errno(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) + asmcgocall(unsafe.Pointer(&asmsysvicall6), unsafe.Pointer(&call)) return call.r1, call.err } diff --git a/src/runtime/syscall_windows.go b/src/runtime/syscall_windows.go index 370b1724d5..d2e44d761a 100644 --- a/src/runtime/syscall_windows.go +++ b/src/runtime/syscall_windows.go @@ -95,7 +95,7 @@ func syscall_loadlibrary(filename *uint16) (handle, err uintptr) { c.fn = getLoadLibrary() c.n = 1 c.args = uintptr(unsafe.Pointer(&filename)) - cgocall_errno(asmstdcallAddr, unsafe.Pointer(&c)) + cgocall(asmstdcallAddr, unsafe.Pointer(&c)) handle = c.r1 if handle == 0 { err = c.err @@ -110,7 +110,7 @@ func syscall_getprocaddress(handle uintptr, procname *byte) (outhandle, err uint c.fn = getGetProcAddress() c.n = 2 c.args = uintptr(unsafe.Pointer(&handle)) - cgocall_errno(asmstdcallAddr, unsafe.Pointer(&c)) + cgocall(asmstdcallAddr, unsafe.Pointer(&c)) outhandle = c.r1 if outhandle == 0 { err = c.err @@ -125,7 +125,7 @@ func syscall_Syscall(fn, nargs, a1, a2, a3 uintptr) (r1, r2, err uintptr) { c.fn = fn c.n = nargs c.args = uintptr(unsafe.Pointer(&a1)) - cgocall_errno(asmstdcallAddr, unsafe.Pointer(&c)) + cgocall(asmstdcallAddr, unsafe.Pointer(&c)) return c.r1, c.r2, c.err } @@ -136,7 +136,7 @@ func syscall_Syscall6(fn, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err ui c.fn = fn c.n = nargs c.args = uintptr(unsafe.Pointer(&a1)) - cgocall_errno(asmstdcallAddr, unsafe.Pointer(&c)) + cgocall(asmstdcallAddr, unsafe.Pointer(&c)) return c.r1, c.r2, c.err } @@ -147,7 +147,7 @@ func syscall_Syscall9(fn, nargs, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1 c.fn = fn c.n = nargs c.args = uintptr(unsafe.Pointer(&a1)) - cgocall_errno(asmstdcallAddr, unsafe.Pointer(&c)) + cgocall(asmstdcallAddr, unsafe.Pointer(&c)) return c.r1, c.r2, c.err } @@ -158,7 +158,7 @@ func syscall_Syscall12(fn, nargs, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, c.fn = fn c.n = nargs c.args = uintptr(unsafe.Pointer(&a1)) - cgocall_errno(asmstdcallAddr, unsafe.Pointer(&c)) + cgocall(asmstdcallAddr, unsafe.Pointer(&c)) return c.r1, c.r2, c.err } @@ -169,6 +169,6 @@ func syscall_Syscall15(fn, nargs, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, c.fn = fn c.n = nargs c.args = uintptr(unsafe.Pointer(&a1)) - cgocall_errno(asmstdcallAddr, unsafe.Pointer(&c)) + cgocall(asmstdcallAddr, unsafe.Pointer(&c)) return c.r1, c.r2, c.err } -- 2.50.0