From: David Chase Date: Fri, 13 Mar 2020 01:30:30 +0000 (-0400) Subject: cmd/internal/obj: add stmt prologueEnd to DWARF for arm64 X-Git-Tag: go1.15beta1~151 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=a88c26eb286098b4c8f322f5076e933556fce5ac;p=gostls13.git cmd/internal/obj: add stmt prologueEnd to DWARF for arm64 Change-Id: I7e9ec2835f1a7d9821dff3e868aebf07fece8137 Reviewed-on: https://go-review.googlesource.com/c/go/+/223297 Run-TryBot: David Chase TryBot-Result: Gobot Gobot Reviewed-by: Alessandro Arzilli Reviewed-by: Heschi Kreinick Reviewed-by: Cherry Zhang --- diff --git a/src/cmd/internal/obj/arm64/obj7.go b/src/cmd/internal/obj/arm64/obj7.go index 09f603a059..b046685ada 100644 --- a/src/cmd/internal/obj/arm64/obj7.go +++ b/src/cmd/internal/obj/arm64/obj7.go @@ -33,6 +33,7 @@ package arm64 import ( "cmd/internal/obj" "cmd/internal/objabi" + "cmd/internal/src" "cmd/internal/sys" "math" ) @@ -593,6 +594,8 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym, newprog obj.ProgAlloc) { p = c.stacksplit(p, c.autosize) // emit split check } + var prologueEnd *obj.Prog + aoffset := c.autosize if aoffset > 0xF0 { aoffset = 0xF0 @@ -619,6 +622,8 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym, newprog obj.ProgAlloc) { q.To.Type = obj.TYPE_REG q.To.Reg = REGTMP + prologueEnd = q + q = obj.Appendp(q, c.newprog) q.Pos = p.Pos q.As = AMOVD @@ -662,8 +667,12 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym, newprog obj.ProgAlloc) { q1.To.Offset = int64(-aoffset) q1.To.Reg = REGSP q1.Spadj = aoffset + + prologueEnd = q1 } + prologueEnd.Pos = prologueEnd.Pos.WithXlogue(src.PosPrologueEnd) + if objabi.Framepointer_enabled(objabi.GOOS, objabi.GOARCH) { q1 = obj.Appendp(q1, c.newprog) q1.Pos = p.Pos