So everything in Rawhide must be compiled with -fPIC?

Jakub Jelinek jakub at redhat.com
Thu Feb 19 18:07:45 UTC 2015


On Thu, Feb 19, 2015 at 01:02:29PM -0500, Adam Jackson wrote:
> On Thu, 2015-02-19 at 18:05 +0100, Jakub Jelinek wrote:
> > On Thu, Feb 19, 2015 at 06:00:41PM +0100, Till Maas wrote:
> > > I plan to change this to 1 now in Rawhide for the upcoming Fedora 23
> > > feature:
> > > https://bugzilla.redhat.com/show_bug.cgi?id=1192183
> > > 
> > > Since I did not get any feedback from the redhat-rpm-config maintainers
> > > on the bug, do you want to comment on the change?
> > 
> > I'm opposed to that change and have said that multiple times, but if FESCO
> > ruled on this already, I guess I have to give up.
> 
> Nothing's forever, it can always be changed back.  At some level I had
> difficulty caring about the issue since amd64 is effectively already all
> PIC anyway.  Is there a reason to not want it beyond losing a register
> on an already broken ABI?

Even on x86_64 it was quite a measurable slowdown last time I've benchmarked
it, now in F22+ we might have smaller slowdown with the x86_64 copyreloc for
PIE stuff, but it hasn't been benchmarked yet.
The PIC register isn't the only reason for slow down, got accesses are
another, relative relocations that COW lots of pages another, instruction
sizes (%rip) vs. non-PC relative another.
On i?86 the slowdown is of course much more significant, then we have
various other arches like arm, aarch64, ... where we probably don't have
benchmark data.  And x86_64 is right now the only target with copyreloc for
PIEs, so all the other arches get the additional hit of plenty got
dereferences everywhere.

	Jakub


More information about the devel mailing list