• Arnaldo Carvalho de Melo's avatar
    perf symbol: Fix symbol parsing in certain cases: use the build-id as a symlink · 4d1e00a8
    Arnaldo Carvalho de Melo authored
    In some cases distros have binaries and debuginfo in weird places:
    
    [root@doppio tuna]# ls -la /usr/lib64/{xulrunner-1.9.1/xulrunner-stub,firefox-3.5.2/firefox}
    -rwxr-xr-x 1 root root 90024 2009-08-03 19:45 /usr/lib64/firefox-3.5.2/firefox
    -rwxr-xr-x 1 root root 90024 2009-08-03 18:23 /usr/lib64/xulrunner-1.9.1/xulrunner-stub
    [root@doppio tuna]# sha1sum /usr/lib64/{xulrunner-1.9.1/xulrunner-stub,firefox-3.5.2/firefox}
    19a858077d263d5de22c9c5da250d3e4396ae739  /usr/lib64/xulrunner-1.9.1/xulrunner-stub
    19a858077d263d5de22c9c5da250d3e4396ae739  /usr/lib64/firefox-3.5.2/firefox
    [root@doppio tuna]# rpm -qf /usr/lib64/{xulrunner-1.9.1/xulrunner-stub,firefox-3.5.2/firefox}
    xulrunner-1.9.1.2-1.fc11.x86_64
    firefox-3.5.2-2.fc11.x86_64
    [root@doppio tuna]# ls -la /usr/lib/debug/{usr/lib64/xulrunner-1.9.1/xulrunner-stub,usr/lib64/firefox-3.5.2/firefox}.debug
    ls: cannot access /usr/lib/debug/usr/lib64/firefox-3.5.2/firefox.debug: No such file or directory
    -rwxr-xr-x 1 root root 403608 2009-08-03 18:22 /usr/lib/debug/usr/lib64/xulrunner-1.9.1/xulrunner-stub.debug
    
    Seemingly we don't have a .symtab when we actually can find it
    if we use the .note.gnu.build-id ELF section put in place by
    some distros. Use it and find the symbols we need.
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Acked-by: default avatarPeter Zijlstra <peterz@infradead.org>
    LKML-Reference: <new-submission>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    4d1e00a8
symbol.c 19.2 KB