[patch] MIPS gas problems with gcc's explicit relocs

Maciej W. Rozycki macro@ds2.pg.gda.pl
Fri Jun 11 23:38:00 GMT 2004


On Fri, 4 Jun 2004, Paul Koning wrote:

> For example, if I use an "m" constraint, I'd expect the corresponding
> %x operand to become an offset and base register pair with a valid
> offset and the base register loaded with the rest of the address.

 Note that if you absolutely require a machine-expressable address, then
you can use the "R" constraint to limit the addresses emitted by gcc to
these being a sum of a register and a signed 16-bit displacement.  It used
not to work reliably with 2.95.x (you could get an "impossible constraint
in `asm'" error), but it appears to work fine now.  With the "m"  
constraint gcc emits any address acceptable by gas including these
requiring multiple instructions to load.

-- 
+  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