binutils patches for Cirrus/arm9e/maverick support

Richard Earnshaw rearnsha@arm.com
Thu Oct 11 02:46:00 GMT 2001


Aldy,

I've just run into another problem with trying to merge this code with my 
own.

I'm going to have to rewrite cirrus_reg_required_here, since in my new 
parser there is no single hash table containing all the registers; instead 
there is a hash table for each class of register and the assembler must 
look up the register name in the appropriate class.  Which leads to the 
above function.  There are several places where the above is called with 
CIRRUS_REGTYPE_ANY.  That wouldn't be too bad, but why on earth would an 
ARM register name be valid at the same position in the syntax as a CIRRUS 
register? and how on earth are the opcodes supposed to distinguish which 
class of register was found?  It leads me to the only conclusion that the 
parser is far to liberal with what it will accept, meaning that many 
invalid statements will be assembled without fault.

What is valid? and what isn't?

R.



More information about the Binutils mailing list