Patch "perf build: Fix static compilation error when libdw is not installed" has been added to the 6.11-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    perf build: Fix static compilation error when libdw is not installed

to the 6.11-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     perf-build-fix-static-compilation-error-when-libdw-i.patch
and it can be found in the queue-6.11 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit bf21cef20c9e50712b1172b8a46d654169de233e
Author: Yang Jihong <yangjihong@xxxxxxxxxxxxx>
Date:   Thu Sep 19 09:35:11 2024 +0800

    perf build: Fix static compilation error when libdw is not installed
    
    [ Upstream commit 43f6564f18bf5b27e1675ef6f4baf68e786396b2 ]
    
    If libdw is not installed in build environment, the output of
    'pkg-config --modversion libdw' is empty, causing LIBDW_VERSION_2 to be
    empty and the shell test will have the following error:
    
      /bin/sh: 1: test: -lt: unexpected operator
    
    Before:
    
      $ pkg-config --modversion libdw
      Package libdw was not found in the pkg-config search path.
      Perhaps you should add the directory containing `libdw.pc'
      to the PKG_CONFIG_PATH environment variable
      No package 'libdw' found
      $ make LDFLAGS=-static -j16
        BUILD:   Doing 'make -j20' parallel build
      <SNIP>
      Package libdw was not found in the pkg-config search path.
      Perhaps you should add the directory containing `libdw.pc'
      to the PKG_CONFIG_PATH environment variable
      No package 'libdw' found
      /bin/sh: 1: test: -lt: unexpected operator
    
    After:
    
      1. libdw is not installed:
    
      $ pkg-config --modversion libdw
      Package libdw was not found in the pkg-config search path.
      Perhaps you should add the directory containing `libdw.pc'
      to the PKG_CONFIG_PATH environment variable
      No package 'libdw' found
      $ make LDFLAGS=-static -j16
        BUILD:   Doing 'make -j20' parallel build
      <SNIP>
      Package libdw was not found in the pkg-config search path.
      Perhaps you should add the directory containing `libdw.pc'
      to the PKG_CONFIG_PATH environment variable
      No package 'libdw' found
      Makefile.config:473: No libdw DWARF unwind found, Please install elfutils-devel/libdw-dev >= 0.158 and/or set LIBDW_DIR
    
      2. libdw version is lower than 0.177
    
      $ pkg-config --modversion libdw
      0.176
      $ make LDFLAGS=-static -j16
        BUILD:   Doing 'make -j20' parallel build
      <SNIP>
    
      Auto-detecting system features:
      ...                                   dwarf: [ on  ]
      <SNIP>
        INSTALL libsubcmd_headers
        INSTALL libapi_headers
        INSTALL libperf_headers
        INSTALL libsymbol_headers
        INSTALL libbpf_headers
        LINK    perf
    
      3. libdw version is higher than 0.177
    
      $ pkg-config --modversion libdw
      0.186
      $ make LDFLAGS=-static -j16
        BUILD:   Doing 'make -j20' parallel build
      <SNIP>
    
      Auto-detecting system features:
      ...                                   dwarf: [ on  ]
      <SNIP>
        CC      util/bpf-utils.o
        CC      util/pfm.o
        LD      util/perf-util-in.o
        LD      perf-util-in.o
        AR      libperf-util.a
        LINK    perf
    
    Fixes: 536661da6ea18fe6 ("perf: build: Only link libebl.a for old libdw")
    Reviewed-by: Leo Yan <leo.yan@xxxxxxx>
    Signed-off-by: Yang Jihong <yangjihong@xxxxxxxxxxxxx>
    Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx>
    Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
    Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
    Cc: Ian Rogers <irogers@xxxxxxxxxx>
    Cc: Ingo Molnar <mingo@xxxxxxxxxx>
    Cc: James Clark <james.clark@xxxxxxx>
    Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
    Cc: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>
    Cc: Leo Yan <leo.yan@xxxxxxx>
    Cc: Mark Rutland <mark.rutland@xxxxxxx>
    Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
    Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
    Link: https://lore.kernel.org/r/20240919013513.118527-2-yangjihong@xxxxxxxxxxxxx
    Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile
index 12796808f07a8..a0167244b2f7f 100644
--- a/tools/build/feature/Makefile
+++ b/tools/build/feature/Makefile
@@ -172,7 +172,7 @@ DWARFLIBS := -ldw
 ifeq ($(findstring -static,${LDFLAGS}),-static)
   DWARFLIBS += -lelf -lz -llzma -lbz2 -lzstd
 
-  LIBDW_VERSION := $(shell $(PKG_CONFIG) --modversion libdw)
+  LIBDW_VERSION := $(shell $(PKG_CONFIG) --modversion libdw).0.0
   LIBDW_VERSION_1 := $(word 1, $(subst ., ,$(LIBDW_VERSION)))
   LIBDW_VERSION_2 := $(word 2, $(subst ., ,$(LIBDW_VERSION)))
 
diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
index fa679db61f622..b452794c763ad 100644
--- a/tools/perf/Makefile.config
+++ b/tools/perf/Makefile.config
@@ -154,7 +154,7 @@ DWARFLIBS := -ldw
 ifeq ($(findstring -static,${LDFLAGS}),-static)
   DWARFLIBS += -lelf -ldl -lz -llzma -lbz2 -lzstd
 
-  LIBDW_VERSION := $(shell $(PKG_CONFIG) --modversion libdw)
+  LIBDW_VERSION := $(shell $(PKG_CONFIG) --modversion libdw).0.0
   LIBDW_VERSION_1 := $(word 1, $(subst ., ,$(LIBDW_VERSION)))
   LIBDW_VERSION_2 := $(word 2, $(subst ., ,$(LIBDW_VERSION)))
 




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux