• He Kuang's avatar
    perf unwind: Fix compile error for static cross build · 906a8276
    He Kuang authored
    Build failure for static cross-compiling on aarch64, with libunwind-x86
    provided:
    
      $ file ./libunwind_for_x86_on_aarch64/lib/libunwind-x86.so.8.0.1
    
      libunwind-x86.so.8.0.1: ELF 64-bit LSB shared object, ARM aarch64,
      version 1 (SYSV), dynamically linked, not stripped
    
      $ make LDFLAGS=-static LIBUNWIND_DIR=./libunwind_for_x86_on_aarch64
      ARCH=aarch64 CROSS_COMPILE=aarch64-buildroot-linux-gnu-
    
      ~/libperf.a(libperf-in.o): In function `find_proc_info':
      :(.text+0xae4ac): undefined reference to `_Ux86_dwarf_search_unwind_table'
      ~/libperf.a(libperf-in.o): In function `_unwind__prepare_access':
      :(.text+0xaedd0): undefined reference to `_Ux86_create_addr_space'
      :(.text+0xaee24): undefined reference to `_Ux86_set_caching_policy'
      ~/libperf.a(libperf-in.o): In function `_unwind__flush_access':
      :(.text+0xaee98): undefined reference to `_Ux86_flush_cache'
      ~/libperf.a(libperf-in.o): In function `_unwind__finish_access':
      :(.text+0xaef08): undefined reference to `_Ux86_destroy_addr_space'
      ~/libperf.a(libperf-in.o): In function `get_entries':
      :(.text+0xaf148): undefined reference to `_Ux86_init_remote'
      :(.text+0xaf184): undefined reference to `_Ux86_get_reg'
      :(.text+0xaf1a4): undefined reference to `_Ux86_step'
      collect2: error: ld returned 1 exit status
      Makefile.perf:350: recipe for target '~/perf' failed
      make[1]: *** [~/perf] Error 1
      Makefile:68: recipe for target 'all' failed
      make: *** [all] Error 2
    
    This is because the remote libunwind library detected is not appended to
    EXTLIBS variable, which will be included between 'start-group' and
    'end-group' when linking.
    
    The existing variable LIBUNWIND_LIBS is assigned to libs for local
    unwind, this patch introduces a new variable EXTLIBS_LIBUNWIND for
    storing remote libunwind libraries instead.
    Signed-off-by: default avatarHe Kuang <hekuang@huawei.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Wang Nan <wangnan0@huawei.com>
    Link: http://lkml.kernel.org/r/1465988636-81502-1-git-send-email-hekuang@huawei.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    906a8276
Makefile 24.3 KB