This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Improvements and fixes for mips n32/n64 relocations
- From: Eric Christopher <echristo at redhat dot com>
- To: Alexandre Oliva <aoliva at redhat dot com>
- Cc: binutils at sources dot redhat dot com
- Date: 10 Apr 2003 17:07:01 -0700
- Subject: Re: Improvements and fixes for mips n32/n64 relocations
- Organization:
- References: <or3cktfg0u.fsf@free.redhat.lsd.ic.unicamp.br>
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 at redhat dot com>