This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: binutils patches for Cirrus/arm9e/maverick support
- To: Aldy Hernandez <aldyh at redhat dot com>
- Subject: Re: binutils patches for Cirrus/arm9e/maverick support
- From: Richard Earnshaw <rearnsha at arm dot com>
- Date: Thu, 11 Oct 2001 10:44:25 +0100
- cc: binutils at sources dot redhat dot com, Nick Clifton <nickc at cygnus dot com>, Richard dot Earnshaw at arm dot com
- Organization: ARM Ltd.
- Reply-To: Richard dot Earnshaw at arm dot com
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.