[PATCH 00/10] perf symbols: Improve dso__synthesize_plt_symbols()

From: Adrian Hunter
Date: Fri Jan 20 2023 - 07:35:19 EST


Hi

This is the first of 2 patchsets to improve dso__synthesize_plt_symbols().
This patchset is really preparation for the 2nd patchset, which focuses
on getting rid of unknown symbols that show up in Intel PT traces.
The 2nd patchset is still under development.

These patches are small and staightforward. Only the new Symbols test is
slightly interesting because it provides a way to see what symbols
perf discovers for any given dso. The test fails initially, but
should pass after patch 7 "perf symbols: Add symbol for .plt header".


Adrian Hunter (10):
perf test: Add Symbols test
perf symbols: Factor out get_plt_sizes()
perf symbols: Check plt_entry_size is not zero
perf symbols: Add dso__find_symbol_nocache()
perf symbols: Slightly simplify 'err' usage in dso__synthesize_plt_symbols()
perf symbols: Do not check ss->dynsym twice
perf symbols: Add symbol for .plt header
perf symbols: Allow for .plt entries with no symbol
perf symbols: Combine handling for SHT_RELA and SHT_REL
perf symbols: Check SHT_RELA and SHT_REL type earlier

tools/perf/Documentation/perf-test.txt | 3 +
tools/perf/tests/Build | 1 +
tools/perf/tests/builtin-test.c | 3 +
tools/perf/tests/symbols.c | 150 ++++++++++++++++++++++++++
tools/perf/tests/tests.h | 3 +
tools/perf/util/symbol-elf.c | 190 +++++++++++++++++----------------
tools/perf/util/symbol.c | 5 +
tools/perf/util/symbol.h | 1 +
8 files changed, 262 insertions(+), 94 deletions(-)
create mode 100644 tools/perf/tests/symbols.c


Regards
Adrian