Re: [PATCH v1 01/11] perf build: Rename NO_DWARF to NO_LIBDW

From: Namhyung Kim
Date: Wed Sep 25 2024 - 20:26:42 EST


On Tue, Sep 24, 2024 at 09:04:08AM -0700, Ian Rogers wrote:
> NO_DWARF could mean more than NO_LIBDW support, in particular no
> libunwind support. Rename to be more intention revealing.
>
> Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
> ---
> tools/perf/Makefile.config | 16 ++++++++--------
> tools/perf/Makefile.perf | 2 +-
> tools/perf/arch/arm/Makefile | 2 +-
> tools/perf/arch/arm64/Makefile | 2 +-
> tools/perf/arch/csky/Makefile | 2 +-
> tools/perf/arch/loongarch/Makefile | 2 +-
> tools/perf/arch/mips/Makefile | 2 +-
> tools/perf/arch/powerpc/Makefile | 2 +-
> tools/perf/arch/riscv/Makefile | 2 +-
> tools/perf/arch/s390/Makefile | 2 +-
> tools/perf/arch/sh/Makefile | 2 +-
> tools/perf/arch/sparc/Makefile | 2 +-
> tools/perf/arch/x86/Makefile | 2 +-
> tools/perf/arch/xtensa/Makefile | 2 +-
> tools/perf/builtin-probe.c | 2 +-
> 15 files changed, 22 insertions(+), 22 deletions(-)
>
> diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
> index 5e26d3a91b36..55a39211496d 100644
> --- a/tools/perf/Makefile.config
> +++ b/tools/perf/Makefile.config
> @@ -429,7 +429,7 @@ ifeq ($(feature-file-handle), 1)
> endif
>
> ifdef NO_LIBELF
> - NO_DWARF := 1
> + NO_LIBDW := 1
> NO_LIBUNWIND := 1
> NO_LIBDW_DWARF_UNWIND := 1
> NO_LIBBPF := 1
> @@ -471,9 +471,9 @@ else
> endif
> endif
> ifneq ($(feature-dwarf), 1)
> - ifndef NO_DWARF
> + ifndef NO_LIBDW
> $(warning No libdw.h found or old libdw.h found or elfutils is older than 0.138, disables dwarf support. Please install new elfutils-devel/libdw-dev)
> - NO_DWARF := 1
> + NO_LIBDW := 1
> endif
> else
> ifneq ($(feature-dwarf_getlocations), 1)
> @@ -496,7 +496,7 @@ ifeq ($(feature-libaio), 1)
> endif
> endif
>
> -ifdef NO_DWARF
> +ifdef NO_LIBDW
> NO_LIBDW_DWARF_UNWIND := 1
> endif
>
> @@ -574,17 +574,17 @@ ifndef NO_LIBELF
> endif
> endif
>
> - ifndef NO_DWARF
> + ifndef NO_LIBDW
> ifeq ($(origin PERF_HAVE_DWARF_REGS), undefined)
> $(warning DWARF register mappings have not been defined for architecture $(SRCARCH), DWARF support disabled)
> - NO_DWARF := 1
> + NO_LIBDW := 1
> else
> CFLAGS += -DHAVE_DWARF_SUPPORT $(LIBDW_CFLAGS)
> LDFLAGS += $(LIBDW_LDFLAGS)
> EXTLIBS += ${DWARFLIBS}
> $(call detected,CONFIG_DWARF)
> endif # PERF_HAVE_DWARF_REGS
> - endif # NO_DWARF
> + endif # NO_LIBDW
>
> ifndef NO_LIBBPF
> ifeq ($(feature-bpf), 1)
> @@ -633,7 +633,7 @@ ifdef PERF_HAVE_JITDUMP
> endif
>
> ifeq ($(SRCARCH),powerpc)
> - ifndef NO_DWARF
> + ifndef NO_LIBDW
> CFLAGS += -DHAVE_SKIP_CALLCHAIN_IDX
> endif
> endif
> diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
> index 9dd2e8d3f3c9..a144bfaf8aeb 100644
> --- a/tools/perf/Makefile.perf
> +++ b/tools/perf/Makefile.perf
> @@ -40,7 +40,7 @@ include ../scripts/utilities.mak
> #
> # Define EXTRA_PERFLIBS to pass extra libraries to PERFLIBS.
> #
> -# Define NO_DWARF if you do not want debug-info analysis feature at all.
> +# Define NO_LIBDW if you do not want debug-info analysis feature at all.

