Wind River Support Network

HomeDefectsLIN10-7070
Fixed

LIN10-7070 : perf call graphs lack symbols when running 32-bit applications on a 64-bit

Created: Mar 5, 2020    Updated: Apr 13, 2020
Resolved Date: Apr 1, 2020
Found In Version: 10.17.41.19
Fix Version: 10.17.41.20
Severity: Standard
Applicable for: Wind River Linux LTS 17
Component/s: Userspace

Description

Can't see any symbols running perf call graph on an arm 64 target with 32-bit application.

Steps to Reproduce

perf record -F 999 -g -o /tmp/perf.data ./lratSampleAppArmLm
perf report -i /tmp/perf.data > /tmp/xxxxxx_perf.out

Sample application attached.

Result:
Running on a 32-bit system:
   16.82%    16.82%  lratSampleAppAr  lratSampleAppArmLm                         [.] calculate_meaning_of_life                  
            |
            ---calculate_meaning_of_life
               going_to_hyperdrive
               aligning_the_stars
               gathering_the_bits
               illustrate_call_chains
               do_something
               0x60f4
               0xd56a0
               main
               |         
               |--0.02%-- __libc_start_main
                --99.98%-- [...]

    15.59%    15.58%  lratSampleAppAr  

Running on a 64-bit system with a 32-bit root file system:
lratSampleAppArmLm                         [.] calculate_meaning_of_life                      
            |
            ---calculate_meaning_of_life
               |         
               |--16.68%-- 0xf4879e2c
               |         
               |--16.67%-- 0xf6079e2c
               |         
               |--10.14%-- 0xf4079e2c
               |         
               |--10.14%-- 0xf5079e2c
               |         
               |--10.10%-- 0xf3879e2c
               |         
               |--10.01%-- 0xf2879e2c
               |         
               |--9.60%-- 0xf6879e2c
               |          
               |--6.80%-- 0xf5879e2c
               |         
               |--6.60%-- 0xf3079e2c
               |         
                --3.26%-- 0xf7079e2c

Full results attached.

Additional info:
Perf seems to work fine if the application and its dependencies are 64-bit. It doesn't matter if perf is 32 or 64-bit.
Live chat
Online