]> Cypherpunks repositories - gostls13.git/commitdiff
arm: adjust recover for new reflect.call
authorRuss Cox <rsc@golang.org>
Thu, 14 Oct 2010 14:45:32 +0000 (10:45 -0400)
committerRuss Cox <rsc@golang.org>
Thu, 14 Oct 2010 14:45:32 +0000 (10:45 -0400)
R=ken2
CC=golang-dev
https://golang.org/cl/2471043

src/pkg/runtime/proc.c

index 794e76749871e00c3d31cc0e7b98f0db8f6732f6..d898b30b37ddf4aa372c7cc00c5cda4e3b930d94 100644 (file)
@@ -3,6 +3,7 @@
 // license that can be found in the LICENSE file.
 
 #include "runtime.h"
+#include "arch.h"
 #include "defs.h"
 #include "malloc.h"
 #include "os.h"
@@ -1001,7 +1002,10 @@ void
                // take defer off list in case of recursive panic
                g->defer = d->link;
                g->ispanic = true;      // rock for newstack, where reflect.call ends up
-               reflect·call(d->fn, d->args, d->siz);
+               if(thechar == '5')
+                       reflect·call(d->fn, d->args+4, d->siz-4);      // reflect.call does not expect LR
+               else
+                       reflect·call(d->fn, d->args, d->siz);
                if(p->recovered) {
                        g->panic = p->link;
                        free(p);