m68k reloc types

Roman Zippel zippel@linux-m68k.org
Mon Aug 16 22:21:00 GMT 2004
Hi,

On Mon, 16 Aug 2004, Andreas Schwab wrote:

> > Which PIC modifier? It actually seems to work without one.
> > So it seems "lea _GLOBAL_OFFSET_TABLE_(%pc),%a5" should work as well, 
> 
> No, it does not create a GOT.

Any got access creates the got and the load should only be created if 
there are other got accesses.

> > Ok, glibc did just answer me that question, it uses it in the startup 
> > code. Does that mean we could get rid of the separate pic register as soon 
> > as gcc knows about pc relative addressing?
> 
> 32-bit pc-relative addressing is less efficient than 16-bit pic-register
> relative addressing, both in code size and run time.

What do you mean? -fPIC creates 32bit offsets and otherwise it makes no 
difference whether an address register or the pc register is used as base 
register.

bye, Roman



More information about the Binutils mailing list