Can we keep NO_DWARF for compatibility and set NO_LIBDW=1 internally?
I think it's fine to change it here to advertise NO_LIBDW over NO_DWARF
but still want to support NO_DWARF as well.

Also it seem we don't have an entry in the tests/make for no-dwarf
build. Can you please add one too?

Thanks,
Namhyung


> #
> # Define WERROR=0 to disable treating any warnings as errors.
> #
> diff --git a/tools/perf/arch/arm/Makefile b/tools/perf/arch/arm/Makefile
> index 1d88fdab13bf..9b164d379548 100644
> --- a/tools/perf/arch/arm/Makefile
> +++ b/tools/perf/arch/arm/Makefile
> @@ -1,5 +1,5 @@
> # SPDX-License-Identifier: GPL-2.0-only
> -ifndef NO_DWARF
> +ifndef NO_LIBDW
> PERF_HAVE_DWARF_REGS := 1
> endif
> PERF_HAVE_JITDUMP := 1
> diff --git a/tools/perf/arch/arm64/Makefile b/tools/perf/arch/arm64/Makefile
> index 5735ed4479bb..8a5ffbfe809f 100644
> --- a/tools/perf/arch/arm64/Makefile
> +++ b/tools/perf/arch/arm64/Makefile
> @@ -1,5 +1,5 @@
> # SPDX-License-Identifier: GPL-2.0
> -ifndef NO_DWARF
> +ifndef NO_LIBDW
> PERF_HAVE_DWARF_REGS := 1
> endif
> PERF_HAVE_JITDUMP := 1
> diff --git a/tools/perf/arch/csky/Makefile b/tools/perf/arch/csky/Makefile
> index 88c08eed9c7b..119b06a64bed 100644
> --- a/tools/perf/arch/csky/Makefile
> +++ b/tools/perf/arch/csky/Makefile
> @@ -1,4 +1,4 @@
> # SPDX-License-Identifier: GPL-2.0-only
> -ifndef NO_DWARF
> +ifndef NO_LIBDW
> PERF_HAVE_DWARF_REGS := 1
> endif
> diff --git a/tools/perf/arch/loongarch/Makefile b/tools/perf/arch/loongarch/Makefile
> index c89d6bb6b184..1cc5eb01f32b 100644
> --- a/tools/perf/arch/loongarch/Makefile
> +++ b/tools/perf/arch/loongarch/Makefile
> @@ -1,5 +1,5 @@
> # SPDX-License-Identifier: GPL-2.0
> -ifndef NO_DWARF
> +ifndef NO_LIBDW
> PERF_HAVE_DWARF_REGS := 1
> endif
> PERF_HAVE_ARCH_REGS_QUERY_REGISTER_OFFSET := 1
> diff --git a/tools/perf/arch/mips/Makefile b/tools/perf/arch/mips/Makefile
> index cd0b011b3be5..733f7b76f52d 100644
> --- a/tools/perf/arch/mips/Makefile
> +++ b/tools/perf/arch/mips/Makefile
> @@ -1,5 +1,5 @@
> # SPDX-License-Identifier: GPL-2.0
> -ifndef NO_DWARF
> +ifndef NO_LIBDW
> PERF_HAVE_DWARF_REGS := 1
> endif
>
> diff --git a/tools/perf/arch/powerpc/Makefile b/tools/perf/arch/powerpc/Makefile
> index bf6d323574f6..7672d555f6cd 100644
> --- a/tools/perf/arch/powerpc/Makefile
> +++ b/tools/perf/arch/powerpc/Makefile
> @@ -1,5 +1,5 @@
> # SPDX-License-Identifier: GPL-2.0
> -ifndef NO_DWARF
> +ifndef NO_LIBDW
> PERF_HAVE_DWARF_REGS := 1
> endif
>
> diff --git a/tools/perf/arch/riscv/Makefile b/tools/perf/arch/riscv/Makefile
> index 90c3c476a242..4664a78a1afd 100644
> --- a/tools/perf/arch/riscv/Makefile
> +++ b/tools/perf/arch/riscv/Makefile
> @@ -1,4 +1,4 @@
> -ifndef NO_DWARF
> +ifndef NO_LIBDW
> PERF_HAVE_DWARF_REGS := 1
> endif
> PERF_HAVE_ARCH_REGS_QUERY_REGISTER_OFFSET := 1
> diff --git a/tools/perf/arch/s390/Makefile b/tools/perf/arch/s390/Makefile
> index 56994e63b43a..3f66e2ede3f7 100644
> --- a/tools/perf/arch/s390/Makefile
> +++ b/tools/perf/arch/s390/Makefile
> @@ -1,5 +1,5 @@
> # SPDX-License-Identifier: GPL-2.0-only
> -ifndef NO_DWARF
> +ifndef NO_LIBDW
> PERF_HAVE_DWARF_REGS := 1
> endif
> HAVE_KVM_STAT_SUPPORT := 1
> diff --git a/tools/perf/arch/sh/Makefile b/tools/perf/arch/sh/Makefile
> index 88c08eed9c7b..119b06a64bed 100644
> --- a/tools/perf/arch/sh/Makefile
> +++ b/tools/perf/arch/sh/Makefile
> @@ -1,4 +1,4 @@
> # SPDX-License-Identifier: GPL-2.0-only
> -ifndef NO_DWARF
> +ifndef NO_LIBDW
> PERF_HAVE_DWARF_REGS := 1
> endif
> diff --git a/tools/perf/arch/sparc/Makefile b/tools/perf/arch/sparc/Makefile
> index 4031db72ba71..7741184894c8 100644
> --- a/tools/perf/arch/sparc/Makefile
> +++ b/tools/perf/arch/sparc/Makefile
> @@ -1,5 +1,5 @@
> # SPDX-License-Identifier: GPL-2.0-only
> -ifndef NO_DWARF
> +ifndef NO_LIBDW
> PERF_HAVE_DWARF_REGS := 1
> endif
>
> diff --git a/tools/perf/arch/x86/Makefile b/tools/perf/arch/x86/Makefile
> index 67b4969a6738..9aa58acb5564 100644
> --- a/tools/perf/arch/x86/Makefile
> +++ b/tools/perf/arch/x86/Makefile
> @@ -1,5 +1,5 @@
> # SPDX-License-Identifier: GPL-2.0
> -ifndef NO_DWARF
> +ifndef NO_LIBDW
> PERF_HAVE_DWARF_REGS := 1
> endif
> HAVE_KVM_STAT_SUPPORT := 1
> diff --git a/tools/perf/arch/xtensa/Makefile b/tools/perf/arch/xtensa/Makefile
> index 88c08eed9c7b..119b06a64bed 100644
> --- a/tools/perf/arch/xtensa/Makefile
> +++ b/tools/perf/arch/xtensa/Makefile
> @@ -1,4 +1,4 @@
> # SPDX-License-Identifier: GPL-2.0-only
> -ifndef NO_DWARF
> +ifndef NO_LIBDW
> PERF_HAVE_DWARF_REGS := 1
> endif
> diff --git a/tools/perf/builtin-probe.c b/tools/perf/builtin-probe.c
> index 003a3bcebfdf..91672bb3047c 100644
> --- a/tools/perf/builtin-probe.c
> +++ b/tools/perf/builtin-probe.c
> @@ -616,7 +616,7 @@ __cmd_probe(int argc, const char **argv)
> set_option_flag(options, 'L', "line", PARSE_OPT_EXCLUSIVE);
> set_option_flag(options, 'V', "vars", PARSE_OPT_EXCLUSIVE);
> #else
> -# define set_nobuild(s, l, c) set_option_nobuild(options, s, l, "NO_DWARF=1", c)
> +# define set_nobuild(s, l, c) set_option_nobuild(options, s, l, "NO_LIBDW=1", c)
> set_nobuild('L', "line", false);
> set_nobuild('V', "vars", false);
> set_nobuild('\0', "externs", false);
> --
> 2.46.0.792.g87dc391469-goog
>