re PR go/64683 (FAIL: runtime/pprof -- testing.go:278: The entry did not match)
authorIan Lance Taylor <ian@gcc.gnu.org>
Fri, 17 Apr 2015 21:29:20 +0000 (21:29 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Fri, 17 Apr 2015 21:29:20 +0000 (21:29 +0000)
PR go/64683
runtime/pprof: Assume function with no name is in runtime.

GCC PR 65797 causes some of the runtime functions to be
compiled with no name in the debug info.  This in turn causes
the runtime/pprof test to fail as reported in GCC PR 64683.

There are no good choices when a function has no name in the
debug info, but here we assume that if we see such a function
while reading the runtime functions, we assume that it is also
a runtime function.

From-SVN: r222200

libgo/go/runtime/pprof/pprof.go

index 9c63ccd90b5f698cd57bbae8d72fa4e7b81f73db..38593afb6f279825c006b485b9adce8009ddff68 100644 (file)
@@ -351,6 +351,10 @@ func printStackRecord(w io.Writer, stk []uintptr, allFrames bool) {
                        if !show && !strings.Contains(name, ".") && strings.HasPrefix(name, "__go_") {
                                continue
                        }
+                       if !show && name == "" {
+                               // This can happen due to http://gcc.gnu.org/PR65797.
+                               continue
+                       }
                        show = true
                        fmt.Fprintf(w, "#\t%#x\t%s+%#x\t%s:%d\n", pc, name, pc-f.Entry(), file, line)
                }