About input_scrub_next_buffer() for input_line_pointer

Ian Lance Taylor ian@wasabisystems.com
Mon Jul 19 13:39:00 GMT 2004


libra <mr924352@cs.nthu.edu.tw> writes:

> The difference is that when i add "(1,1) in front of the b (loop)", 
>  the SPACE between "b" and "(loop)" disappear.
> 
> We need the SPACE between b and (loop), in order to separate the instruction 
> and operand.
> 
> Anyone can tell me what happen?

Take a look at do_scrub_chars() in gas/app.c.  It processes the input
to eliminate redundant spaces, to simplify the instruction parsing
code.  In your case it has gotten confused by the initial "(1,1)".  It
sounds like your assembly syntax is nonstandard, and will require some
modifications in do_scrub_chars().  There are a number of other
nonstandard syntaxes--look at the various #ifdefs in that function.

Ian



More information about the Binutils mailing list