low-level profiling

Nicolas Frisby nicolas.frisby at gmail.com
Fri Feb 15 20:41:24 CET 2013


Ah, looks like the symbol information exists in the .o files, but not in my
actual executable. Could I invoke ld manually with some incantation to
preserve the function symbols?




On Fri, Feb 15, 2013 at 7:18 PM, Nicolas Frisby <nicolas.frisby at gmail.com>wrote:

> No, nothing fancy. It's just a nofib program.
>
> I am seeing the .size directives in the .s files. And objdump -S gives
> output like this:
>
> 0000000000000368 <c2hw_info>:
>  368: 48 83 e3 07           and    $0x7,%rbx
>  36c: 48 83 fb 02           cmp    $0x2,%rbx
>  370: 0f 83 96 00 00 00     jae    40c <c2hA_info+0x5c>
>  376: 48 8b 45 08           mov    0x8(%rbp),%rax
> ...
>
> so it's just perf that's going awry?
>
> ... investigating perf ...
>
> This might be my issue:
>
>
> http://us.generation-nt.com/answer/tip-perf-urgent-perf-symbols-handle-proc-sys-kernel-kptr-restrict-help-203499422.html
>
> Now I just have to decode all of that!
>
>
> On Fri, Feb 15, 2013 at 6:48 PM, Johan Tibell <johan.tibell at gmail.com>wrote:
>
>> On Fri, Feb 15, 2013 at 10:24 AM, Nicolas Frisby <
>> nicolas.frisby at gmail.com> wrote:
>>
>>> I'm not passing any flags related to code generation, I don't think.
>>>
>>> $HC -H64m -O -Rghc-timing -package array -H32m -hisuf hi -O1 -rtsopts -c
>>> Main.hs -o Main.o
>>>
>>> So that'd just be the native code generator, right?.
>>>
>>> $ uname -a
>>> Linux cam-05-unx 3.2.0-35-generic #55-Ubuntu SMP Wed Dec 5 17:42:16 UTC
>>> 2012 x86_64 x86_64 x86_64 GNU/Linux
>>>
>>> Is there a objdump-ish way to directly look for these .size directives?
>>>
>>> Thanks Johan.
>>>
>>
>> If you tell GHC to keep all temporary file you could look in the .S files
>> for the .size directive. It could be that I missed some place where we
>> ought to put a .size directive. Are you doing dynamic linking?
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20130215/4b56cb36/attachment.htm>


More information about the ghc-devs mailing list