From 782eea0190381b849e8e4b82bef46c1e3f281f97 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Thu, 30 Jul 2015 22:35:56 -0400 Subject: [PATCH] cmd/internal/obj/arm: fix large stack offsets on nacl/arm The code already fixed large non-stack offsets but explicitly excluded stack references. Perhaps you could get away with that before, but current versions of nacl reject such stack references. Rewrite them the same as the others. For #11956 but probably not the last problem. Change-Id: I0db4e3a1ed4f88ccddf0d30228982960091d9fb7 Reviewed-on: https://go-review.googlesource.com/13010 Reviewed-by: Dave Cheney --- src/cmd/internal/obj/arm/asm5.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cmd/internal/obj/arm/asm5.go b/src/cmd/internal/obj/arm/asm5.go index e50dcf56f8..610637c42e 100644 --- a/src/cmd/internal/obj/arm/asm5.go +++ b/src/cmd/internal/obj/arm/asm5.go @@ -472,8 +472,8 @@ func asmoutnacl(ctxt *obj.Link, origPC int32, p *obj.Prog, o *Optab, out []uint3 break } - if (p.To.Type == obj.TYPE_MEM && p.To.Reg != REG_R13 && p.To.Reg != REG_R9) || // MOVW Rx, X(Ry), y != 13 && y != 9 - (p.From.Type == obj.TYPE_MEM && p.From.Reg != REG_R13 && p.From.Reg != REG_R9) { // MOVW X(Rx), Ry, x != 13 && x != 9 + if (p.To.Type == obj.TYPE_MEM && p.To.Reg != REG_R9) || // MOVW Rx, X(Ry), y != 9 + (p.From.Type == obj.TYPE_MEM && p.From.Reg != REG_R9) { // MOVW X(Rx), Ry, x != 9 var a *obj.Addr if p.To.Type == obj.TYPE_MEM { a = &p.To -- 2.50.0