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

Paul Koning pkoning@equallogic.com
Fri Jun 4 16:41:00 GMT 2004


>>>>> "Thiemo" == Thiemo Seufer <ica2_ts@csv.ica.uni-stuttgart.de> writes:

 Thiemo> Eric Christopher wrote:
 >> > - Work around the problem by not using "m" constraints for (d)la
 >> in > the inline assembler, that is instead of
 >> > 
 >> > asm("dla\t%0,%1" : "=r" (result) : "m" (foo));
 >> > 
 >> > something like
 >> > 
 >> > asm("dla\t%0,foo" : "=r" (result));
 >> 
 >> I like this I think the most. It fits with what people are trying
 >> to do with the la instruction, i.e. load an address for a symbol
 >> that they know.

 Thiemo> I don't, because it means "m" can't be used for 32bit Code
 Thiemo> any more without the risk of silently breaking the relocation
 Thiemo> handling. It results in reordered code even for

 Thiemo> __asm__ __volatile__ (".set noreorder\n ...

But surely it is a BUG if reordering is done (silently) when
"noreorder" is in effect.

	    paul



More information about the Binutils mailing list