I have committed a patch to update libgo to the weekly.2012-03-22
release.  As usual, this e-mail only includes the changes to files
specific go gccgo.  Bootstrapped and ran Go testsuite on
x86_64-unknown-linux-gnu.  Committed to mainline and 4.7 branch.

Ian

diff -r 95129a2d27f4 libgo/MERGE
--- a/libgo/MERGE	Fri Mar 30 14:13:09 2012 -0700
+++ b/libgo/MERGE	Fri Mar 30 14:50:01 2012 -0700
@@ -1,4 +1,4 @@
-3cdba7b0650c
+bce220d03774
 
 The first line of this file holds the Mercurial revision number of the
 last merge done from the master library sources.
diff -r 95129a2d27f4 libgo/merge.sh
--- a/libgo/merge.sh	Fri Mar 30 14:13:09 2012 -0700
+++ b/libgo/merge.sh	Fri Mar 30 14:50:01 2012 -0700
@@ -163,7 +163,7 @@
   done
 done
 
-runtime="chan.c cpuprof.c goc2c.c lock_futex.c lock_sema.c mcache.c mcentral.c mfinal.c mfixalloc.c mgc0.c mheap.c msize.c proc.c runtime.c runtime.h signal_unix.c malloc.h malloc.goc mprof.goc runtime1.goc sema.goc sigqueue.goc string.goc time.goc"
+runtime="chan.c cpuprof.c lock_futex.c lock_sema.c mcache.c mcentral.c mfinal.c mfixalloc.c mgc0.c mheap.c msize.c proc.c runtime.c runtime.h signal_unix.c malloc.h malloc.goc mprof.goc runtime1.goc sema.goc sigqueue.goc string.goc time.goc"
 for f in $runtime; do
   merge_c $f $f
 done
diff -r 95129a2d27f4 libgo/runtime/proc.c
--- a/libgo/runtime/proc.c	Fri Mar 30 14:13:09 2012 -0700
+++ b/libgo/runtime/proc.c	Fri Mar 30 14:50:01 2012 -0700
@@ -966,6 +966,11 @@
 	}
 #endif
 
+	// Install signal handlers; after minit so that minit can
+	// prepare the thread to be able to handle the signals.
+	if(m == &runtime_m0)
+		runtime_initsig();
+
 	schedule(nil);
 	return nil;
 }
diff -r 95129a2d27f4 libgo/runtime/runtime.c
--- a/libgo/runtime/runtime.c	Fri Mar 30 14:13:09 2012 -0700
+++ b/libgo/runtime/runtime.c	Fri Mar 30 14:50:01 2012 -0700
@@ -74,7 +74,7 @@
 runtime_panicstring(const char *s)
 {
 	Eface err;
-	
+
 	if(runtime_m()->gcing) {
 		runtime_printf("panic: %s\n", s);
 		runtime_throw("panic during gc");
@@ -101,7 +101,7 @@
 {
 	String *s;
 	int32 i;
-	
+
 	// for windows implementation see "os" package
 	if(Windows)
 		return;
@@ -119,7 +119,7 @@
 {
 	String *s;
 	int32 i, n;
-	
+
 	for(n=0; argv[argc+1+n] != 0; n++)
 		;
 
@@ -195,8 +195,6 @@
 runtime_check(void)
 {
 	__go_register_gc_roots(&runtime_roots);
-
-	runtime_initsig ();
 }
 
 int64

Reply via email to