Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1203052 > unrolled thread

[PATCH] perf, tools: Support static linking with libdw

Started byAndi Kleen <andi@firstfloor.org>
First post2015-08-08 00:20 +0200
Last post2015-08-10 17:00 +0200
Articles 5 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] perf, tools: Support static linking with libdw Andi Kleen <andi@firstfloor.org> - 2015-08-08 00:20 +0200
    Re: [PATCH] perf, tools: Support static linking with libdw Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-08 01:50 +0200
    Re: [PATCH] perf, tools: Support static linking with libdw Jiri Olsa <jolsa@redhat.com> - 2015-08-08 17:30 +0200
      Re: [PATCH] perf, tools: Support static linking with libdw Andi Kleen <andi@firstfloor.org> - 2015-08-08 18:50 +0200
        Re: [PATCH] perf, tools: Support static linking with libdw Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-10 17:00 +0200

#1203052 — [PATCH] perf, tools: Support static linking with libdw

FromAndi Kleen <andi@firstfloor.org>
Date2015-08-08 00:20 +0200
Subject[PATCH] perf, tools: Support static linking with libdw
Message-ID<pUY9A-4vn-1@gated-at.bofh.it>
From: Andi Kleen <ak@linux.intel.com>

The Fedora 22 version of libdw requires a couple of extra libraries
to link. With a dynamic link the dependencies are pulled in automatically,
but this doesn't work for static linking. Add the needed libraries
explicitely to the feature probe and the Makefile.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
---
 tools/build/feature/Makefile | 2 +-
 tools/perf/config/Makefile   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile
index 463ed8f..179fc1a 100644
--- a/tools/build/feature/Makefile
+++ b/tools/build/feature/Makefile
@@ -70,7 +70,7 @@ test-glibc.bin:
 	$(BUILD)
 
 test-dwarf.bin:
-	$(BUILD) -ldw
+	$(BUILD) -ldw -lelf -lebl -lz -llzma -lbz2
 
 test-libelf-mmap.bin:
 	$(BUILD) -lelf
diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile
index 094ddae..384e0a6 100644
--- a/tools/perf/config/Makefile
+++ b/tools/perf/config/Makefile
@@ -297,7 +297,7 @@ ifndef NO_LIBELF
     else
       CFLAGS += -DHAVE_DWARF_SUPPORT $(LIBDW_CFLAGS)
       LDFLAGS += $(LIBDW_LDFLAGS)
-      EXTLIBS += -ldw
+      EXTLIBS += -ldw -lelf -lebl -lz -lbz2 -llzma
       $(call detected,CONFIG_DWARF)
     endif # PERF_HAVE_DWARF_REGS
   endif # NO_DWARF
-- 
2.4.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1203091

FromArnaldo Carvalho de Melo <acme@kernel.org>
Date2015-08-08 01:50 +0200
Message-ID<pUZyG-6z7-5@gated-at.bofh.it>
In reply to#1203052
Em Fri, Aug 07, 2015 at 03:18:48PM -0700, Andi Kleen escreveu:
> From: Andi Kleen <ak@linux.intel.com>
> 
> The Fedora 22 version of libdw requires a couple of extra libraries
> to link. With a dynamic link the dependencies are pulled in automatically,
> but this doesn't work for static linking. Add the needed libraries
> explicitely to the feature probe and the Makefile.

Thanks, applied.

- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1203282

