From: Austin Clements Date: Fri, 2 Apr 2021 17:32:08 +0000 (-0400) Subject: cmd/internal/obj: use REGENTRYTMP* in a few more places X-Git-Tag: go1.17beta1~873 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=2ebe77a2fda1ee9ff6fd9a3e08933ad1ebaea039;p=gostls13.git cmd/internal/obj: use REGENTRYTMP* in a few more places There are a few remaining places in obj6 where we hard-code safe-on-entry registers. Fix those to use the consts. For #40724. Change-Id: Ie640521aa67d6c99bc057553dc122160049c6edc Reviewed-on: https://go-review.googlesource.com/c/go/+/307009 Trust: Austin Clements Run-TryBot: Austin Clements TryBot-Result: Go Bot Reviewed-by: Cherry Zhang --- diff --git a/src/cmd/internal/obj/x86/obj6.go b/src/cmd/internal/obj/x86/obj6.go index a314583e49..785e6f5bd3 100644 --- a/src/cmd/internal/obj/x86/obj6.go +++ b/src/cmd/internal/obj/x86/obj6.go @@ -1046,7 +1046,7 @@ func stacksplit(ctxt *obj.Link, cursym *obj.LSym, p *obj.Prog, newprog obj.ProgA tmp := int16(REG_AX) // use AX for 32-bit if ctxt.Arch.Family == sys.AMD64 { // for 64-bit, stay away from register ABI parameter registers, even w/o GOEXPERIMENT=regabi - tmp = int16(REG_R13) + tmp = int16(REGENTRYTMP0) } // large stack: SP-framesize <= stackguard-StackSmall // LEAQ -xxx(SP), tmp @@ -1076,8 +1076,8 @@ func stacksplit(ctxt *obj.Link, cursym *obj.LSym, p *obj.Prog, newprog obj.ProgA tmp1 := int16(REG_SI) tmp2 := int16(REG_AX) if ctxt.Arch.Family == sys.AMD64 { - tmp1 = int16(REG_R13) // register ABI uses REG_SI and REG_AX for parameters. - tmp2 = int16(REG_R12) + tmp1 = int16(REGENTRYTMP0) // register ABI uses REG_SI and REG_AX for parameters. + tmp2 = int16(REGENTRYTMP1) } // Such a large stack we need to protect against wraparound. // If SP is close to zero: