[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