From fdedc70b468f679c263a3ccaefc1faeed3239939 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Tue, 29 Sep 2020 22:29:14 -0700 Subject: [PATCH] unix: use package path in name of C functions For onsi/ginkgo#725 Change-Id: Iff5f98cb85aabd9c675c0519c30009ed96c2f6be Reviewed-on: https://go-review.googlesource.com/c/sys/+/258358 Trust: Ian Lance Taylor Reviewed-by: Than McIntosh --- unix/gccgo.go | 2 -- unix/gccgo_c.c | 6 ++++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/unix/gccgo.go b/unix/gccgo.go index cd6f5a61..86032c11 100644 --- a/unix/gccgo.go +++ b/unix/gccgo.go @@ -12,10 +12,8 @@ import "syscall" // We can't use the gc-syntax .s files for gccgo. On the plus side // much of the functionality can be written directly in Go. -//extern gccgoRealSyscallNoError func realSyscallNoError(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r uintptr) -//extern gccgoRealSyscall func realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r, errno uintptr) func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) { diff --git a/unix/gccgo_c.c b/unix/gccgo_c.c index c44730c5..2cb1fefa 100644 --- a/unix/gccgo_c.c +++ b/unix/gccgo_c.c @@ -21,6 +21,9 @@ struct ret { uintptr_t err; }; +struct ret gccgoRealSyscall(uintptr_t trap, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, uintptr_t a7, uintptr_t a8, uintptr_t a9) + __asm__(GOSYM_PREFIX GOPKGPATH ".realSyscall"); + struct ret gccgoRealSyscall(uintptr_t trap, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, uintptr_t a7, uintptr_t a8, uintptr_t a9) { @@ -32,6 +35,9 @@ gccgoRealSyscall(uintptr_t trap, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintp return r; } +uintptr_t gccgoRealSyscallNoError(uintptr_t trap, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, uintptr_t a7, uintptr_t a8, uintptr_t a9) + __asm__(GOSYM_PREFIX GOPKGPATH ".realSyscallNoError"); + uintptr_t gccgoRealSyscallNoError(uintptr_t trap, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, uintptr_t a7, uintptr_t a8, uintptr_t a9) {