From daa55b21d1e7707ed251336c851841bb0eca3021 Mon Sep 17 00:00:00 2001 From: crazycomputer Date: Sun, 22 Aug 2021 17:26:20 +0800 Subject: [PATCH] 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 --- src/cmd/link/internal/ld/dwarf.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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") -- 2.50.0