Improvements and fixes for mips n32/n64 relocations

Eric Christopher echristo@redhat.com
Fri Apr 11 00:07:00 GMT 2003


On Tue, 2003-04-08 at 03:19, Alexandre Oliva wrote:
> We used to generate really lousy code for n32/n64.  For example, we
> used to emit a constant `addi reg,reg,0' after a GOT_DISP load that
> served no purpose at all.  We used to waste GOT entries by not using
> GOT_PAGE/GOT_OFST properly, and not placing GOT_OFST in the load or
> store instruction that causes us to use this addressing mode.  The
> code generated for -xgot in n32/n64 was completely broken.  We used to
> not decay GOT_PAGE/GOT_OFST to GOT_DISP/addend on symbols that could
> be overridden in other shared libraries or in the main executable.  We
> used to emit addu/addiu when doing pointer arithmetics on n32, unlike
> the recommended add/addi in the MIPSpro N32 Handbook: ``PTR_ADDU expands
> to addu for o32 and to add for n32.''
> 
> Ok to install?
> 

Yes with the change I noticed offline and the one that I missed that cgd
spotted and the changes you noticed :)

-eric

> 
> ______________________________________________________________________
-- 
Eric Christopher <echristo@redhat.com>



More information about the Binutils mailing list