This patch to libgo fixes the context used by the getTraceback
function.  I passed the wrong context, and that error was hidden by
the ucontext_arg function.  This would have been caught by some of the
runtime package tests, but we don't run most of them because they rely
on `go build`, and the go tool is not available while running the
libgo testsuite.  We should fix the gccgo testsuite, somehow, so that
they run.  Bootstrapped and ran Go tests on x86_64-pc-linux-gnu.
Committed to mainline.

Ian
Index: gcc/go/gofrontend/MERGE
===================================================================
--- gcc/go/gofrontend/MERGE     (revision 244889)
+++ gcc/go/gofrontend/MERGE     (working copy)
@@ -1,4 +1,4 @@
-5c6c93f58e2aaae186bac5dcde9df1679d4896b1
+f8c451ed42fd71b85afab54a33fc321df0ff3b0b
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
Index: libgo/runtime/proc.c
===================================================================
--- libgo/runtime/proc.c        (revision 244945)
+++ libgo/runtime/proc.c        (working copy)
@@ -631,7 +631,7 @@ void getTraceback(G* me, G* gp)
 #ifdef USING_SPLIT_STACK
        __splitstack_getcontext(&me->stackcontext[0]);
 #endif
-       getcontext(ucontext_arg(&me->stackcontext[0]));
+       getcontext(ucontext_arg(&me->context[0]));
 
        if (gp->traceback != nil) {
                runtime_gogo(gp);

Reply via email to