[patch] adjust libgloss addresses for 64-bit

Paul Koning pkoning@equallogic.com
Fri Apr 15 19:28:00 GMT 2005


>>>>> "Maciej" == Maciej W Rozycki <macro@linux-mips.org> writes:

 Maciej> But in principle you are right for consistency the presence
 Maciej> or the lack of the "d" prefix should imply the size of the
 Maciej> operands used as it is so for other assembly instructions.
 Maciej> So how about disabling the "wrong" macros completely?  That
 Maciej> is using as_bad() for these two "dla/la used to load..."
 Maciej> messages just below "do_la" that are currently warnings.
 Maciej> After all these load address macros are the only place where
 Maciej> non-default address calculation rules can be argued about at
 Maciej> all -- the interpretation of e.g.:

 Maciej> lh $2, 0x80000000 lh $2, 0x80000000($3) lh $2, foo +
 Maciej> 0x80000000($3) lh $2, foo + 0xc000000080000000($3)

One answer would be to use an implicit DLA for N64, and LA otherwise.
I was thinking more about explicitly written LA vs. DLA.

All this demonstrates once again that the whole built-in macro stuff
in the MIPS assembler was a design blunder from day one.  Sigh.

Fortunately, GCC no longer uses any of this...

   paul



More information about the Newlib mailing list