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

Ian Rogers posted 11 patches 2 months ago
There is a newer version of this series
[PATCH v1 01/11] perf build: Rename NO_DWARF to NO_LIBDW
Posted by Ian Rogers 2 months ago
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@google.com>
---
 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.
 #
 # 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
Re: [PATCH v1 01/11] perf build: Rename NO_DWARF to NO_LIBDW
Posted by Masami Hiramatsu (Google) 2 months ago
On Tue, 24 Sep 2024 09:04:08 -0700
Ian Rogers <irogers@google.com> wrote:

> NO_DWARF could mean more than NO_LIBDW support, in particular no
> libunwind support. Rename to be more intention revealing.
> 

Looks good to me.

Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>

Thanks,


> Signed-off-by: Ian Rogers <irogers@google.com>
> ---
>  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.
>  #
>  # 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
> 
> 


-- 
Masami Hiramatsu (Google) <mhiramat@kernel.org>
Re: [PATCH v1 01/11] perf build: Rename NO_DWARF to NO_LIBDW
Posted by Namhyung Kim 2 months ago
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@google.com>
> ---
>  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
>
Re: [PATCH v1 01/11] perf build: Rename NO_DWARF to NO_LIBDW
Posted by Ian Rogers 2 months ago
On Wed, Sep 25, 2024 at 5:26 PM Namhyung Kim <namhyung@kernel.org> wrote:
>
> 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@google.com>
> > ---
> >  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.

This would be actively confusing. NO_DWARF should really imply
NO_LIBUNWIND, it is like removing the ability for "perf record
--call-graph dwarf" to work - dwarf meaning libdw or libunwind in the
tool. Having NO_DWARF control NO_LIBDW, I'm not sure what I'm being
asked to do. The point of this clean up is to make the names mean what
they should mean and not something potentially confusingly broader,
but you're asking for the confusingly broader case to mean just libdw.
I don't follow and I don't see how it serves the purpose of the
cleanup.

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

Sure.

Thanks,
Ian

> 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
> >
Re: [PATCH v1 01/11] perf build: Rename NO_DWARF to NO_LIBDW
Posted by Namhyung Kim 2 months ago
On Thu, Sep 26, 2024 at 08:02:45AM -0700, Ian Rogers wrote:
> On Wed, Sep 25, 2024 at 5:26 PM Namhyung Kim <namhyung@kernel.org> wrote:
> >
> > 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@google.com>
> > > ---
> > >  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.
> 
> This would be actively confusing. NO_DWARF should really imply
> NO_LIBUNWIND, it is like removing the ability for "perf record
> --call-graph dwarf" to work - dwarf meaning libdw or libunwind in the
> tool. Having NO_DWARF control NO_LIBDW, I'm not sure what I'm being
> asked to do. The point of this clean up is to make the names mean what
> they should mean and not something potentially confusingly broader,
> but you're asking for the confusingly broader case to mean just libdw.
> I don't follow and I don't see how it serves the purpose of the
> cleanup.

I have no idea how many people use NO_DWARF actually.  We can probably
ignore such users and convert it to NO_LIBDW.

What I actually thought was

  ifeq ($(NO_DWARF),1)
    NO_LIBDW := 1
    NO_LIBUNWIND := 1
  endif

but it'd break the compatibility too. :(

Thanks,
Namhyung

Re: [PATCH v1 01/11] perf build: Rename NO_DWARF to NO_LIBDW
Posted by Masami Hiramatsu (Google) 2 months ago
On Thu, 26 Sep 2024 12:28:09 -0700
Namhyung Kim <namhyung@kernel.org> wrote:

> On Thu, Sep 26, 2024 at 08:02:45AM -0700, Ian Rogers wrote:
> > On Wed, Sep 25, 2024 at 5:26 PM Namhyung Kim <namhyung@kernel.org> wrote:
> > >
> > > 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@google.com>
> > > > ---
> > > >  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.
> > 
> > This would be actively confusing. NO_DWARF should really imply
> > NO_LIBUNWIND, it is like removing the ability for "perf record
> > --call-graph dwarf" to work - dwarf meaning libdw or libunwind in the
> > tool. Having NO_DWARF control NO_LIBDW, I'm not sure what I'm being
> > asked to do. The point of this clean up is to make the names mean what
> > they should mean and not something potentially confusingly broader,
> > but you're asking for the confusingly broader case to mean just libdw.
> > I don't follow and I don't see how it serves the purpose of the
> > cleanup.
> 
> I have no idea how many people use NO_DWARF actually.  We can probably
> ignore such users and convert it to NO_LIBDW.
> 
> What I actually thought was
> 
>   ifeq ($(NO_DWARF),1)
>     NO_LIBDW := 1
>     NO_LIBUNWIND := 1
>   endif

Maybe we can add another patch to do this for new compile option?

Thanks,

> 
> but it'd break the compatibility too. :(



> 
> Thanks,
> Namhyung
> 
> 


-- 
Masami Hiramatsu (Google) <mhiramat@kernel.org>