mirror of
https://github.com/golang/go
synced 2024-11-14 22:40:40 -07:00
[release-branch.go1.15] cmd/compile: do not emit an extra debug_line entry for the end of seq addr
Uses DW_LNS_advance_pc directly, instead of calling putpclcdelta because the latter will create a new debug_line entry for the end of sequence address. Updates #42484. Fixes #42521. Change-Id: Ib6355605cac101b9bf37a3b4961ab0cee678a839 Reviewed-on: https://go-review.googlesource.com/c/go/+/268937 Trust: Than McIntosh <thanm@google.com> Run-TryBot: Than McIntosh <thanm@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com> Reviewed-by: Cherry Zhang <cherryyz@google.com> Reviewed-on: https://go-review.googlesource.com/c/go/+/269517
This commit is contained in:
parent
20f50bba49
commit
16ddb8bc76
@ -106,7 +106,8 @@ func (ctxt *Link) generateDebugLinesSymbol(s, lines *LSym) {
|
|||||||
// GDB will assign a line number of zero the last row in the line
|
// GDB will assign a line number of zero the last row in the line
|
||||||
// table, which we don't want.
|
// table, which we don't want.
|
||||||
lastlen := uint64(s.Size - (lastpc - s.Func.Text.Pc))
|
lastlen := uint64(s.Size - (lastpc - s.Func.Text.Pc))
|
||||||
putpclcdelta(ctxt, dctxt, lines, lastlen, 0)
|
dctxt.AddUint8(lines, dwarf.DW_LNS_advance_pc)
|
||||||
|
dwarf.Uleb128put(dctxt, lines, int64(lastlen))
|
||||||
dctxt.AddUint8(lines, 0) // start extended opcode
|
dctxt.AddUint8(lines, 0) // start extended opcode
|
||||||
dwarf.Uleb128put(dctxt, lines, 1)
|
dwarf.Uleb128put(dctxt, lines, 1)
|
||||||
dctxt.AddUint8(lines, dwarf.DW_LNE_end_sequence)
|
dctxt.AddUint8(lines, dwarf.DW_LNE_end_sequence)
|
||||||
|
Loading…
Reference in New Issue
Block a user