FAQ
I've been trying to see if I can get pprof built and working with gccgo on
ppc64le, using gcc 5.0.

I was able to get it built and tried to use it with some cpu profiling data
but it doesn't seem to be able to read any of the debug information from
the program to figure out the line number and function information. I did
the same steps on an x86 with golang and got what I expected, so I know I'm
using pprof correctly.

I can see the disassembly support does not exist for ppc64le or ppc64 but
so far I haven't been able to tell if that is why is just doesn't work or
if there are other reasons. I don't get any kind of failure or error
messages that the disassembly is missing or why it couldn't read the debug
info, just a single line of output with the totals from the profile. Even
if the disassembly is not there the debug information is still there so I
believe you should be able to look up the debug information and find the
line number and function information and produce a meaning profile report.

Any clues on why this does not work?


--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Search Discussions

  • Ian Lance Taylor at Mar 13, 2015 at 4:48 pm

    On Fri, Mar 13, 2015 at 7:43 AM, wrote:
    I've been trying to see if I can get pprof built and working with gccgo on
    ppc64le, using gcc 5.0.

    I was able to get it built and tried to use it with some cpu profiling data
    but it doesn't seem to be able to read any of the debug information from the
    program to figure out the line number and function information. I did the
    same steps on an x86 with golang and got what I expected, so I know I'm
    using pprof correctly.

    I can see the disassembly support does not exist for ppc64le or ppc64 but so
    far I haven't been able to tell if that is why is just doesn't work or if
    there are other reasons. I don't get any kind of failure or error messages
    that the disassembly is missing or why it couldn't read the debug info, just
    a single line of output with the totals from the profile. Even if the
    disassembly is not there the debug information is still there so I believe
    you should be able to look up the debug information and find the line number
    and function information and produce a meaning profile report.

    Any clues on why this does not work?
    The first step is to make sure that other tools work. For example,
    does gdb show lines at breakpoints? Does objdump -dl show line
    numbers?

    In gccgo all the file/line information is ready by libbacktrace, so
    the next question would be whether libbacktrace is working for you.
    If you write a simple Go program that calls a few functions and the
    bottom one panics, do you see a real stack trace? If not, then the
    problem is libbacktrace.

    If those cases work, then I don't know what is going on.

    Ian

    --
    You received this message because you are subscribed to the Google Groups "golang-nuts" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
    For more options, visit https://groups.google.com/d/optout.
  • Lynn A. Boger at Mar 16, 2015 at 2:28 pm
    Yes, I have verified that the profiling data is correct.

    After some further investigation I can see that the pprof tool only
    knows how to read gosym data not elf symbol data.
    On 03/13/2015 11:48 AM, Ian Lance Taylor wrote:
    On Fri, Mar 13, 2015 at 7:43 AM, wrote:
    I've been trying to see if I can get pprof built and working with gccgo on
    ppc64le, using gcc 5.0.

    I was able to get it built and tried to use it with some cpu profiling data
    but it doesn't seem to be able to read any of the debug information from the
    program to figure out the line number and function information. I did the
    same steps on an x86 with golang and got what I expected, so I know I'm
    using pprof correctly.

    I can see the disassembly support does not exist for ppc64le or ppc64 but so
    far I haven't been able to tell if that is why is just doesn't work or if
    there are other reasons. I don't get any kind of failure or error messages
    that the disassembly is missing or why it couldn't read the debug info, just
    a single line of output with the totals from the profile. Even if the
    disassembly is not there the debug information is still there so I believe
    you should be able to look up the debug information and find the line number
    and function information and produce a meaning profile report.

    Any clues on why this does not work?
    The first step is to make sure that other tools work. For example,
    does gdb show lines at breakpoints? Does objdump -dl show line
    numbers?

    In gccgo all the file/line information is ready by libbacktrace, so
    the next question would be whether libbacktrace is working for you.
    If you write a simple Go program that calls a few functions and the
    bottom one panics, do you see a real stack trace? If not, then the
    problem is libbacktrace.

    If those cases work, then I don't know what is going on.

    Ian

    --
    You received this message because you are subscribed to the Google Groups "golang-nuts" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
    For more options, visit https://groups.google.com/d/optout.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupgolang-nuts @
categoriesgo
postedMar 13, '15 at 2:43p
activeMar 16, '15 at 2:28p
posts3
users2
websitegolang.org

2 users in discussion

Lynn A. Boger: 2 posts Ian Lance Taylor: 1 post

People

Translate

site design / logo © 2021 Grokbase