From: Russ Cox Date: Thu, 14 Oct 2010 14:45:32 +0000 (-0400) Subject: arm: adjust recover for new reflect.call X-Git-Tag: weekly.2010-10-13.1~6 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=9b15ad8c228c51ba70ffea24434a337956799067;p=gostls13.git arm: adjust recover for new reflect.call R=ken2 CC=golang-dev https://golang.org/cl/2471043 --- diff --git a/src/pkg/runtime/proc.c b/src/pkg/runtime/proc.c index 794e767498..d898b30b37 100644 --- a/src/pkg/runtime/proc.c +++ b/src/pkg/runtime/proc.c @@ -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);