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

From: Sudeep Holla
Date: Wed Jan 04 2017 - 10:56:06 EST




On 04/01/17 14:45, Jiri Olsa wrote:
> 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

I agree as it links well without libelf. I was not sure if enabling
libelf has any issue removing it, hence I retained. I will remove both
and repost. Thanks for having a look.

--
Regards,
Sudeep