[patch] MIPS gas problems with gcc's explicit relocs
Thiemo Seufer
ica2_ts@csv.ica.uni-stuttgart.de
Fri Jun 4 17:59:00 GMT 2004
Paul Koning wrote:
[snip]
> Thiemo> That's not the way gcc up to 3.3 works for mips. So far, it
> Thiemo> was possible to write
>
> Thiemo> asm("ld\t%0,%1(%2)" : "=r" (foo) : "m" (bar), "r" (baz));
>
> Thiemo> and get something like
>
> Thiemo> #APP ld $2,bar($2) #NO_APP
>
> That certainly is not what I expect from the documentation. If you
> need "bar" as a displacement, then it clearly is not a memory location
> -- which is what "m" means.
I need "bar" as a symbol reference. The "m" constraint used to provide
this. ATM, there is no constraint available which actually provides the
address of a symbol.
If the new behaviour of "m" is correct and remains that way, we need a
working "p", and there's quite an amount of code to change.
Thiemo
More information about the Binutils
mailing list