diff options
author | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-04-17 21:29:20 +0000 |
---|---|---|
committer | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-04-17 21:29:20 +0000 |
commit | db72219339ae0366e28cd53e20e8afafa1422e6c (patch) | |
tree | 77e29dc8ecd2f053caff12333b2bea420f4d41ef /libgo/go/runtime/pprof | |
parent | 17ceef2d1fbe4ff6c92f996d96fae451b8ba1d26 (diff) | |
download | gcc-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.go | 4 |
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) } |