FromJiri Olsa <jolsa@redhat.com>
Date2015-08-08 17:30 +0200
Message-ID<pVeem-2EI-11@gated-at.bofh.it>
In reply to#1203052
On Fri, Aug 07, 2015 at 03:18:48PM -0700, Andi Kleen wrote:
> From: Andi Kleen <ak@linux.intel.com>
> 
> The Fedora 22 version of libdw requires a couple of extra libraries
> to link. With a dynamic link the dependencies are pulled in automatically,
> but this doesn't work for static linking. Add the needed libraries
> explicitely to the feature probe and the Makefile.
> 
> Signed-off-by: Andi Kleen <ak@linux.intel.com>
> ---
>  tools/build/feature/Makefile | 2 +-
>  tools/perf/config/Makefile   | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile
> index 463ed8f..179fc1a 100644
> --- a/tools/build/feature/Makefile
> +++ b/tools/build/feature/Makefile
> @@ -70,7 +70,7 @@ test-glibc.bin:
>  	$(BUILD)
>  
>  test-dwarf.bin:
> -	$(BUILD) -ldw
> +	$(BUILD) -ldw -lelf -lebl -lz -llzma -lbz2
>  
>  test-libelf-mmap.bin:
>  	$(BUILD) -lelf
> diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile
> index 094ddae..384e0a6 100644
> --- a/tools/perf/config/Makefile
> +++ b/tools/perf/config/Makefile
> @@ -297,7 +297,7 @@ ifndef NO_LIBELF
>      else
>        CFLAGS += -DHAVE_DWARF_SUPPORT $(LIBDW_CFLAGS)
>        LDFLAGS += $(LIBDW_LDFLAGS)
> -      EXTLIBS += -ldw
> +      EXTLIBS += -ldw -lelf -lebl -lz -lbz2 -llzma
>        $(call detected,CONFIG_DWARF)
>      endif # PERF_HAVE_DWARF_REGS
>    endif # NO_DWARF
> -- 
> 2.4.3
> 

please also update the warning, as now it's not obvious you need
to install also bz2 libs (bzip2-devel on Fedora) for dwarf support..
we already have check for lzma

thanks,
jirka


[jolsa@krava perf]$ make 
  BUILD:   Doing 'make -j4' parallel build

Auto-detecting system features:
...                         dwarf: [ OFF ]
...                         glibc: [ on  ]
...                          gtk2: [ on  ]
...                      libaudit: [ on  ]
...                        libbfd: [ on  ]
...                        libelf: [ on  ]
...                       libnuma: [ on  ]
...                       libperl: [ on  ]
...                     libpython: [ on  ]
...                      libslang: [ on  ]
...                     libunwind: [ on  ]
...            libdw-dwarf-unwind: [ on  ]
...                          zlib: [ on  ]
...                          lzma: [ on  ]

config/Makefile:267: No libdw.h found or old libdw.h found or elfutils is older than 0.138, disables dwarf support. Please install new elfutils-devel/libdw-dev

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1203320

FromAndi Kleen <andi@firstfloor.org>
Date2015-08-08 18:50 +0200
Message-ID<pVftL-4oL-1@gated-at.bofh.it>
In reply to#1203282
> please also update the warning, as now it's not obvious you need
> to install also bz2 libs (bzip2-devel on Fedora) for dwarf support..
> we already have check for lzma

The package should already pull it in as a dependency.

-Andi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1204353

FromArnaldo Carvalho de Melo <acme@kernel.org>
Date2015-08-10 17:00 +0200
Message-ID<pVWIq-12B-9@gated-at.bofh.it>
In reply to#1203320
Em Sat, Aug 08, 2015 at 06:42:19PM +0200, Andi Kleen escreveu:
> > please also update the warning, as now it's not obvious you need
> > to install also bz2 libs (bzip2-devel on Fedora) for dwarf support..
> > we already have check for lzma
> 
> The package should already pull it in as a dependency.

Noticed that this regresses my environment, Fedora 21:

  [acme@zoo linux]$ rm -rf /tmp/build/perf ; mkdir -p /tmp/build/perf ; m
  make: Entering directory '/home/git/linux/tools/perf'
    BUILD:   Doing 'make -j4' parallel build

  Auto-detecting system features:
  ...                         dwarf: [ OFF ]
  ...                         glibc: [ on  ]
  ...                          gtk2: [ on  ]
  ...                      libaudit: [ on  ]
  ...                        libbfd: [ on  ]
  ...                        libelf: [ on  ]
  ...                       libnuma: [ on  ]
  ...                       libperl: [ on  ]
  ...                     libpython: [ on  ]
  ...                      libslang: [ on  ]
  ...                     libunwind: [ on  ]
  ...            libdw-dwarf-unwind: [ on  ]
  ...                          zlib: [ on  ]
  ...                          lzma: [ on  ]

  config/Makefile:267: No libdw.h found or old libdw.h found or elfutils
  is older than 0.138, disables dwarf support. Please install new
  elfutils-devel/libdw-dev
    MKDIR    /tmp/build/perf/util/

Have not investigated, just noticed that dwarf is disabled if this patch
is applied, removing it for now, will check later.

- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web