summaryrefslogtreecommitdiff
path: root/libgo/go/runtime/pprof
diff options
context:
space:
mode:
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2015-04-17 21:29:20 +0000
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2015-04-17 21:29:20 +0000
commitdb72219339ae0366e28cd53e20e8afafa1422e6c (patch)
tree77e29dc8ecd2f053caff12333b2bea420f4d41ef /libgo/go/runtime/pprof
parent17ceef2d1fbe4ff6c92f996d96fae451b8ba1d26 (diff)
downloadgcc-db72219339ae0366e28cd53e20e8afafa1422e6c.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222200 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgo/go/runtime/pprof')
-rw-r--r--libgo/go/runtime/pprof/pprof.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/libgo/go/runtime/pprof/pprof.go b/libgo/go/runtime/pprof/pprof.go
index 9c63ccd90b5..38593afb6f2 100644
--- a/libgo/go/runtime/pprof/pprof.go
+++ b/libgo/go/runtime/pprof/pprof.go
@@ -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)
}