Linux Perf Users
 help / color / mirror / Atom feed
* [PATCH 1/1] tools build: Don't set libunwind as available if test-all.c build succeeds
@ 2025-04-04 18:55 Arnaldo Carvalho de Melo
  2025-04-04 20:30 ` Namhyung Kim
  2025-04-06 17:36 ` Ingo Molnar
  0 siblings, 2 replies; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2025-04-04 18:55 UTC (permalink / raw)
  To: Namhyung Kim
  Cc: Ingo Molnar, Adrian Hunter, Dmitry Vyukov, Ian Rogers,
	James Clark, Jiri Olsa, Kan Liang, Peter Zijlstra,
	Linux Kernel Mailing List, linux-perf-users

The tools/build/feature/test-all.c file tries to detect the expected,
most common set of libraries/features we expect to have available to
build perf with.

At some point libunwind was deemed not to be part of that set of
libraries, but the patches making it to be opt-in ended up forgetting
some details, fix one more.

Testing it:

  $ rm -rf /tmp/build/$(basename $PWD)/ ; mkdir -p /tmp/build/$(basename $PWD)/
  $ rpm -q libunwind-devel
  libunwind-devel-1.8.0-3.fc40.x86_64
  $ make -k LIBUNWIND=1 CORESIGHT=1 O=/tmp/build/$(basename $PWD)/ -C tools/perf install-bin |& grep unwind && ldd ~/bin/perf | grep unwind
  ...                               libunwind: [ on  ]
    CC      /tmp/build/perf-tools-next/arch/x86/tests/dwarf-unwind.o
    CC      /tmp/build/perf-tools-next/arch/x86/util/unwind-libunwind.o
    CC      /tmp/build/perf-tools-next/util/arm64-frame-pointer-unwind-support.o
    CC      /tmp/build/perf-tools-next/tests/dwarf-unwind.o
    CC      /tmp/build/perf-tools-next/util/unwind-libunwind-local.o
    CC      /tmp/build/perf-tools-next/util/unwind-libunwind.o
	  libunwind-x86_64.so.8 => /lib64/libunwind-x86_64.so.8 (0x00007f615a549000)
	  libunwind.so.8 => /lib64/libunwind.so.8 (0x00007f615a52f000)
  $ sudo rpm -e libunwind-devel
  $ rm -rf /tmp/build/$(basename $PWD)/ ; mkdir -p /tmp/build/$(basename $PWD)/
  $ make -k LIBUNWIND=1 CORESIGHT=1 O=/tmp/build/$(basename $PWD)/ -C tools/perf install-bin |& grep unwind && ldd ~/bin/perf | grep unwind
  Makefile.config:653: No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR
  ...                               libunwind: [ OFF ]
    CC      /tmp/build/perf-tools-next/arch/x86/tests/dwarf-unwind.o
    CC      /tmp/build/perf-tools-next/arch/x86/util/unwind-libdw.o
    CC      /tmp/build/perf-tools-next/util/arm64-frame-pointer-unwind-support.o
    CC      /tmp/build/perf-tools-next/tests/dwarf-unwind.o
    CC      /tmp/build/perf-tools-next/util/unwind-libdw.o
  $

Should be in a separate patch, but tired now, so also adding a message
about the need to use LIBUNWIND=1 in the output when its not available,
so done here as well.

So, now when the devel files are not available we get:

  $ make -k LIBUNWIND=1 CORESIGHT=1 O=/tmp/build/$(basename $PWD)/ -C tools/perf install-bin |& grep unwind && ldd ~/bin/perf | grep unwind
  Makefile.config:653: No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR and set LIBUNWIND=1 in the make command line as it is opt-in now
  ...                               libunwind: [ OFF ]
  $

Fixes: 13e17c9ff49119aa ("perf build: Make libunwind opt-in rather than opt-out")
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: James Clark <james.clark@linaro.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/lkml/Z_AnsW9oJzFbhIFC@x1
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/build/Makefile.feature | 1 -
 tools/perf/Makefile.config   | 4 +++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/tools/build/Makefile.feature b/tools/build/Makefile.feature
index 1931b6321314684c..54c8adfb94662c03 100644
--- a/tools/build/Makefile.feature
+++ b/tools/build/Makefile.feature
@@ -87,7 +87,6 @@ FEATURE_TESTS_BASIC :=                  \
         libtracefs                      \
         libcpupower                     \
         libcrypto                       \
-        libunwind                       \
         pthread-attr-setaffinity-np     \
         pthread-barrier     		\
         reallocarray                    \
diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
index eea95c6c0c71f76e..8ff1d8ade73fc061 100644
--- a/tools/perf/Makefile.config
+++ b/tools/perf/Makefile.config
@@ -624,6 +624,8 @@ endif
 ifndef NO_LIBUNWIND
   have_libunwind :=
 
+  $(call feature_check,libunwind)
+
   $(call feature_check,libunwind-x86)
   ifeq ($(feature-libunwind-x86), 1)
     $(call detected,CONFIG_LIBUNWIND_X86)
@@ -648,7 +650,7 @@ ifndef NO_LIBUNWIND
   endif
 
   ifneq ($(feature-libunwind), 1)
-    $(warning No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR)
+    $(warning No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR and set LIBUNWIND=1 in the make command line as it is opt-in now)
     NO_LOCAL_LIBUNWIND := 1
   else
     have_libunwind := 1
-- 
2.48.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/1] tools build: Don't set libunwind as available if test-all.c build succeeds
  2025-04-04 18:55 [PATCH 1/1] tools build: Don't set libunwind as available if test-all.c build succeeds Arnaldo Carvalho de Melo
@ 2025-04-04 20:30 ` Namhyung Kim
  2025-04-07 19:48   ` Arnaldo Carvalho de Melo
  2025-04-06 17:36 ` Ingo Molnar
  1 sibling, 1 reply; 4+ messages in thread
From: Namhyung Kim @ 2025-04-04 20:30 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Ingo Molnar, Adrian Hunter, Dmitry Vyukov, Ian Rogers,
	James Clark, Jiri Olsa, Kan Liang, Peter Zijlstra,
	Linux Kernel Mailing List, linux-perf-users

On Fri, Apr 04, 2025 at 03:55:18PM -0300, Arnaldo Carvalho de Melo wrote:
> The tools/build/feature/test-all.c file tries to detect the expected,
> most common set of libraries/features we expect to have available to
> build perf with.
> 
> At some point libunwind was deemed not to be part of that set of
> libraries, but the patches making it to be opt-in ended up forgetting
> some details, fix one more.
> 
> Testing it:
> 
>   $ rm -rf /tmp/build/$(basename $PWD)/ ; mkdir -p /tmp/build/$(basename $PWD)/
>   $ rpm -q libunwind-devel
>   libunwind-devel-1.8.0-3.fc40.x86_64
>   $ make -k LIBUNWIND=1 CORESIGHT=1 O=/tmp/build/$(basename $PWD)/ -C tools/perf install-bin |& grep unwind && ldd ~/bin/perf | grep unwind
>   ...                               libunwind: [ on  ]
>     CC      /tmp/build/perf-tools-next/arch/x86/tests/dwarf-unwind.o
>     CC      /tmp/build/perf-tools-next/arch/x86/util/unwind-libunwind.o
>     CC      /tmp/build/perf-tools-next/util/arm64-frame-pointer-unwind-support.o
>     CC      /tmp/build/perf-tools-next/tests/dwarf-unwind.o
>     CC      /tmp/build/perf-tools-next/util/unwind-libunwind-local.o
>     CC      /tmp/build/perf-tools-next/util/unwind-libunwind.o
> 	  libunwind-x86_64.so.8 => /lib64/libunwind-x86_64.so.8 (0x00007f615a549000)
> 	  libunwind.so.8 => /lib64/libunwind.so.8 (0x00007f615a52f000)
>   $ sudo rpm -e libunwind-devel
>   $ rm -rf /tmp/build/$(basename $PWD)/ ; mkdir -p /tmp/build/$(basename $PWD)/
>   $ make -k LIBUNWIND=1 CORESIGHT=1 O=/tmp/build/$(basename $PWD)/ -C tools/perf install-bin |& grep unwind && ldd ~/bin/perf | grep unwind
>   Makefile.config:653: No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR
>   ...                               libunwind: [ OFF ]
>     CC      /tmp/build/perf-tools-next/arch/x86/tests/dwarf-unwind.o
>     CC      /tmp/build/perf-tools-next/arch/x86/util/unwind-libdw.o
>     CC      /tmp/build/perf-tools-next/util/arm64-frame-pointer-unwind-support.o
>     CC      /tmp/build/perf-tools-next/tests/dwarf-unwind.o
>     CC      /tmp/build/perf-tools-next/util/unwind-libdw.o
>   $
> 
> Should be in a separate patch, but tired now, so also adding a message
> about the need to use LIBUNWIND=1 in the output when its not available,
> so done here as well.
> 
> So, now when the devel files are not available we get:
> 
>   $ make -k LIBUNWIND=1 CORESIGHT=1 O=/tmp/build/$(basename $PWD)/ -C tools/perf install-bin |& grep unwind && ldd ~/bin/perf | grep unwind
>   Makefile.config:653: No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR and set LIBUNWIND=1 in the make command line as it is opt-in now
>   ...                               libunwind: [ OFF ]
>   $
> 
> Fixes: 13e17c9ff49119aa ("perf build: Make libunwind opt-in rather than opt-out")
> Cc: Adrian Hunter <adrian.hunter@intel.com>
> Cc: Dmitry Vyukov <dvyukov@google.com>
> Cc: Ian Rogers <irogers@google.com>
> Cc: Ingo Molnar <mingo@kernel.org>
> Cc: James Clark <james.clark@linaro.org>
> Cc: Jiri Olsa <jolsa@kernel.org>
> Cc: Kan Liang <kan.liang@linux.intel.com>
> Cc: Namhyung Kim <namhyung@kernel.org>
> Cc: Peter Zijlstra <peterz@infradead.org>
> Link: https://lore.kernel.org/lkml/Z_AnsW9oJzFbhIFC@x1
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> ---
>  tools/build/Makefile.feature | 1 -
>  tools/perf/Makefile.config   | 4 +++-
>  2 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/build/Makefile.feature b/tools/build/Makefile.feature
> index 1931b6321314684c..54c8adfb94662c03 100644
> --- a/tools/build/Makefile.feature
> +++ b/tools/build/Makefile.feature
> @@ -87,7 +87,6 @@ FEATURE_TESTS_BASIC :=                  \
>          libtracefs                      \
>          libcpupower                     \
>          libcrypto                       \
> -        libunwind                       \
>          pthread-attr-setaffinity-np     \
>          pthread-barrier     		\
>          reallocarray                    \
> diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
> index eea95c6c0c71f76e..8ff1d8ade73fc061 100644
> --- a/tools/perf/Makefile.config
> +++ b/tools/perf/Makefile.config
> @@ -624,6 +624,8 @@ endif
>  ifndef NO_LIBUNWIND
>    have_libunwind :=
>  
> +  $(call feature_check,libunwind)
> +
>    $(call feature_check,libunwind-x86)
>    ifeq ($(feature-libunwind-x86), 1)
>      $(call detected,CONFIG_LIBUNWIND_X86)
> @@ -648,7 +650,7 @@ ifndef NO_LIBUNWIND
>    endif
>  
>    ifneq ($(feature-libunwind), 1)
> -    $(warning No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR)
> +    $(warning No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR and set LIBUNWIND=1 in the make command line as it is opt-in now)

I think this message is only visible if users already give LIBUNWIND=1.

Thanks,
Namhyung


>      NO_LOCAL_LIBUNWIND := 1
>    else
>      have_libunwind := 1
> -- 
> 2.48.1
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/1] tools build: Don't set libunwind as available if test-all.c build succeeds
  2025-04-04 18:55 [PATCH 1/1] tools build: Don't set libunwind as available if test-all.c build succeeds Arnaldo Carvalho de Melo
  2025-04-04 20:30 ` Namhyung Kim
