MIPS gas relaxation still doesn't work

Paul Koning pkoning@equallogic.com
Wed Oct 16 07:01:00 GMT 2002


>>>>> "Daniel" == Daniel Jacobowitz <drow@mvista.com> writes:

 Daniel> On Tue, Oct 15, 2002 at 01:56:47PM -0700, Eric Christopher
 Daniel> wrote:
 >> > While I agree with you in theory, how would GCC handle
 >> user-written > asm("") blocks without an assemble-time jump
 >> relaxation of some sort?
 >> > 
 >> 
 >> Treat them as regions that cannot be scheduled across I believe.

 Daniel> No, I mean the problem that Maciej raised: how can we even
 Daniel> pretend to know their length?  They're a black box; we don't
 Daniel> really want to assume that long jumps are necessary over one,
 Daniel> but we don't know how big they are.

If you write them with nomacro in effect, you can...  Doesn't gcc use
the rule that the length of an asm is the length attribute defined in
the md file, multiplied by the number of statements in the asm string?
Actually, even with macros that works if the md file specifies the
longest macro expansion as its length, but that's rather pessimistic.

	paul



More information about the Binutils mailing list