@@ -18,11 +18,8 @@
func entersyscall()
func exitsyscall()
-func LockedOSThread() bool
-
-/* Useless for gccgo.
+func golockedOSThread() bool
var Entersyscall = entersyscall
var Exitsyscall = exitsyscall
-
-*/
+var LockedOSThread = golockedOSThread
@@ -74,8 +74,6 @@
}
}
-/* These benchmarks are meaningless for gccgo.
-
func BenchmarkSyscall(b *testing.B) {
const CallsPerSched = 1000
procs := runtime.GOMAXPROCS(-1)
@@ -125,5 +123,3 @@
<-c
}
}
-
-*/
@@ -1156,6 +1156,26 @@
return newg;
}
+/* For runtime package testing. */
+
+void runtime_testing_entersyscall(void)
+ __asm__("libgo_runtime.runtime.entersyscall");
+
+void
+runtime_testing_entersyscall()
+{
+ runtime_entersyscall();
+}
+
+void runtime_testing_exitsyscall(void)
+ __asm__("libgo_runtime.runtime.exitsyscall");
+
+void
+runtime_testing_exitsyscall()
+{
+ runtime_exitsyscall();
+}
+
G*
__go_go(void (*fn)(void*), void* arg)
{
@@ -1330,6 +1350,17 @@
return g->lockedm != nil && m->lockedg != nil;
}
+// for testing of callbacks
+
+_Bool runtime_golockedOSThread(void)
+ asm("libgo_runtime.runtime.golockedOSThread");
+
+_Bool
+runtime_golockedOSThread(void)
+{
+ return runtime_lockedOSThread();
+}
+
// for testing of wire, unwire
uint32
runtime_mid()