libunwind support exists for "--call-graph dwarf", however, libunwind
support has been opt-in rather than opt-out since Linux v6.13 as libdw
is preferred - commit 13e17c9ff49119aa ("perf build: Make libunwind
opt-in rather than opt-out"). A problem with the libdw support was
that it was slow, an issue fixed in Linux v7.0 in commit 6b2658b3f36a
("perf unwind-libdw: Don't discard loaded ELF/DWARF after every
unwind"). As such libunwind support is now unnecessary.The patch series: https://lore.kernel.org/lkml/[email protected]/ looked to make the libunwind support in perf similar to the libdw support, allow cross-architecture unwinding, etc. This was motivated by the perf regs conventions being altered by the addition of x86 APX support: https://lore.kernel.org/lkml/[email protected]/ It is necessary to translate the library's notion of registers to the perf register convention so that the stack unwinding state can be initialized. On this series it was stated that removing libunwind support from perf should be an option, rather than updating support: https://lore.kernel.org/lkml/[email protected]/ This was also what motivated making libunwind opt-in rather than opt-out. Given that 7 minor releases have happened with libunwind "deprecated" by making it opt-in, let's remove the libunwind support. There doesn't appear to be any disagreement to this on the mailing list. Ian Rogers (2): perf build: Remove libunwind support tools build: Remove libunwind feature tests tools/build/feature/Makefile | 31 - tools/build/feature/test-libunwind-aarch64.c | 27 - tools/build/feature/test-libunwind-arm.c | 28 - .../test-libunwind-debug-frame-aarch64.c | 17 - .../feature/test-libunwind-debug-frame-arm.c | 17 - .../feature/test-libunwind-debug-frame.c | 17 - tools/build/feature/test-libunwind-x86.c | 28 - tools/build/feature/test-libunwind-x86_64.c | 28 - tools/build/feature/test-libunwind.c | 28 - tools/perf/Documentation/perf-check.txt | 1 - tools/perf/Documentation/perf-config.txt | 4 +- tools/perf/Documentation/perf-record.txt | 2 +- tools/perf/Makefile.config | 163 +--- tools/perf/Makefile.perf | 3 - tools/perf/arch/arm/util/Build | 1 - tools/perf/arch/arm/util/unwind-libunwind.c | 50 -- tools/perf/arch/arm64/util/Build | 1 - tools/perf/arch/arm64/util/unwind-libunwind.c | 17 - tools/perf/arch/loongarch/util/Build | 1 - .../arch/loongarch/util/unwind-libunwind.c | 82 -- tools/perf/arch/mips/util/Build | 1 - tools/perf/arch/mips/util/unwind-libunwind.c | 22 - tools/perf/arch/powerpc/util/Build | 1 - .../perf/arch/powerpc/util/unwind-libunwind.c | 92 -- tools/perf/arch/x86/util/Build | 1 - tools/perf/arch/x86/util/unwind-libunwind.c | 115 --- tools/perf/builtin-check.c | 1 - tools/perf/builtin-report.c | 4 +- tools/perf/tests/make | 2 - tools/perf/util/Build | 5 - tools/perf/util/callchain.c | 2 +- tools/perf/util/dso.h | 6 - tools/perf/util/libunwind/arm64.c | 40 - tools/perf/util/libunwind/x86_32.c | 41 - tools/perf/util/maps.c | 47 +- tools/perf/util/maps.h | 6 - tools/perf/util/thread.c | 40 +- tools/perf/util/thread.h | 1 - tools/perf/util/unwind-libunwind-local.c | 832 ------------------ tools/perf/util/unwind-libunwind.c | 92 -- tools/perf/util/unwind.h | 41 +- 41 files changed, 19 insertions(+), 1919 deletions(-) delete mode 100644 tools/build/feature/test-libunwind-aarch64.c delete mode 100644 tools/build/feature/test-libunwind-arm.c delete mode 100644 tools/build/feature/test-libunwind-debug-frame-aarch64.c delete mode 100644 tools/build/feature/test-libunwind-debug-frame-arm.c delete mode 100644 tools/build/feature/test-libunwind-debug-frame.c delete mode 100644 tools/build/feature/test-libunwind-x86.c delete mode 100644 tools/build/feature/test-libunwind-x86_64.c delete mode 100644 tools/build/feature/test-libunwind.c delete mode 100644 tools/perf/arch/arm/util/unwind-libunwind.c delete mode 100644 tools/perf/arch/arm64/util/unwind-libunwind.c delete mode 100644 tools/perf/arch/loongarch/util/unwind-libunwind.c delete mode 100644 tools/perf/arch/mips/util/unwind-libunwind.c delete mode 100644 tools/perf/arch/powerpc/util/unwind-libunwind.c delete mode 100644 tools/perf/arch/x86/util/unwind-libunwind.c delete mode 100644 tools/perf/util/libunwind/arm64.c delete mode 100644 tools/perf/util/libunwind/x86_32.c delete mode 100644 tools/perf/util/unwind-libunwind-local.c delete mode 100644 tools/perf/util/unwind-libunwind.c -- 2.53.0.959.g497ff81fa9-goog
