mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
runtime: fix TestGdbPythonCgo failure with ld.gold
See the added comment for the reasoning behind the workaround. Fixes #26868. Change-Id: Idede020ec88a49595dc233d9a1346b12691186f4 Reviewed-on: https://go-review.googlesource.com/128815 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
c166ff6838
commit
a0127c1921
1 changed files with 17 additions and 2 deletions
|
|
@ -162,7 +162,22 @@ func testGdbPython(t *testing.T, cgo bool) {
|
|||
args := []string{"-nx", "-q", "--batch",
|
||||
"-iex", "add-auto-load-safe-path " + filepath.Join(runtime.GOROOT(), "src", "runtime"),
|
||||
"-ex", "set startup-with-shell off",
|
||||
"-ex", "info auto-load python-scripts",
|
||||
}
|
||||
if cgo {
|
||||
// When we build the cgo version of the program, the system's
|
||||
// linker is used. Some external linkers, like GNU gold,
|
||||
// compress the .debug_gdb_scripts into .zdebug_gdb_scripts.
|
||||
// Until gold and gdb can work together, temporarily load the
|
||||
// python script directly.
|
||||
args = append(args,
|
||||
"-ex", "source "+filepath.Join(runtime.GOROOT(), "src", "runtime", "runtime-gdb.py"),
|
||||
)
|
||||
} else {
|
||||
args = append(args,
|
||||
"-ex", "info auto-load python-scripts",
|
||||
)
|
||||
}
|
||||
args = append(args,
|
||||
"-ex", "set python print-stack full",
|
||||
"-ex", "br fmt.Println",
|
||||
"-ex", "run",
|
||||
|
|
@ -193,7 +208,7 @@ func testGdbPython(t *testing.T, cgo bool) {
|
|||
"-ex", "goroutine 1 bt",
|
||||
"-ex", "echo END\n",
|
||||
filepath.Join(dir, "a.exe"),
|
||||
}
|
||||
)
|
||||
got, _ := exec.Command("gdb", args...).CombinedOutput()
|
||||
t.Logf("gdb output: %s\n", got)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue