]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: skip ssa/debug_test.go when gdb missing etc.
authorDavid Chase <drchase@google.com>
Mon, 9 Oct 2017 20:41:25 +0000 (16:41 -0400)
committerDavid Chase <drchase@google.com>
Mon, 9 Oct 2017 21:08:19 +0000 (21:08 +0000)
CL50610 broke the build for noopt (different inlining
behavior) and clang (no gdb) so it needs to catch those
cases and skip.

The run/no-run logic was slightly cleaned up,
the name of gdb on OSX was made more robust (tries gdb
first, then ggdb), and the file names were canonicalized
before loggging instead of in comparison to reduce
gratuitous noise in diffs when things aren't otherwise
equal.

This probably doesn't fix problems on Alpine, but it should
provide a cleaner and less confusing failure.

Change-Id: I26c65bff5a8d3d60f1cd6ae02a282558c53dda67
Reviewed-on: https://go-review.googlesource.com/69371
Run-TryBot: David Chase <drchase@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
src/cmd/compile/internal/ssa/debug_test.go
src/cmd/compile/internal/ssa/testdata/hist-dbg.delve-nexts
src/cmd/compile/internal/ssa/testdata/hist-dbg.gdb-nexts
src/cmd/compile/internal/ssa/testdata/hist-opt.delve-nexts
src/cmd/compile/internal/ssa/testdata/hist-opt.gdb-nexts
src/cmd/compile/internal/ssa/testdata/hist.go

index d41788103d254c0eb9740673aca54cff6803ceed..e1b8e38ece39ed6ba6a8cef45ced98931f20f385 100644 (file)
@@ -32,6 +32,8 @@ var hexRe = regexp.MustCompile("0x[a-zA-Z0-9]+")
 var numRe = regexp.MustCompile("-?[0-9]+")
 var stringRe = regexp.MustCompile("\"([^\\\"]|(\\.))*\"")
 
+var gdb = "gdb" // Might be "ggdb" on Darwin, because gdb no longer part of XCode
+
 // TestNexting go-builds a file, then uses a debugger (default gdb, optionally delve)
 // to next through the generated executable, recording each line landed at, and
 // then compares those lines with reference file(s).
@@ -56,28 +58,54 @@ var stringRe = regexp.MustCompile("\"([^\\\"]|(\\.))*\"")
 // go test debug_test.go -args -u
 // (for Delve)
 // go test debug_test.go -args -u -d
+
 func TestNexting(t *testing.T) {
        testenv.MustHaveGoBuild(t)
-       testNexting(t, "hist", "dbg", "-N -l")
-       testNexting(t, "hist", "opt", "")
-}
-
-func testNexting(t *testing.T, base, tag, gcflags string) {
-       // (1) In testdata, build sample.go into sample
-       // (2) Run debugger gathering a history
-       // (3) Read expected history from testdata/sample.nexts
-       // optionally, write out testdata/sample.nexts
 
        if !*delve && !*force && !(runtime.GOOS == "linux" && runtime.GOARCH == "amd64") {
                // Running gdb on OSX/darwin is very flaky.
+               // Sometimes it is called ggdb, depending on how it is installed.
                // It also probably requires an admin password typed into a dialog box.
                // Various architectures tend to differ slightly sometimes, and keeping them
                // all in sync is a pain for people who don't have them all at hand,
                // so limit testing to amd64 (for now)
 
-               t.Skip()
+               t.Skip("Skipped unless -d (delve), -f (force), or linux-amd64")
        }
 
+       if *delve {
+               _, err := exec.LookPath("dlv")
+               if err != nil {
+                       t.Fatal("dlv specified on command line with -d but no dlv on path")
+               }
+       } else {
+               _, err := exec.LookPath(gdb)
+               if err != nil {
+                       if runtime.GOOS != "darwin" {
+                               t.Skip("Skipped because gdb not available")
+                       }
+                       _, err = exec.LookPath("ggdb")
+                       if err != nil {
+                               t.Skip("Skipped because gdb (and also ggdb) not available")
+                       }
+                       gdb = "ggdb"
+               }
+       }
+
+       testNexting(t, "hist", "dbg", "-N -l")
+       // If this is test is run with a runtime compiled with -N -l, it is very likely to fail.
+       // This occurs in the noopt builders (for example).
+       if gogcflags := os.Getenv("GO_GCFLAGS"); *force || !strings.Contains(gogcflags, "-N") && !strings.Contains(gogcflags, "-l") {
+               testNexting(t, "hist", "opt", "")
+       }
+}
+
+func testNexting(t *testing.T, base, tag, gcflags string) {
+       // (1) In testdata, build sample.go into sample
+       // (2) Run debugger gathering a history
+       // (3) Read expected history from testdata/sample.nexts
+       // optionally, write out testdata/sample.nexts
+
        exe := filepath.Join("testdata", base)
        logbase := exe + "-" + tag
        tmpbase := logbase + "-test"
@@ -300,10 +328,6 @@ func (h *nextHist) addVar(text string) {
 func invertMapSU8(hf2i map[string]uint8) map[uint8]string {
        hi2f := make(map[uint8]string)
        for hs, i := range hf2i {
-               hsi := strings.Index(hs, "/src/")
-               if hsi != -1 {
-                       hs = hs[hsi+1:]
-               }
                hi2f[i] = hs
        }
        return hi2f
@@ -333,6 +357,14 @@ func (h *nextHist) equals(k *nextHist) bool {
        return true
 }
 
+func canonFileName(f string) string {
+       i := strings.Index(f, "/src/")
+       if i != -1 {
+               f = f[i+1:]
+       }
+       return f
+}
+
 /* Delve */
 
 type delveState struct {
@@ -371,14 +403,15 @@ func (s *delveState) stepnext(ss string) bool {
                excerpt = excerpts[1]
        }
        if len(locations) > 0 {
+               fn := canonFileName(locations[2])
                if *verbose {
-                       if s.file != locations[2] {
-                               fmt.Printf("%s\n", locations[2])
+                       if s.file != fn {
+                               fmt.Printf("%s\n", locations[2]) // don't canonocalize verbose logging
                        }
                        fmt.Printf("  %s\n", locations[3])
                }
                s.line = locations[3]
-               s.file = locations[2]
+               s.file = fn
                s.function = locations[1]
                s.ioState.history.add(s.file, s.line, excerpt)
                return true
@@ -427,11 +460,8 @@ type gdbState struct {
 }
 
 func newGdb(tag, executable string, args ...string) dbgr {
-       gdb := "gdb"
-       if runtime.GOOS == "darwin" {
-               gdb = "ggdb" // A possibility on a Mac
-       }
-       cmd := exec.Command(gdb, executable)
+       // Turn off shell, necessary for Darwin apparently
+       cmd := exec.Command(gdb, "-ex", "set startup-with-shell off", executable)
        cmd.Env = replaceEnv(cmd.Env, "TERM", "dumb")
        s := &gdbState{tag: tag, cmd: cmd, args: args}
        s.atLineRe = regexp.MustCompile("(^|\n)([0-9]+)(.*)")
@@ -479,14 +509,15 @@ func (s *gdbState) stepnext(ss string) bool {
                excerpt = excerpts[3]
        }
        if len(locations) > 0 {
+               fn := canonFileName(locations[2])
                if *verbose {
-                       if s.file != locations[2] {
+                       if s.file != fn {
                                fmt.Printf("%s\n", locations[2])
                        }
                        fmt.Printf("  %s\n", locations[3])
                }
                s.line = locations[3]
-               s.file = locations[2]
+               s.file = fn
                s.function = locations[1]
                s.ioState.history.add(s.file, s.line, excerpt)
        }
index cf0d34eb9114e7d3c834f75be42669ee6a45a775..4e71550975330b0086c3c8636756dbf7c5b4709c 100644 (file)
@@ -1,6 +1,6 @@
   ./testdata/hist.go
 35:    func main() {
-36:            hist := make([]int, 100)
+36:            hist := make([]int, 10)
 37:            var reader io.Reader = strings.NewReader(cannedInput) //gdb-dbg=(hist/A,cannedInput/A)
 38:            if len(os.Args) > 1 {
 43:                            return
 60:                    if a == 0 {
 61:                            continue
 59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
 68:    }
-  /usr/local/google/home/drchase/work/go/src/runtime/proc.go
+  src/runtime/proc.go
 201:           if atomic.Load(&runningPanicDefers) != 0 {
 210:           if atomic.Load(&panicking) != 0 {
 214:           exit(0)
index 39ed076e3a3d84330ef8fcb0d47e49342d31375d..5bb61027291921bdf9a4ac3eab2c4b1cf78dc15a 100644 (file)
@@ -1,10 +1,10 @@
-  /usr/local/google/home/drchase/work/go/src/cmd/compile/internal/ssa/testdata/hist.go
+  src/cmd/compile/internal/ssa/testdata/hist.go
 35:    func main() {
 35:    func main() {
-36:            hist := make([]int, 100)
+36:            hist := make([]int, 10)
 37:            var reader io.Reader = strings.NewReader(cannedInput) //gdb-dbg=(hist/A,cannedInput/A)
-$1 = {array = <A>, len = 100, cap = 100}
-$2 = <A> "1\n1\n1\n1\n2\n2\n2\n4\n4\n8\n"
+$1 =  []int = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
+$2 = "1\n1\n1\n1\n2\n2\n2\n4\n4\n8\n"
 38:            if len(os.Args) > 1 {
 43:                            return
 47:            for scanner.Scan() {
@@ -131,278 +131,8 @@ $24 = 26
 60:                    if a == 0 {
 61:                            continue
 59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
-60:                    if a == 0 {
-61:                            continue
-59:            for i, a := range hist {
 68:    }
-  /usr/local/google/home/drchase/work/go/src/runtime/proc.go
+  src/runtime/proc.go
 201:           if atomic.Load(&runningPanicDefers) != 0 {
 201:           if atomic.Load(&runningPanicDefers) != 0 {
 210:           if atomic.Load(&panicking) != 0 {
index 4e2584586d80525e41604c646ad99b3fbe792a7b..659971991ec762ac087871f80968a9c477f9175d 100644 (file)
@@ -1,20 +1,20 @@
   ./testdata/hist.go
 35:    func main() {
-36:            hist := make([]int, 100)
+36:            hist := make([]int, 10)
 37:            var reader io.Reader = strings.NewReader(cannedInput) //gdb-dbg=(hist/A,cannedInput/A)
 13:            "strings"
-  /usr/local/google/home/drchase/work/go/src/strings/reader.go
+  src/strings/reader.go
 150:   func NewReader(s string) *Reader { return &Reader{s, 0, -1} }
   ./testdata/hist.go
 38:            if len(os.Args) > 1 {
 8:             "bufio"
-  /usr/local/google/home/drchase/work/go/src/bufio/scan.go
+  src/bufio/scan.go
 84:                    split:        ScanLines,
 74:            MaxScanTokenSize = 64 * 1024
   ./testdata/hist.go
 47:            for scanner.Scan() {
 47:            for scanner.Scan() {
-  /usr/local/google/home/drchase/work/go/src/bufio/scan.go
+  src/bufio/scan.go
 107:           return string(s.token)
   ./testdata/hist.go
 49:                    i, err := strconv.ParseInt(s, 10, 64)
@@ -23,7 +23,7 @@
 55:                    hist[int(i)]++
 55:                    hist[int(i)]++
 47:            for scanner.Scan() {
-  /usr/local/google/home/drchase/work/go/src/bufio/scan.go
+  src/bufio/scan.go
 107:           return string(s.token)
   ./testdata/hist.go
 49:                    i, err := strconv.ParseInt(s, 10, 64)
@@ -32,7 +32,7 @@
 55:                    hist[int(i)]++
 55:                    hist[int(i)]++
 47:            for scanner.Scan() {
-  /usr/local/google/home/drchase/work/go/src/bufio/scan.go
+  src/bufio/scan.go
 107:           return string(s.token)
   ./testdata/hist.go
 49:                    i, err := strconv.ParseInt(s, 10, 64)
@@ -41,7 +41,7 @@
 55:                    hist[int(i)]++
 55:                    hist[int(i)]++
 47:            for scanner.Scan() {
-  /usr/local/google/home/drchase/work/go/src/bufio/scan.go
+  src/bufio/scan.go
 107:           return string(s.token)
   ./testdata/hist.go
 49:                    i, err := strconv.ParseInt(s, 10, 64)
@@ -50,7 +50,7 @@
 55:                    hist[int(i)]++
 55:                    hist[int(i)]++
 47:            for scanner.Scan() {
-  /usr/local/google/home/drchase/work/go/src/bufio/scan.go
+  src/bufio/scan.go
 107:           return string(s.token)
   ./testdata/hist.go
 49:                    i, err := strconv.ParseInt(s, 10, 64)
@@ -59,7 +59,7 @@
 55:                    hist[int(i)]++
 55:                    hist[int(i)]++
 47:            for scanner.Scan() {
-  /usr/local/google/home/drchase/work/go/src/bufio/scan.go
+  src/bufio/scan.go
 107:           return string(s.token)
   ./testdata/hist.go
 49:                    i, err := strconv.ParseInt(s, 10, 64)
@@ -68,7 +68,7 @@
 55:                    hist[int(i)]++
 55:                    hist[int(i)]++
 47:            for scanner.Scan() {
-  /usr/local/google/home/drchase/work/go/src/bufio/scan.go
+  src/bufio/scan.go
 107:           return string(s.token)
   ./testdata/hist.go
 49:                    i, err := strconv.ParseInt(s, 10, 64)
@@ -77,7 +77,7 @@
 55:                    hist[int(i)]++
 55:                    hist[int(i)]++
 47:            for scanner.Scan() {
-  /usr/local/google/home/drchase/work/go/src/bufio/scan.go
+  src/bufio/scan.go
 107:           return string(s.token)
   ./testdata/hist.go
 49:                    i, err := strconv.ParseInt(s, 10, 64)
@@ -86,7 +86,7 @@
 55:                    hist[int(i)]++
 55:                    hist[int(i)]++
 47:            for scanner.Scan() {
-  /usr/local/google/home/drchase/work/go/src/bufio/scan.go
+  src/bufio/scan.go
 107:           return string(s.token)
   ./testdata/hist.go
 49:                    i, err := strconv.ParseInt(s, 10, 64)
@@ -95,7 +95,7 @@
 55:                    hist[int(i)]++
 55:                    hist[int(i)]++
 47:            for scanner.Scan() {
-  /usr/local/google/home/drchase/work/go/src/bufio/scan.go
+  src/bufio/scan.go
 107:           return string(s.token)
   ./testdata/hist.go
 49:                    i, err := strconv.ParseInt(s, 10, 64)
 59:            for i, a := range hist {
 65:                    fmt.Fprintf(os.Stderr, "%d\t%d\t%d\t%d\t%d\n", i, a, n, i*a, t) //gdb-dbg=(n,i,t)
 60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
 68:    }
-  /usr/local/google/home/drchase/work/go/src/runtime/proc.go
+  src/runtime/proc.go
 201:           if atomic.Load(&runningPanicDefers) != 0 {
 210:           if atomic.Load(&panicking) != 0 {
 214:           exit(0)
index 4add645962de6b41c693afed52382d983257151a..66c8bcd46d23c0896b2593354cc1de796f6d0985 100644 (file)
@@ -1,7 +1,7 @@
-  /usr/local/google/home/drchase/work/go/src/cmd/compile/internal/ssa/testdata/hist.go
+  src/cmd/compile/internal/ssa/testdata/hist.go
 35:    func main() {
 35:    func main() {
-36:            hist := make([]int, 100)
+36:            hist := make([]int, 10)
 37:            var reader io.Reader = strings.NewReader(cannedInput) //gdb-dbg=(hist/A,cannedInput/A)
 13:            "strings"
 150:   func NewReader(s string) *Reader { return &Reader{s, 0, -1} }
 59:            for i, a := range hist {
 65:                    fmt.Fprintf(os.Stderr, "%d\t%d\t%d\t%d\t%d\n", i, a, n, i*a, t) //gdb-dbg=(n,i,t)
 60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
-60:                    if a == 0 {
 68:    }
-  /usr/local/google/home/drchase/work/go/src/runtime/proc.go
+  src/runtime/proc.go
 201:           if atomic.Load(&runningPanicDefers) != 0 {
 201:           if atomic.Load(&runningPanicDefers) != 0 {
 210:           if atomic.Load(&panicking) != 0 {
index 623e2f86f97d50077fc23f075ed092eee7bfd468..12ad09cdaa02ffa3f1938f36e2ac557aef5e9eda 100644 (file)
@@ -33,7 +33,7 @@ var cannedInput string = `1
 `
 
 func main() {
-       hist := make([]int, 100)
+       hist := make([]int, 10)
        var reader io.Reader = strings.NewReader(cannedInput) //gdb-dbg=(hist/A,cannedInput/A)
        if len(os.Args) > 1 {
                var err error