This is the mail archive of the binutils@sourceware.cygnus.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Patch to change ARM register name set



nickc@cygnus.com said:
>   Does anyone have any comments on the patch below ?  It changes the
>   ARM disassembler so that by default it uses the APCS register naming
>   scheme, rather than the ISA register naming scheme.  It also
>   introduces a new command line switch to objdump: -M or
> --target-data,
>   which takes an argument which can be processed in a target specific
>   manner.  If the target is the ARM then the text of the -M switch is
>   checked to see if it is a register name set selector
>   ("standard_names" or "apcs_names") and if so it chooses the
>   appropriate name set. 


Personally, I can't stand the APCS register names.  They seem illogical to 
me.  Added to this is the fact that certain APCS options are supposed to 
change the bindings of some names: for example r9 is sometimes known as 
either sb or v6 depending on the options supplied to the assembler; 
similarly r10 can be either sl or v7 (I think I even saw a situation once 
where r10 was called v6 because r9 was being used for sb, but r10 was not 
being used for sl).  In other words, it isn't even obvious if such names 
are static.

Thumb uses yet another set of aliases for some of these registers, due to 
the restrictions on accessing the high registers from many instruction 
formats.

Finally, I thought that there was already a command built into gdb that 
could change the register names to the apcs variant if desired; this can 
be put into an init script, so I see little point in the need for a 
command-line option to do this as well.

If we must add this, can't we make it part of the configuration options, 
then a target which uses the current convention doesn't change under 
people's feet.

Richard.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]