While at it, I have a concern about the compat mode: profiling an
ARMv7 binary on an ARMv8 system.
Is this supported by libdw? I know you can do it with libunwind by
linking multiple libraries, cf. [1]. However this is utterly complex
to implement.
[1]
http://www.nongnu.org/libunwind/man/libunwind%283%29.html#section_4
, cf. 'Cross-platform and Multi-platform Unwinding'.
Regards,
Jean
On 26 February 2014 09:15, Jean Pihet <jean.pihet(a)linaro.org> wrote:
Hi Mark,
On 26 February 2014 00:26, Mark Wielaard <mjw(a)redhat.com> wrote:
> Hi Jean,
>
> Seems you already got your answer to the build question solved.
Yes! There is quite a huge improvement in performance: >500% for dwarf
unwinding ;-p
>
> On Tue, 2014-02-25 at 18:17 +0100, Jean Pihet wrote:
>> The goal is to add the libdw support for perf on ARM (and later AARCH64).
>
> Note that there is some code in elfutils git that handles .debug_frame
> for ARM, but not yet code for handling EXIDX tables. For non-debug
> unwinding ARM uses EXIDX tables, not .eh_frames. Handling EXIDX tables
> is probably easiest done by translating them to CFI. In case you want to
> do unwinding using libdw without .debug_frame available.
That is good to know. Our use cases suppose we have the .debug_frame
section in the binaries by default and otherwise the frame pointer can
be used.
> For AARCH64 there is some code available on my branch:
>
https://git.fedorahosted.org/cgit/elfutils.git/log/?h=mjw/aarch64-unwind
> Which might or might not work. I need to get access again to a aarch64
> setup to do some more testing before moving this to master.
Great! AARCH64 is next on my plate, I surely will let you know the status.
Thx for you replies!
Jean
>
> Cheers,
>
> Mark
>