Re: [PATCH v2 3/3] perf tools: Support register names from all archs

From: German Gomez
Date: Wed Dec 08 2021 - 08:55:46 EST


Hi John,

On 08/12/2021 11:51, John Garry wrote:
> On 07/12/2021 18:06, German Gomez wrote:
>>   tools/perf/arch/arm/include/perf_regs.h       |  42 --
>>   tools/perf/arch/arm64/include/perf_regs.h     |  76 --
>>   tools/perf/arch/csky/include/perf_regs.h      |  82 ---
>>   tools/perf/arch/mips/include/perf_regs.h      |  69 --
>>   tools/perf/arch/powerpc/include/perf_regs.h   |  66 --
>>   tools/perf/arch/riscv/include/perf_regs.h     |  74 --
>>   tools/perf/arch/s390/include/perf_regs.h      |  78 --
>>   tools/perf/arch/x86/include/perf_regs.h       |  82 ---
>>   tools/perf/builtin-script.c                   |  18 +-
>>   tools/perf/util/perf_regs.c                   | 666 ++++++++++++++++++
>>   tools/perf/util/perf_regs.h                   |  10 +-
>>   .../scripting-engines/trace-event-python.c    |  10 +-
>>   tools/perf/util/session.c                     |  25 +-
>>   13 files changed, 697 insertions(+), 601 deletions(-)
>
> Did you consider leaving the register structures where they are while
> renaming to include the arch name and then having as externs or similar? I see an example of that idea for arm64_unwind_libunwind_ops.
>

If by register structures you are referring to "__perf_reg_name(int)", I
can't leave them where they are. Only one of them would be included in
the build.

I think the idea from arm64_unwind_libunwind_ops makes more sense in
that case because perf might not link against libunwind-arm64. In the
case of registers, we always have this info available in /tools/.

Thanks,
German

> Cheers,
> John