@ 2025-04-06 17:36 ` Ingo Molnar
  1 sibling, 0 replies; 4+ messages in thread
From: Ingo Molnar @ 2025-04-06 17:36 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Namhyung Kim, Adrian Hunter, Dmitry Vyukov, Ian Rogers,
	James Clark, Jiri Olsa, Kan Liang, Peter Zijlstra,
	Linux Kernel Mailing List, linux-perf-users


* Arnaldo Carvalho de Melo <acme@kernel.org> wrote:

> The tools/build/feature/test-all.c file tries to detect the expected,
> most common set of libraries/features we expect to have available to
> build perf with.
> 
> At some point libunwind was deemed not to be part of that set of
> libraries, but the patches making it to be opt-in ended up forgetting
> some details, fix one more.
> 
> Testing it:
> 
>   $ rm -rf /tmp/build/$(basename $PWD)/ ; mkdir -p /tmp/build/$(basename $PWD)/
>   $ rpm -q libunwind-devel
>   libunwind-devel-1.8.0-3.fc40.x86_64
>   $ make -k LIBUNWIND=1 CORESIGHT=1 O=/tmp/build/$(basename $PWD)/ -C tools/perf install-bin |& grep unwind && ldd ~/bin/perf | grep unwind
>   ...                               libunwind: [ on  ]
>     CC      /tmp/build/perf-tools-next/arch/x86/tests/dwarf-unwind.o
>     CC      /tmp/build/perf-tools-next/arch/x86/util/unwind-libunwind.o
>     CC      /tmp/build/perf-tools-next/util/arm64-frame-pointer-unwind-support.o
>     CC      /tmp/build/perf-tools-next/tests/dwarf-unwind.o
>     CC      /tmp/build/perf-tools-next/util/unwind-libunwind-local.o
>     CC      /tmp/build/perf-tools-next/util/unwind-libunwind.o
> 	  libunwind-x86_64.so.8 => /lib64/libunwind-x86_64.so.8 (0x00007f615a549000)
> 	  libunwind.so.8 => /lib64/libunwind.so.8 (0x00007f615a52f000)
>   $ sudo rpm -e libunwind-devel
>   $ rm -rf /tmp/build/$(basename $PWD)/ ; mkdir -p /tmp/build/$(basename $PWD)/
>   $ make -k LIBUNWIND=1 CORESIGHT=1 O=/tmp/build/$(basename $PWD)/ -C tools/perf install-bin |& grep unwind && ldd ~/bin/perf | grep unwind
>   Makefile.config:653: No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR
>   ...                               libunwind: [ OFF ]
>     CC      /tmp/build/perf-tools-next/arch/x86/tests/dwarf-unwind.o
>     CC      /tmp/build/perf-tools-next/arch/x86/util/unwind-libdw.o
>     CC      /tmp/build/perf-tools-next/util/arm64-frame-pointer-unwind-support.o
>     CC      /tmp/build/perf-tools-next/tests/dwarf-unwind.o
>     CC      /tmp/build/perf-tools-next/util/unwind-libdw.o
>   $

So I'm not sure whether this is related to my libunwind-OFF build 
message bugreport, but in case it is, with this patch applied I still 
get this message both before and after applying the patch:

...                               libunwind: [ OFF ]

Note: I did not add any LIBUNWIND parameters to the build, it's a 
standard 'make clean install' perf build:

  $ make clean install
  ...
  BUILD:   Doing 'make -j128' parallel build
  ...
  ...                               libunwind: [ OFF ]
  ...

All other feature messages indicate '[ on ]'.

It's on a fairly standard x86-64 Ubuntu 24.10 installation, with 
various development libraries installed. Let me know if you need
any debug output or other information!

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/1] tools build: Don't set libunwind as available if test-all.c build succeeds
  2025-04-04 20:30 ` Namhyung Kim
