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

From: Jiri Olsa
Date: Thu Nov 30 2017 - 05:09:00 EST


On Wed, Nov 29, 2017 at 05:00:19PM -0300, Arnaldo Carvalho de Melo wrote:
> 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 :-\

I keep posponing this fix.. maybe I should update to F27 ;-)

I'll send new version soon

jirka