From: Rémy Oudompheng Date: Fri, 7 Mar 2014 18:44:35 +0000 (+0100) Subject: liblink: fix morestack handling on amd64p32. X-Git-Tag: go1.3beta1~425 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=9460cf78257fd8326827f1564da5da29b3bb8089;p=gostls13.git liblink: fix morestack handling on amd64p32. It was using MOVL to pass a 64-bit argument (concatenated framesize and argsize) to morestack11. LGTM=dave, rsc R=dave, rsc, iant CC=golang-codereviews https://golang.org/cl/72360044 --- diff --git a/src/liblink/obj6.c b/src/liblink/obj6.c index 036e20c8d4..6cfa67f09e 100644 --- a/src/liblink/obj6.c +++ b/src/liblink/obj6.c @@ -862,7 +862,8 @@ stacksplit(Link *ctxt, Prog *p, int32 framesize, int32 textarg, int noctxt, Prog p->to.type = D_BRANCH; p->to.sym = ctxt->symmorestack[2*2+noctxt]; } else { - p->as = mov; + // Pass framesize and argsize. + p->as = AMOVQ; p->from.type = D_CONST; p->from.offset = (uint64)moreconst2 << 32; p->from.offset |= moreconst1;