Commit 2e919157 authored by Ian Rogers's avatar Ian Rogers Committed by Arnaldo Carvalho de Melo
Browse files

perf build: Remove NO_LIBDW_DWARF_UNWIND option



Libdw unwinding support is present for every architecture that has a
perf_regs.h - perf registers are needed for the initial frame to
unwind.

Elfutils also supports SPARC, ARC and m68k but there is no support in
the Linux kernel for perf registers on these architectures.

As the perf supported DWARF unwinding architectures are a subset of the
elfutils ones, remove NO_LIBDW_DWARF_UNWIND as there isn't a case of
elfutils lacking the support need for perf.

Signed-off-by: default avatarIan Rogers <irogers@google.com>
Cc: Aditya Bodkhe <aditya.b1@linux.ibm.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Albert Ou <aou@eecs.berkeley.edu>
Cc: Alexandre Ghiti <alex@ghiti.fr>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Athira Rajeev <atrajeev@linux.ibm.com>
Cc: Chun-Tse Shao <ctshao@google.com>
Cc: Dmitriy Vyukov <dvyukov@google.com>
Cc: Dr. David Alan Gilbert <linux@treblig.org>
Cc: Guo Ren <guoren@kernel.org>
Cc: Haibo Xu <haibo1.xu@intel.com>
Cc: Howard Chu <howardchu95@gmail.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: James Clark <james.clark@linaro.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: John Garry <john.g.garry@oracle.com>
Cc: Krzysztof Łopatowski <krzysztof.m.lopatowski@gmail.com>
Cc: Leo Yan <leo.yan@linux.dev>
Cc: Mark Wielaard <mark@klomp.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Paul Walmsley <pjw@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Sergei Trofimovich <slyich@gmail.com>
Cc: Shimin Guo <shimin.guo@skydio.com>
Cc: Stephen Brennan <stephen.s.brennan@oracle.com>
Cc: Thomas Falcon <thomas.falcon@intel.com>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 406b51a9
Loading
Loading
Loading
Loading
+1 −18
Original line number Diff line number Diff line
@@ -118,14 +118,6 @@ ifeq ($(ARCH),mips)
  endif
endif

# So far there's only x86 and arm libdw unwind support merged in perf.
# Disable it on all other architectures in case libdw unwind
# support is detected in system. Add supported architectures
# to the check.
ifneq ($(SRCARCH),$(filter $(SRCARCH),x86 arm arm64 powerpc s390 csky riscv loongarch))
  NO_LIBDW_DWARF_UNWIND := 1
endif

ifneq ($(LIBUNWIND),1)
  NO_LIBUNWIND := 1
endif
@@ -456,7 +448,6 @@ endif
ifdef NO_LIBELF
  NO_LIBDW := 1
  NO_LIBUNWIND := 1
  NO_LIBDW_DWARF_UNWIND := 1
  NO_LIBBPF := 1
  NO_JVMTI := 1
else
@@ -504,10 +495,6 @@ ifeq ($(feature-libaio), 1)
  endif
endif

ifdef NO_LIBDW
  NO_LIBDW_DWARF_UNWIND := 1
endif

ifeq ($(feature-scandirat), 1)
  # Ignore having scandirat with memory sanitizer that lacks an interceptor.
  ifeq ($(filter s% -fsanitize=memory%,$(EXTRA_CFLAGS),),)
@@ -757,7 +744,7 @@ dwarf-post-unwind-text := BUG

# setup DWARF post unwinder
ifdef NO_LIBUNWIND
  ifdef NO_LIBDW_DWARF_UNWIND
  ifdef NO_LIBDW
    $(warning Disabling post unwind, no support found.)
    dwarf-post-unwind := 0
  else
@@ -767,10 +754,6 @@ ifdef NO_LIBUNWIND
else
  dwarf-post-unwind-text := libunwind
  $(call detected,CONFIG_LIBUNWIND)
  # Enable libunwind support by default.
  ifndef NO_LIBDW_DWARF_UNWIND
    NO_LIBDW_DWARF_UNWIND := 1
  endif
endif

ifeq ($(dwarf-post-unwind),1)
+1 −2
Original line number Diff line number Diff line
@@ -83,7 +83,6 @@ make_no_demangle := NO_DEMANGLE=1
make_no_libelf      := NO_LIBELF=1
make_no_libdw       := NO_LIBDW=1
make_libunwind      := LIBUNWIND=1
make_no_libdw_dwarf_unwind := NO_LIBDW_DWARF_UNWIND=1
make_no_backtrace   := NO_BACKTRACE=1
make_no_libcapstone := NO_CAPSTONE=1
make_no_libnuma     := NO_LIBNUMA=1
@@ -120,7 +119,7 @@ make_static := LDFLAGS=-static NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX3
make_minimal        := NO_LIBPYTHON=1 NO_GTK2=1
make_minimal        += NO_DEMANGLE=1 NO_LIBELF=1 NO_BACKTRACE=1
make_minimal        += NO_LIBNUMA=1 NO_LIBBIONIC=1 NO_LIBDW=1
make_minimal        += NO_LIBDW_DWARF_UNWIND=1 NO_LIBBPF=1
make_minimal        += NO_LIBBPF=1
make_minimal        += NO_SDT=1 NO_JVMTI=1 NO_LIBZSTD=1
make_minimal        += NO_LIBCAP=1 NO_CAPSTONE=1

+1 −2
Original line number Diff line number Diff line
@@ -223,9 +223,8 @@ perf-util-$(CONFIG_LIBDW) += dwarf-regs-arch/
perf-util-$(CONFIG_LIBDW) += debuginfo.o
perf-util-$(CONFIG_LIBDW) += annotate-data.o
perf-util-$(CONFIG_LIBDW) += libdw.o
perf-util-$(CONFIG_LIBDW) += unwind-libdw.o

perf-util-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o
perf-util-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw-arch/
perf-util-$(CONFIG_LOCAL_LIBUNWIND)    += unwind-libunwind-local.o
perf-util-$(CONFIG_LIBUNWIND)          += unwind-libunwind.o
perf-util-$(CONFIG_LIBUNWIND_X86)      += libunwind/x86_32.o