aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/python.c
diff options
context:
space:
mode:
authorCody P Schafer <[email protected]>2012-08-10 22:23:02 +0000
committerArnaldo Carvalho de Melo <[email protected]>2012-08-13 17:46:55 +0000
commit3aafe5ae08f2aed378e06d78b207883879d25cbe (patch)
treecf1eeeefb542e6abe0d52346193a5d64f3dce4f2 /tools/perf/util/python.c
parentperf symbols: Convert dso__load_syms to take 2 symsrc's (diff)
downloadkernel-3aafe5ae08f2aed378e06d78b207883879d25cbe.tar.gz
kernel-3aafe5ae08f2aed378e06d78b207883879d25cbe.zip
perf symbols: Use both runtime and debug images
We keep both a 'runtime' elf image as well as a 'debug' elf image around and generate symbols by looking at both of these. This eliminates the need for the want_symtab/goto restart mechanism combined with iterating over and reopening the elf images a second time. Also give dso__synthsize_plt_symbols() the runtime image (which has dynsyms) instead of the symbol image (which may only have a symtab and no dynsyms). Previously if a debug image was found all runtime images were ignored. This fixes 2 issues: - Symbol resolution to failure on PowerPC systems with debug symbols installed, as the debug images lack a '.opd' section which contains function descriptors. - On all archs, plt synthesis failed when a debug image was loaded and that debug image lacks a dynsym section while a runtime image has a dynsym section. Assumptions: - If a .opd section exists, it is contained in the highest priority image with a dynsym section. - This generally implies that the debug image lacks a dynsym section (ie: it is marked as NO_BITS). Signed-off-by: Cody P Schafer <[email protected]> Cc: David Hansen <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Matt Hellsley <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Paul Mackerras <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Sukadev Bhattiprolu <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
Diffstat (limited to 'tools/perf/util/python.c')
0 files changed, 0 insertions, 0 deletions