1
0
mirror of https://github.com/golang/go synced 2024-11-27 02:41:23 -07:00

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
This commit is contained in:
Rémy Oudompheng 2014-03-07 19:44:35 +01:00
parent 1a89e6388c
commit 9460cf7825

View File

@ -862,7 +862,8 @@ stacksplit(Link *ctxt, Prog *p, int32 framesize, int32 textarg, int noctxt, Prog
p->to.type = D_BRANCH; p->to.type = D_BRANCH;
p->to.sym = ctxt->symmorestack[2*2+noctxt]; p->to.sym = ctxt->symmorestack[2*2+noctxt];
} else { } else {
p->as = mov; // Pass framesize and argsize.
p->as = AMOVQ;
p->from.type = D_CONST; p->from.type = D_CONST;
p->from.offset = (uint64)moreconst2 << 32; p->from.offset = (uint64)moreconst2 << 32;
p->from.offset |= moreconst1; p->from.offset |= moreconst1;