This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: [patch] MIPS gas problems with gcc's explicit relocs
- From: "Maciej W. Rozycki" <macro at ds2 dot pg dot gda dot pl>
- To: Thiemo Seufer <ica2_ts at csv dot ica dot uni-stuttgart dot de>
- Cc: binutils at sources dot redhat dot com
- Date: Fri, 4 Jun 2004 11:05:00 +0200 (CEST)
- Subject: Re: [patch] MIPS gas problems with gcc's explicit relocs
- Organization: Technical University of Gdansk
- References: <Pine.LNX.4.55.0405281900120.7804@jurand.ds.pg.gda.pl><20040528212522.GU17309@rembrandt.csv.ica.uni-stuttgart.de><Pine.LNX.4.55.0405282326460.4045@jurand.ds.pg.gda.pl><20040528225807.GW17309@rembrandt.csv.ica.uni-stuttgart.de><Pine.LNX.4.55.0405290103560.4531@jurand.ds.pg.gda.pl><20040603185053.GQ6492@rembrandt.csv.ica.uni-stuttgart.de>
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 +