From 04cf881fbea55d5bca584c78b15454b189af11f5 Mon Sep 17 00:00:00 2001 From: Shenghou Ma Date: Sat, 20 Dec 2014 14:13:44 -0500 Subject: [PATCH] misc/cgo/test: get rid of the backdoor package For Go 1.5, we can use go:linkname rather than assembly thunk for gc. Gccgo already has support for //extern. Change-Id: I5505aa247dd5b555112f7261ed2f192c81cf0bdf Signed-off-by: Shenghou Ma Reviewed-on: https://go-review.googlesource.com/1888 Reviewed-by: Russ Cox Reviewed-by: Ian Lance Taylor --- misc/cgo/test/backdoor.go | 11 +++++++++++ misc/cgo/test/backdoor/backdoor.go | 7 ------- misc/cgo/test/backdoor/runtime_gccgo.c | 18 ------------------ misc/cgo/test/backdoor/thunk.s | 17 ----------------- misc/cgo/test/callback.go | 4 ---- 5 files changed, 11 insertions(+), 46 deletions(-) create mode 100644 misc/cgo/test/backdoor.go delete mode 100644 misc/cgo/test/backdoor/backdoor.go delete mode 100644 misc/cgo/test/backdoor/runtime_gccgo.c delete mode 100644 misc/cgo/test/backdoor/thunk.s diff --git a/misc/cgo/test/backdoor.go b/misc/cgo/test/backdoor.go new file mode 100644 index 00000000000..6fb33d66cb2 --- /dev/null +++ b/misc/cgo/test/backdoor.go @@ -0,0 +1,11 @@ +// Copyright 2014 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 cgotest + +import _ "unsafe" + +//go:linkname lockedOSThread runtime.lockedOSThread +//extern runtime_lockedOSThread +func lockedOSThread() bool diff --git a/misc/cgo/test/backdoor/backdoor.go b/misc/cgo/test/backdoor/backdoor.go deleted file mode 100644 index 27b71b1f572..00000000000 --- a/misc/cgo/test/backdoor/backdoor.go +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2012 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 backdoor - -func LockedOSThread() bool // in thunk.s or runtime_gccgo.c diff --git a/misc/cgo/test/backdoor/runtime_gccgo.c b/misc/cgo/test/backdoor/runtime_gccgo.c deleted file mode 100644 index b75f47b92d4..00000000000 --- a/misc/cgo/test/backdoor/runtime_gccgo.c +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2012 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. - -// Expose some runtime functions for testing. -// This is the gccgo version of thunk.s. - -// +build gccgo - -_Bool runtime_lockedOSThread(void); - -_Bool LockedOSThread(void) asm(GOPKGPATH ".LockedOSThread"); - -_Bool -LockedOSThread(void) -{ - return runtime_lockedOSThread(); -} diff --git a/misc/cgo/test/backdoor/thunk.s b/misc/cgo/test/backdoor/thunk.s deleted file mode 100644 index 8240faf63b7..00000000000 --- a/misc/cgo/test/backdoor/thunk.s +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright 2014 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. - -// Assembly to get into package runtime without using exported symbols. - -// +build amd64 amd64p32 arm 386 -// +build gc - -#include "textflag.h" - -#ifdef GOARCH_arm -#define JMP B -#endif - -TEXT ·LockedOSThread(SB),NOSPLIT,$0-0 - JMP runtime·lockedOSThread(SB) diff --git a/misc/cgo/test/callback.go b/misc/cgo/test/callback.go index 44167e6e9ef..6e1e5569fca 100644 --- a/misc/cgo/test/callback.go +++ b/misc/cgo/test/callback.go @@ -22,8 +22,6 @@ import ( "strings" "testing" "unsafe" - - "./backdoor" ) // nestedCall calls into C, back into Go, and finally to f. @@ -50,8 +48,6 @@ func testCallbackGC(t *testing.T) { nestedCall(runtime.GC) } -var lockedOSThread = backdoor.LockedOSThread - func testCallbackPanic(t *testing.T) { // Make sure panic during callback unwinds properly. if lockedOSThread() {