From 08770a5b944ba1cf4f62f075bfd94cd36a061bdb Mon Sep 17 00:00:00 2001 From: Michael Pratt Date: Fri, 13 Dec 2024 15:05:27 -0500 Subject: [PATCH] cmd/link: make dwarf name slice index self-describing cmd/compile/internal/dwarfgen.createComplexVar does it this way, which has the nice property of documenting the expected prefix. This is primarily for newtype, since defgotype checks for the prefix immediately prior, but I changed both for consistency. Change-Id: I49fa7c6166bdcbd19aaf91fe3dc20537080afcfc Reviewed-on: https://go-review.googlesource.com/c/go/+/635177 Reviewed-by: Michael Knyszek LUCI-TryBot-Result: Go LUCI Auto-Submit: Michael Pratt --- src/cmd/link/internal/ld/dwarf.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cmd/link/internal/ld/dwarf.go b/src/cmd/link/internal/ld/dwarf.go index 14c0b687d8..b653e09a3c 100644 --- a/src/cmd/link/internal/ld/dwarf.go +++ b/src/cmd/link/internal/ld/dwarf.go @@ -520,7 +520,7 @@ func (d *dwctxt) defgotype(gotype loader.Sym) loader.Sym { d.linkctxt.Errorf(gotype, "dwarf: type name doesn't start with \"type:\"") return d.mustFind("") } - name := sn[5:] // could also decode from Type.string + name := sn[len("type:"):] // could also decode from Type.string sdie := d.find(name) if sdie != 0 { @@ -534,7 +534,7 @@ func (d *dwctxt) defgotype(gotype loader.Sym) loader.Sym { func (d *dwctxt) newtype(gotype loader.Sym) *dwarf.DWDie { sn := d.ldr.SymName(gotype) - name := sn[5:] // could also decode from Type.string + name := sn[len("type:"):] // could also decode from Type.string tdata := d.ldr.Data(gotype) if len(tdata) == 0 { d.linkctxt.Errorf(gotype, "missing type") -- 2.48.1