[PATCH] perf tools: Fix static building

Vineet Gupta Vineet.Gupta1 at synopsys.com
Thu Sep 1 11:28:29 PDT 2016


On 08/31/2016 12:21 AM, Jiri Olsa wrote:
> On Mon, Aug 22, 2016 at 08:33:42PM +0300, Alexey Brodkin wrote:
>> With commit e3d09ec8126f ("tools lib traceevent: Export dynamic symbols
>> used by traceevent plugins") we started to add "--dynamic-list" in
>> LDFLAGS. One side-effect of that was inability to build really
>> statically-linked perf.
> 
> IIRC --dynamic-list forces perf to exports some symbols to
> be used by plugins.. don't see this breaking static build
> 
> also it's working properly for me:
> 
> [jolsa at krava perf]$ make LDFLAGS=-static
> ...
> [jolsa at krava perf]$ ldd ./perf
>         not a dynamic executable
> 
> unless I miss what you mean by 'really statically-linked' ;-)

Right - so I tried this as well and indeed I can confirm that it builds for me as
static. Atleast the build system doesn;t need changing as -sattic being propagated
to fianl link cmd.

There seems to be some weirdness with ARC tools: file reports

| ELF 32-bit LSB executable, *unknown arch 0xc3* version 1 (SYSV),
| dynamically linked, interpreter *empty*, for GNU/Linux 3.9.0, not stripped


That is clearly wrong !

And the static binary as expected doesn't seem to run on target - exits with -EACCESS.

-Vineet



More information about the linux-snps-arc mailing list