From: crazycomputer Date: Sun, 22 Aug 2021 09:26:20 +0000 (+0800) Subject: cmd/link: guarantee "section .debug_gdb_scripts" is always "$GOROOT/src/runtime/runti... X-Git-Tag: go1.18beta1~1646 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=daa55b21d1e7707ed251336c851841bb0eca3021;p=gostls13.git cmd/link: guarantee "section .debug_gdb_scripts" is always "$GOROOT/src/runtime/runtime-gdb.py". to guarantee the "section .debug_gdb_scripts" is always "$GOROOT/src/runtime/runtime-gdb.py" , a check for package name is needed when search "runtime/proc.go". Fixes #47881 Change-Id: Ib471314ca1a6777f625b488e5ae3790457540ef9 Reviewed-on: https://go-review.googlesource.com/c/go/+/344229 Run-TryBot: Than McIntosh TryBot-Result: Go Bot Reviewed-by: Than McIntosh Trust: Michael Knyszek --- diff --git a/src/cmd/link/internal/ld/dwarf.go b/src/cmd/link/internal/ld/dwarf.go index c53d2408cb..98ab248e13 100644 --- a/src/cmd/link/internal/ld/dwarf.go +++ b/src/cmd/link/internal/ld/dwarf.go @@ -1190,7 +1190,7 @@ func (d *dwctxt) writeDirFileTables(unit *sym.CompilationUnit, lsu *loader.Symbo // We can't use something that may be dead-code // eliminated from a binary here. proc.go contains // main and the scheduler, so it's not going anywhere. - if i := strings.Index(name, "runtime/proc.go"); i >= 0 { + if i := strings.Index(name, "runtime/proc.go"); i >= 0 && unit.Lib.Pkg == "runtime" { d.dwmu.Lock() if gdbscript == "" { k := strings.Index(name, "runtime/proc.go")