mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/ld: restore .debug_gdb_script section after runtime reorganization
On some systems, gdb refuses to load Python plugin from arbitrary paths, so we have to add $GOROOT/src/runtime to auto-load-safe-path in the gdb script test. Change-Id: Icc44baab8d04a65bd21ceac2ab8ddb13c8d083e8 Reviewed-on: https://go-review.googlesource.com/2905 Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
This commit is contained in:
parent
7e43aee301
commit
810a499bda
2 changed files with 9 additions and 7 deletions
|
|
@ -1,21 +1,23 @@
|
|||
package runtime_test
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func checkGdbPython(t *testing.T) {
|
||||
cmd := exec.Command("gdb", "-nx", "-q", "--batch", "-ex", "python import sys; print('golang gdb python support')")
|
||||
cmd := exec.Command("gdb", "-nx", "-q", "--batch", "-ex", "python import sys; print('go gdb python support')")
|
||||
out, err := cmd.CombinedOutput()
|
||||
|
||||
if err != nil {
|
||||
t.Skipf("skipping due to issue running gdb%v", err)
|
||||
t.Skipf("skipping due to issue running gdb: %v", err)
|
||||
}
|
||||
if string(out) != "golang gdb python support\n" {
|
||||
if string(out) != "go gdb python support\n" {
|
||||
t.Skipf("skipping due to lack of python gdb support: %s", out)
|
||||
}
|
||||
}
|
||||
|
|
@ -29,7 +31,6 @@ func main() {
|
|||
`
|
||||
|
||||
func TestGdbLoadRuntimeSupport(t *testing.T) {
|
||||
|
||||
checkGdbPython(t)
|
||||
|
||||
dir, err := ioutil.TempDir("", "go-build")
|
||||
|
|
@ -51,7 +52,8 @@ func TestGdbLoadRuntimeSupport(t *testing.T) {
|
|||
t.Fatalf("building source %v\n%s", err, out)
|
||||
}
|
||||
|
||||
got, _ := exec.Command("gdb", "-nx", "-q", "--batch", "-ex", "source runtime-gdb.py",
|
||||
got, _ := exec.Command("gdb", "-nx", "-q", "--batch", "-iex",
|
||||
fmt.Sprintf("add-auto-load-safe-path %s/src/runtime", runtime.GOROOT()),
|
||||
filepath.Join(dir, "a.exe")).CombinedOutput()
|
||||
if string(got) != "Loading Go Runtime support.\n" {
|
||||
t.Fatalf("%s", got)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue