Patch "perf unwind: Do not overwrite FEATURE_CHECK_LDFLAGS-libunwind-{x86,aarch64}" has been added to the 5.10-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 unwind: Do not overwrite FEATURE_CHECK_LDFLAGS-libunwind-{x86,aarch64}

to the 5.10-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-unwind-do-not-overwrite-feature_check_ldflags-l.patch
and it can be found in the queue-5.10 subdirectory.

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



commit 8fcfc84a691ca19930fb19a1e9a14e37a69b7db5
Author: Li Huafei <lihuafei1@xxxxxxxxxx>
Date:   Mon Aug 23 21:43:40 2021 +0800

    perf unwind: Do not overwrite FEATURE_CHECK_LDFLAGS-libunwind-{x86,aarch64}
    
    [ Upstream commit cdf32b44678c382a31dc183d9a767306915cda7b ]
    
    When setting LIBUNWIND_DIR, we first set
    
     FEATURE_CHECK_LDFLAGS-libunwind-{aarch64,x86} = -L$(LIBUNWIND_DIR)/lib.
    
    <committer note>
    This happens a bit before, the overwritting, in:
    
      libunwind_arch_set_flags = $(eval $(libunwind_arch_set_flags_code))
      define libunwind_arch_set_flags_code
        FEATURE_CHECK_CFLAGS-libunwind-$(1)  = -I$(LIBUNWIND_DIR)/include
        FEATURE_CHECK_LDFLAGS-libunwind-$(1) = -L$(LIBUNWIND_DIR)/lib
      endef
    
      ifdef LIBUNWIND_DIR
        LIBUNWIND_CFLAGS  = -I$(LIBUNWIND_DIR)/include
        LIBUNWIND_LDFLAGS = -L$(LIBUNWIND_DIR)/lib
        LIBUNWIND_ARCHS = x86 x86_64 arm aarch64 debug-frame-arm debug-frame-aarch64
        $(foreach libunwind_arch,$(LIBUNWIND_ARCHS),$(call libunwind_arch_set_flags,$(libunwind_arch)))
      endif
    
    Look at that 'foreach' on all the LIBUNWIND_ARCHS.
    </>
    
    After commit 5c4d7c82c0dc ("perf unwind: Do not put libunwind-{x86,aarch64}
    in FEATURE_TESTS_BASIC"), FEATURE_CHECK_LDFLAGS-libunwind-{x86,aarch64} is
    overwritten. As a result, the remote libunwind libraries cannot be searched
    from $(LIBUNWIND_DIR)/lib directory during feature check tests. Fix it with
    variable appending.
    
    Before this patch:
    
      perf$ make VF=1 LIBUNWIND_DIR=/opt/libunwind_aarch64
       BUILD:   Doing 'make -j16' parallel build
      <SNIP>
      ...
      ...                    libopencsd: [ OFF ]
      ...                 libunwind-x86: [ OFF ]
      ...              libunwind-x86_64: [ OFF ]
      ...                 libunwind-arm: [ OFF ]
      ...             libunwind-aarch64: [ OFF ]
      ...         libunwind-debug-frame: [ OFF ]
      ...     libunwind-debug-frame-arm: [ OFF ]
      ... libunwind-debug-frame-aarch64: [ OFF ]
      ...                           cxx: [ OFF ]
      <SNIP>
    
      perf$ cat ../build/feature/test-libunwind-aarch64.make.output
      /usr/bin/ld: cannot find -lunwind-aarch64
      /usr/bin/ld: cannot find -lunwind-aarch64
      collect2: error: ld returned 1 exit status
    
    After this patch:
    
      perf$ make VF=1 LIBUNWIND_DIR=/opt/libunwind_aarch64
       BUILD:   Doing 'make -j16' parallel build
      <SNIP>
      ...                    libopencsd: [ OFF ]
      ...                 libunwind-x86: [ OFF ]
      ...              libunwind-x86_64: [ OFF ]
      ...                 libunwind-arm: [ OFF ]
      ...             libunwind-aarch64: [ on  ]
      ...         libunwind-debug-frame: [ OFF ]
      ...     libunwind-debug-frame-arm: [ OFF ]
      ... libunwind-debug-frame-aarch64: [ OFF ]
      ...                           cxx: [ OFF ]
      <SNIP>
    
      perf$ cat ../build/feature/test-libunwind-aarch64.make.output
    
      perf$ ldd ./perf
            linux-vdso.so.1 (0x00007ffdf07da000)
            libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f30953dc000)
            librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f30951d4000)
            libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f3094e36000)
            libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f3094c32000)
            libelf.so.1 => /usr/lib/x86_64-linux-gnu/libelf.so.1 (0x00007f3094a18000)
            libdw.so.1 => /usr/lib/x86_64-linux-gnu/libdw.so.1 (0x00007f30947cc000)
            libunwind-x86_64.so.8 => /usr/lib/x86_64-linux-gnu/libunwind-x86_64.so.8 (0x00007f30945ad000)
            libunwind.so.8 => /usr/lib/x86_64-linux-gnu/libunwind.so.8 (0x00007f3094392000)
            liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f309416c000)
            libunwind-aarch64.so.8 => not found
            libslang.so.2 => /lib/x86_64-linux-gnu/libslang.so.2 (0x00007f3093c8a000)
            libpython2.7.so.1.0 => /usr/local/lib/libpython2.7.so.1.0 (0x00007f309386b000)
            libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f309364e000)
            libnuma.so.1 => /usr/lib/x86_64-linux-gnu/libnuma.so.1 (0x00007f3093443000)
            libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3093052000)
            /lib64/ld-linux-x86-64.so.2 (0x00007f3096097000)
            libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007f3092e42000)
            libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f3092c3f000)
    
    Fixes: 5c4d7c82c0dceccf ("perf unwind: Do not put libunwind-{x86,aarch64} in FEATURE_TESTS_BASIC")
    Signed-off-by: Li Huafei <lihuafei1@xxxxxxxxxx>
    Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
    Cc: He Kuang <hekuang@xxxxxxxxxx>
    Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
    Cc: Mark Rutland <mark.rutland@xxxxxxx>
    Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
    Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
    Cc: Zhang Jinhao <zhangjinhao2@xxxxxxxxxx>
    Link: http://lore.kernel.org/lkml/20210823134340.60955-1-lihuafei1@xxxxxxxxxx
    Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
