Re: [PATCH 2/3] perf tools: Fix build for hardened environments

From: Arnaldo Carvalho de Melo
Date: Wed Nov 29 2017 - 15:00:26 EST


Em Wed, Nov 29, 2017 at 04:54:46PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Fri, Nov 10, 2017 at 10:43:25AM +0100, Jiri Olsa escreveu:
> > On Thu, Nov 09, 2017 at 09:52:12AM -0300, Arnaldo Carvalho de Melo wrote:
> > > Right, since we want to honour what the distro makers decided was the
> > > best set for them, and to be able to link with other libraries, etc.
>
> > > But then I think this should be done more explicitely, right? Do you
> > > envision some way to do that without having to try to build perl or
> > > python, that may not be installed, etc?
>
> > I'll check on it.. I think we could use feature detection and
> > enable that by default and add NO_HARDENED_BUILD variable as
> > we do for features.. and detect that python/perl or whatever
> > else is using that and warn
>
> > > Of course users wanting to use something different may just set CFLAGS
> > > and be done with it, in which case I think this should also affect the
> > > perl and python CFLAGS, removing that distro specific stuff since the
> > > user is changing something different.
>
> > yep
>
> Even with this patch applied, as a stopgap solution to allow me to build
> a full featured tool on f27, I get this leftover:
>
> LINK /tmp/build/perf/perf
> /usr/bin/ld: /tmp/build/perf/libperf.a(libperf-in.o): relocation R_X86_64_32S against symbol `inat_primary_table' can not be used when making a shared object; recompile with -fPIC
> /usr/bin/ld: final link failed: Nonrepresentable section on output
> collect2: error: ld returned 1 exit status
>
>
> Looking at the Intel PT bits now...

Nevermind, I did a full rebuild and this is not there anymore, some
build artifact with that file :-\

- Arnaldo