@ 2025-04-07 19:48   ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2025-04-07 19:48 UTC (permalink / raw)
  To: Namhyung Kim
  Cc: Ingo Molnar, Adrian Hunter, Dmitry Vyukov, Ian Rogers,
	James Clark, Jiri Olsa, Kan Liang, Peter Zijlstra,
	Linux Kernel Mailing List, linux-perf-users

On Fri, Apr 04, 2025 at 01:30:14PM -0700, Namhyung Kim wrote:
> On Fri, Apr 04, 2025 at 03:55:18PM -0300, Arnaldo Carvalho de Melo wrote:
> > The tools/build/feature/test-all.c file tries to detect the expected,
> > most common set of libraries/features we expect to have available to
> > build perf with.
> > 
> > At some point libunwind was deemed not to be part of that set of
> > libraries, but the patches making it to be opt-in ended up forgetting
> > some details, fix one more.
> > 
> > Testing it:
> > 
> >   $ rm -rf /tmp/build/$(basename $PWD)/ ; mkdir -p /tmp/build/$(basename $PWD)/
> >   $ rpm -q libunwind-devel
> >   libunwind-devel-1.8.0-3.fc40.x86_64
> >   $ make -k LIBUNWIND=1 CORESIGHT=1 O=/tmp/build/$(basename $PWD)/ -C tools/perf install-bin |& grep unwind && ldd ~/bin/perf | grep unwind
> >   ...                               libunwind: [ on  ]
> >     CC      /tmp/build/perf-tools-next/arch/x86/tests/dwarf-unwind.o
> >     CC      /tmp/build/perf-tools-next/arch/x86/util/unwind-libunwind.o
> >     CC      /tmp/build/perf-tools-next/util/arm64-frame-pointer-unwind-support.o
> >     CC      /tmp/build/perf-tools-next/tests/dwarf-unwind.o
> >     CC      /tmp/build/perf-tools-next/util/unwind-libunwind-local.o
> >     CC      /tmp/build/perf-tools-next/util/unwind-libunwind.o
> > 	  libunwind-x86_64.so.8 => /lib64/libunwind-x86_64.so.8 (0x00007f615a549000)
> > 	  libunwind.so.8 => /lib64/libunwind.so.8 (0x00007f615a52f000)
> >   $ sudo rpm -e libunwind-devel
> >   $ rm -rf /tmp/build/$(basename $PWD)/ ; mkdir -p /tmp/build/$(basename $PWD)/
> >   $ make -k LIBUNWIND=1 CORESIGHT=1 O=/tmp/build/$(basename $PWD)/ -C tools/perf install-bin |& grep unwind && ldd ~/bin/perf | grep unwind
> >   Makefile.config:653: No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR
> >   ...                               libunwind: [ OFF ]
> >     CC      /tmp/build/perf-tools-next/arch/x86/tests/dwarf-unwind.o
> >     CC      /tmp/build/perf-tools-next/arch/x86/util/unwind-libdw.o
> >     CC      /tmp/build/perf-tools-next/util/arm64-frame-pointer-unwind-support.o
> >     CC      /tmp/build/perf-tools-next/tests/dwarf-unwind.o
> >     CC      /tmp/build/perf-tools-next/util/unwind-libdw.o
> >   $
> > 
> > Should be in a separate patch, but tired now, so also adding a message
> > about the need to use LIBUNWIND=1 in the output when its not available,
> > so done here as well.
> > 
> > So, now when the devel files are not available we get:
> > 
> >   $ make -k LIBUNWIND=1 CORESIGHT=1 O=/tmp/build/$(basename $PWD)/ -C tools/perf install-bin |& grep unwind && ldd ~/bin/perf | grep unwind
> >   Makefile.config:653: No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR and set LIBUNWIND=1 in the make command line as it is opt-in now
> >   ...                               libunwind: [ OFF ]
> >   $
> > 
> > Fixes: 13e17c9ff49119aa ("perf build: Make libunwind opt-in rather than opt-out")
> > Cc: Adrian Hunter <adrian.hunter@intel.com>
> > Cc: Dmitry Vyukov <dvyukov@google.com>
> > Cc: Ian Rogers <irogers@google.com>
> > Cc: Ingo Molnar <mingo@kernel.org>
> > Cc: James Clark <james.clark@linaro.org>
> > Cc: Jiri Olsa <jolsa@kernel.org>
> > Cc: Kan Liang <kan.liang@linux.intel.com>
> > Cc: Namhyung Kim <namhyung@kernel.org>
> > Cc: Peter Zijlstra <peterz@infradead.org>
> > Link: https://lore.kernel.org/lkml/Z_AnsW9oJzFbhIFC@x1
> > Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> > ---
> >  tools/build/Makefile.feature | 1 -
> >  tools/perf/Makefile.config   | 4 +++-
> >  2 files changed, 3 insertions(+), 2 deletions(-)
> > 
> > diff --git a/tools/build/Makefile.feature b/tools/build/Makefile.feature
> > index 1931b6321314684c..54c8adfb94662c03 100644
> > --- a/tools/build/Makefile.feature
> > +++ b/tools/build/Makefile.feature
> > @@ -87,7 +87,6 @@ FEATURE_TESTS_BASIC :=                  \
> >          libtracefs                      \
> >          libcpupower                     \
> >          libcrypto                       \
> > -        libunwind                       \
> >          pthread-attr-setaffinity-np     \
> >          pthread-barrier     		\
> >          reallocarray                    \
> > diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
> > index eea95c6c0c71f76e..8ff1d8ade73fc061 100644
> > --- a/tools/perf/Makefile.config
> > +++ b/tools/perf/Makefile.config
> > @@ -624,6 +624,8 @@ endif
> >  ifndef NO_LIBUNWIND
> >    have_libunwind :=
> >  
> > +  $(call feature_check,libunwind)
> > +
> >    $(call feature_check,libunwind-x86)
> >    ifeq ($(feature-libunwind-x86), 1)
> >      $(call detected,CONFIG_LIBUNWIND_X86)
> > @@ -648,7 +650,7 @@ ifndef NO_LIBUNWIND
> >    endif
  
