Re: [PATCH v3 00/11] Libdw/dwarf build clean up

Namhyung Kim
2024-10-18T17:17:31Z

On Wed, Oct 16, 2024 at 05:13:43PM -0700, Ian Rogers wrote:
> These patches were originally on top of:
> https://lore.kernel.org/lkml/20240924003720.617258-1-irogers@google.com/
> where it was pointed out that a lot of the libdw conditional
> compilation was due to features that have now been standard for 10 or
> 15 years. The patches remove the conditional compilation assuming the
> features are in libdw where the feature test is expanded to check
> there pressence. The patch series is now on top of:
> https://lore.kernel.org/lkml/20241016235622.52166-1-irogers@google.com/
>
> In the Makefile code, and for `perf record --call-graph`, dwarf tends
> to mean unwind or libdw support for dwarf things. To make it clearer
> when dwarf really just means libdw numerous build variables and
> defines are renamed.
>
> There is some tech debt in the changes as perf check still reports the
> values using the old name and for features that are no longer
> tested. This can be cleanup for another day.
>
> v3: Move PERF_HAVE_DWARF_REGS cleanup to follow up patch series. Add
> build fix from patch series these changes are on top of.
> v2: Instead of renaming PERF_HAVE_DWARF_REGS to PERF_HAVE_LIBDW_REGS,
> remove it.
>
> Ian Rogers (11):
> perf build: Fix LIBDW_DIR
> perf build: Rename NO_DWARF to NO_LIBDW
> perf build: Remove defined but never used variable
> perf build: Rename test-dwarf to test-libdw
> perf build: Combine libdw-dwarf-unwind into libdw feature tests
> perf build: Combine test-dwarf-getlocations into test-libdw
> perf build: Combine test-dwarf-getcfi into test-libdw
> perf probe: Move elfutils support check to libdw check
> perf libdw: Remove unnecessary defines
> perf build: Rename HAVE_DWARF_SUPPORT to HAVE_LIBDW_SUPPORT
> perf build: Rename CONFIG_DWARF to CONFIG_LIBDW

Acked-by: Namhyung Kim <namhyung@kernel.org>

Thanks,
Namhyung

>
> tools/build/Makefile.feature | 11 +---
> tools/build/feature/Makefile | 24 ++------
> tools/build/feature/test-all.c | 16 +-----
> tools/build/feature/test-dwarf.c | 11 ----
> tools/build/feature/test-dwarf_getcfi.c | 9 ---
> tools/build/feature/test-dwarf_getlocations.c | 13 -----
> tools/build/feature/test-libdw-dwarf-unwind.c | 14 -----
> tools/build/feature/test-libdw.c | 56 +++++++++++++++++++
> tools/perf/Documentation/perf-check.txt | 6 +-
> tools/perf/Makefile.config | 47 +++++-----------
> tools/perf/Makefile.perf | 2 +-
> tools/perf/arch/arm/Makefile | 2 +-
> tools/perf/arch/arm/util/Build | 2 +-
> tools/perf/arch/arm64/Makefile | 2 +-
> tools/perf/arch/arm64/util/Build | 2 +-
> tools/perf/arch/csky/Makefile | 2 +-
> tools/perf/arch/csky/util/Build | 2 +-
> tools/perf/arch/loongarch/Makefile | 2 +-
> tools/perf/arch/loongarch/util/Build | 2 +-
> tools/perf/arch/mips/Makefile | 2 +-
> tools/perf/arch/mips/util/Build | 2 +-
> tools/perf/arch/powerpc/Makefile | 2 +-
> .../perf/arch/powerpc/annotate/instructions.c | 4 +-
> tools/perf/arch/powerpc/util/Build | 4 +-
> tools/perf/arch/riscv/Makefile | 2 +-
> tools/perf/arch/riscv/util/Build | 2 +-
> tools/perf/arch/s390/Makefile | 2 +-
> tools/perf/arch/s390/util/Build | 2 +-
> tools/perf/arch/sh/Makefile | 2 +-
> tools/perf/arch/sh/util/Build | 2 +-
> tools/perf/arch/sparc/Makefile | 2 +-
> tools/perf/arch/sparc/util/Build | 2 +-
> tools/perf/arch/x86/Makefile | 2 +-
> tools/perf/arch/x86/annotate/instructions.c | 2 +-
> tools/perf/arch/x86/util/Build | 2 +-
> tools/perf/arch/xtensa/Makefile | 2 +-
> tools/perf/arch/xtensa/util/Build | 2 +-
> tools/perf/builtin-annotate.c | 2 +-
> tools/perf/builtin-check.c | 6 +-
> tools/perf/builtin-probe.c | 14 ++---
> tools/perf/builtin-report.c | 4 +-
> tools/perf/util/Build | 12 ++--
> tools/perf/util/annotate-data.h | 8 +--
> tools/perf/util/debuginfo.h | 6 +-
> tools/perf/util/disasm.c | 4 +-
> tools/perf/util/disasm.h | 4 +-
> tools/perf/util/dwarf-aux.c | 6 --
> tools/perf/util/dwarf-aux.h | 54 ------------------
> tools/perf/util/genelf.c | 4 +-
> tools/perf/util/genelf.h | 2 +-
> tools/perf/util/include/dwarf-regs.h | 6 +-
> tools/perf/util/probe-event.c | 4 +-
> tools/perf/util/probe-finder.c | 6 --
> tools/perf/util/probe-finder.h | 6 +-
> 54 files changed, 154 insertions(+), 259 deletions(-)
> delete mode 100644 tools/build/feature/test-dwarf.c
> delete mode 100644 tools/build/feature/test-dwarf_getcfi.c
> delete mode 100644 tools/build/feature/test-dwarf_getlocations.c
> delete mode 100644 tools/build/feature/test-libdw-dwarf-unwind.c
> create mode 100644 tools/build/feature/test-libdw.c
>
> --
> 2.47.0.105.g07ac214952-goog
>