Re: [PATCH] tools: perf: fix linker error when libelf config is disabled

From: Jiri Olsa
Date: Wed Jan 04 2017 - 09:46:04 EST


On Wed, Jan 04, 2017 at 01:52:40PM +0000, Sudeep Holla wrote:
> When libelf is disabled in the configuration, we get the following
> linker error:
> LINK libperf-jvmti.so
> ld: cannot find -lelf
> Makefile.perf:515: recipe for target 'libperf-jvmti.so' failed
>
> This patch fixes the error by using the configuration macro EXTLIBS.
>
> Fixes: d4dfdf00d43e ("perf jvmti: Plug compilation into perf build")
> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx>
> ---
> tools/perf/Makefile.perf | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
> index 8fc24824705e..6defd9b00bc4 100644
> --- a/tools/perf/Makefile.perf
> +++ b/tools/perf/Makefile.perf
> @@ -512,7 +512,7 @@ $(LIBJVMTI_IN): FORCE
> $(Q)$(MAKE) -f $(srctree)/tools/build/Makefile.build dir=jvmti obj=jvmti
>
> $(OUTPUT)$(LIBJVMTI): $(LIBJVMTI_IN)
> - $(QUIET_LINK)$(CC) -shared -Wl,-soname -Wl,$(LIBJVMTI) -o $@ $< -lelf -lrt
> + $(QUIET_LINK)$(CC) -shared -Wl,-soname -Wl,$(LIBJVMTI) -o $@ $< $(EXTLIBS) -lrt
> endif

hm, do we need -lelf -lrt at all? can't see reason for that

jirka