die->link = parent->child;
}
-// If the pcln table contains runtime/string.goc, use that to set gdbscript path.
+// If the pcln table contains runtime/runtime.go, use that to set gdbscript path.
static void
finddebugruntimepath(LSym *s)
{
for(i=0; i<s->pcln->nfile; i++) {
f = s->pcln->file[i];
- if((p = strstr(f->name, "runtime/string.goc")) != nil) {
+ if((p = strstr(f->name, "runtime/runtime.go")) != nil) {
*p = '\0';
snprint(gdbscript, sizeof gdbscript, "%sruntime/runtime-gdb.py", f->name);
*p = 'r';
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)
}
}
`
func TestGdbLoadRuntimeSupport(t *testing.T) {
-
checkGdbPython(t)
dir, err := ioutil.TempDir("", "go-build")
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)