[patch] MIPS gas problems with gcc's explicit relocs
Maciej W. Rozycki
macro@ds2.pg.gda.pl
Fri Jun 4 09:05:00 GMT 2004
On Thu, 3 Jun 2004, Thiemo Seufer wrote:
> Adding some code to handle
>
> (d)la <reg>, %reloc(<sym>)
>
> isn't wrong, but probably a bit nonsensical, given that (d)la is supposed
> to do the expansion required to handle %reloc itself (for %reloc in
> %highest, %higher, %hi, %lo).
It's the same as with other macros using addresses. E.g. "lw" is
expected to do the same expansions, except that the last resulting
instruction is going to be "lw" instead of "addiu"/"daddiu" (modulo
possible instruction reordering).
> > > This would be broken syntax.
> > >
> > > <op> <reg>,<addr>
> > >
> > > loads an absolute address in a register, while
> >
> > Nope, it loads the content pointed to by addr, of which the register part
> > happens to be $zero.
>
> No, it doesn't dereference.
How can it, given I defined <op> as a memory transfer instruction for the
purpose of this discourse?
--
+ Maciej W. Rozycki, Technical University of Gdansk, Poland +
+--------------------------------------------------------------+
+ e-mail: macro@ds2.pg.gda.pl, PGP key available +
More information about the Binutils
mailing list