> >    ifneq ($(feature-libunwind), 1)
> > -    $(warning No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR)
> > +    $(warning No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR and set LIBUNWIND=1 in the make command line as it is opt-in now)
 
> I think this message is only visible if users already give LIBUNWIND=1.

Doh, indeed, I got confused with that NO_LIBUNWIND=1 thing.

In the end the way we made libunwind opt-in is confusing, I cooked up a
patch for 'perf -vv'  (that is a shorthand for 'perf version
--build-options, to tell the user, while we don't completely remove
libunwind support from perf, as the one present in elfutils is better.

Not to confuse people that were used to having it enabled and try to
enable it we need something like:

⬢ [acme@toolbox perf-tools-next]$ perf -vv | grep libunwind
             libunwind: [ OFF ]  # HAVE_LIBUNWIND_SUPPORT ( tip: Deprecated, use LIBUNWIND=1 and install libunwind-dev[el] to use with it )
⬢ [acme@toolbox perf-tools-next]$ perf version --build
perf version 6.15.rc1.g113e3df8ccc5
                   aio: [ on  ]  # HAVE_AIO_SUPPORT
                   bpf: [ on  ]  # HAVE_LIBBPF_SUPPORT
         bpf_skeletons: [ on  ]  # HAVE_BPF_SKEL
            debuginfod: [ OFF ]  # HAVE_DEBUGINFOD_SUPPORT
                 dwarf: [ on  ]  # HAVE_LIBDW_SUPPORT
    dwarf_getlocations: [ on  ]  # HAVE_LIBDW_SUPPORT
          dwarf-unwind: [ on  ]  # HAVE_DWARF_UNWIND_SUPPORT
              auxtrace: [ on  ]  # HAVE_AUXTRACE_SUPPORT
                libbfd: [ OFF ]  # HAVE_LIBBFD_SUPPORT
           libcapstone: [ on  ]  # HAVE_LIBCAPSTONE_SUPPORT
             libcrypto: [ on  ]  # HAVE_LIBCRYPTO_SUPPORT
    libdw-dwarf-unwind: [ on  ]  # HAVE_LIBDW_SUPPORT
                libelf: [ on  ]  # HAVE_LIBELF_SUPPORT
               libnuma: [ on  ]  # HAVE_LIBNUMA_SUPPORT
            libopencsd: [ on  ]  # HAVE_CSTRACE_SUPPORT
               libperl: [ on  ]  # HAVE_LIBPERL_SUPPORT
               libpfm4: [ on  ]  # HAVE_LIBPFM
             libpython: [ on  ]  # HAVE_LIBPYTHON_SUPPORT
              libslang: [ on  ]  # HAVE_SLANG_SUPPORT
         libtraceevent: [ on  ]  # HAVE_LIBTRACEEVENT
             libunwind: [ OFF ]  # HAVE_LIBUNWIND_SUPPORT ( tip: Deprecated, use LIBUNWIND=1 and install libunwind-dev[el] to use with it )
                  lzma: [ on  ]  # HAVE_LZMA_SUPPORT
numa_num_possible_cpus: [ on  ]  # HAVE_LIBNUMA_SUPPORT
                  zlib: [ on  ]  # HAVE_ZLIB_SUPPORT
                  zstd: [ on  ]  # HAVE_ZSTD_SUPPORT
⬢ [acme@toolbox perf-tools-next]$

This should be done for the other cases as when that feature isn't
present.

Now looking how to wire this up with the messages emitted at build time,
i.e. here:

Auto-detecting system features:
...                                   libdw: [ on  ]
...                                   glibc: [ on  ]
...                                  libbfd: [ on  ]
...                          libbfd-buildid: [ on  ]
...                                  libelf: [ on  ]
...                                 libnuma: [ on  ]
...                  numa_num_possible_cpus: [ on  ]
...                                 libperl: [ on  ]
...                               libpython: [ on  ]
...                               libcrypto: [ on  ]
...                               libunwind: [ OFF ]
...                             libcapstone: [ on  ]
...                               llvm-perf: [ on  ]
...                                    zlib: [ on  ]
...                                    lzma: [ on  ]
...                               get_cpuid: [ on  ]
...                                     bpf: [ on  ]
...                                  libaio: [ on  ]
...                                 libzstd: [ on  ]

  INSTALL libsubcmd_headers

- Arnaldo

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-04-07 19:48 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-04 18:55 [PATCH 1/1] tools build: Don't set libunwind as available if test-all.c build succeeds Arnaldo Carvalho de Melo
2025-04-04 20:30 ` Namhyung Kim
2025-04-07 19:48   ` Arnaldo Carvalho de Melo
2025-04-06 17:36 ` Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox