]> Cypherpunks repositories - gostls13.git/commitdiff
fix off by 4 in newproc arg copying.
authorKai Backman <kaib@golang.org>
Thu, 22 Oct 2009 20:31:52 +0000 (13:31 -0700)
committerKai Backman <kaib@golang.org>
Thu, 22 Oct 2009 20:31:52 +0000 (13:31 -0700)
R=rsc
APPROVED=rsc
DELTA=4  (0 added, 0 deleted, 4 changed)
OCL=36001
CL=36004

src/cmd/5g/ggen.c
src/pkg/runtime/arm/asm.s

index f1829e5df73abb9d563dc42d7071e7b093ebb143..6150a17d17b9002e792519948402653cbcd7f15b 100644 (file)
@@ -133,7 +133,7 @@ ginscall(Node *f, int proc)
                p = gins(AMOVW, &r, N);
                p->to.type = D_OREG;
                p->to.reg = REGSP;
-               p->to.offset = -8;
+               p->to.offset = -12;
                p->scond |= C_WBIT;
 
                memset(&n1, 0, sizeof n1);
@@ -168,7 +168,7 @@ ginscall(Node *f, int proc)
                p = gins(AMOVW, &r, N);
                p->to.type = D_OREG;
                p->to.reg = REGSP;
-               p->to.offset = 8;
+               p->to.offset = 12;
                p->scond |= C_WBIT;
                regfree(&r);
 
index d8b5a120ccd89f6d2d3aea3acabc4abe4e14459b..aa21ab8506862331d9ed936abb914adcf22366c8 100644 (file)
@@ -91,7 +91,7 @@ TEXT  breakpoint(SB),7,$0
 
 // uintptr gosave(Gobuf*)
 // save state in Gobuf; setjmp
-TEXT gosave(SB), 7, $0
+TEXT gosave(SB), 7, $-4
        MOVW    0(FP), R0
        MOVW    SP, gobuf_sp(R0)
        MOVW    LR, gobuf_pc(R0)
@@ -101,7 +101,7 @@ TEXT gosave(SB), 7, $0
 
 // void gogo(Gobuf*, uintptr)
 // restore state from Gobuf; longjmp
-TEXT   gogo(SB), 7, $0
+TEXT   gogo(SB), 7, $-4
        MOVW    0(FP), R1                       // gobuf
        MOVW    4(FP), R0               // return 2nd arg
        MOVW    gobuf_g(R1), g