index 2abbd75fbf2e..014b959575ca 100644
--- a/tools/perf/Makefile.config
+++ b/tools/perf/Makefile.config
@@ -127,10 +127,10 @@ FEATURE_CHECK_LDFLAGS-libunwind = $(LIBUNWIND_LDFLAGS) $(LIBUNWIND_LIBS)
 FEATURE_CHECK_CFLAGS-libunwind-debug-frame = $(LIBUNWIND_CFLAGS)
 FEATURE_CHECK_LDFLAGS-libunwind-debug-frame = $(LIBUNWIND_LDFLAGS) $(LIBUNWIND_LIBS)
 
-FEATURE_CHECK_LDFLAGS-libunwind-arm = -lunwind -lunwind-arm
-FEATURE_CHECK_LDFLAGS-libunwind-aarch64 = -lunwind -lunwind-aarch64
-FEATURE_CHECK_LDFLAGS-libunwind-x86 = -lunwind -llzma -lunwind-x86
-FEATURE_CHECK_LDFLAGS-libunwind-x86_64 = -lunwind -llzma -lunwind-x86_64
+FEATURE_CHECK_LDFLAGS-libunwind-arm += -lunwind -lunwind-arm
+FEATURE_CHECK_LDFLAGS-libunwind-aarch64 += -lunwind -lunwind-aarch64
+FEATURE_CHECK_LDFLAGS-libunwind-x86 += -lunwind -llzma -lunwind-x86
+FEATURE_CHECK_LDFLAGS-libunwind-x86_64 += -lunwind -llzma -lunwind-x86_64
 
 FEATURE_CHECK_LDFLAGS-libcrypto = -lcrypto
 



[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