lkml.org 
[lkml]   [2017]   [Aug]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 15/15] perf tools: Fix static linking with libunwind
    Date
    From: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>

    * libunwind-x86_64 must be linked before libunwind
    * libunwind requires liblzma
    * static libunwind conflicts with static libgcc_eh

    Signed-off-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/150322917247.129799.14247751517961953155.stgit@buzz
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    ---
    tools/perf/Makefile.config | 6 +++++-
    1 file changed, 5 insertions(+), 1 deletion(-)

    diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
    index bb4735b92ada..6a64c6bbd9a5 100644
    --- a/tools/perf/Makefile.config
    +++ b/tools/perf/Makefile.config
    @@ -35,7 +35,7 @@ ifeq ($(SRCARCH),x86)
    ifeq (${IS_64_BIT}, 1)
    CFLAGS += -DHAVE_ARCH_X86_64_SUPPORT -DHAVE_SYSCALL_TABLE -I$(OUTPUT)arch/x86/include/generated
    ARCH_INCLUDE = ../../arch/x86/lib/memcpy_64.S ../../arch/x86/lib/memset_64.S
    - LIBUNWIND_LIBS = -lunwind -lunwind-x86_64
    + LIBUNWIND_LIBS = -lunwind-x86_64 -lunwind -llzma
    $(call detected,CONFIG_X86_64)
    else
    LIBUNWIND_LIBS = -lunwind-x86 -llzma -lunwind
    @@ -505,6 +505,10 @@ ifndef NO_LOCAL_LIBUNWIND
    EXTLIBS += $(LIBUNWIND_LIBS)
    LDFLAGS += $(LIBUNWIND_LIBS)
    endif
    +ifeq ($(findstring -static,${LDFLAGS}),-static)
    + # gcc -static links libgcc_eh which contans piece of libunwind
    + LIBUNWIND_LDFLAGS += -Wl,--allow-multiple-definition
    +endif

    ifndef NO_LIBUNWIND
    CFLAGS += -DHAVE_LIBUNWIND_SUPPORT
    --
    2.13.5
    \
     
     \ /
      Last update: 2017-08-23 21:37    [W:2.413 / U:0.300 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site