[PATCH 1/5] Use -fPIC instead of -fpic when generating PIC code.
Mark Wielaard
mjw at redhat.com
Tue Oct 6 11:46:33 UTC 2015
On Mon, 2015-10-05 at 23:57 +0200, Jose E. Marchesi wrote:
> > This avoids relocation overflows in sparc/sparc64 targets while
> > linking, where the reachable data using -fpic is only 4kb.
>
> I think this is OK. -fpic/-fPIC only changes things on m68k, PowerPC
> and SPARC. So the only other arch we currently support that this
> might impact is powerpc. Is there any disadvantage on that platform
> of using -fPIC instead of -fpic?
>
> I am not sure of the details in powerpc, but in RISC architectures with
> fixed-width 32-bit instructions using -fPIC usually translates into
> larger text sections, as it requires using more instructions to handle
> the GOT table offsets when compared with -fpic.
>
> For example, in SPARC -fPIC uses three instructions for each GOT
> reference, while -fpic uses just one instruction.
OK, so this only is an actual change for some 32bit architectures?
In that case I think it is fine to use -fPIC everywhere. Then only
sparc32 and ppc32 will see an actual change in code generated. Unless
someone sees a problem with that.
Thanks,
Mark
More information about the elfutils-devel
mailing list