This is the mail archive of the binutils@sourceware.org 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]
Other format: [Raw text]

RE: objdump's ARM instruction names messed up in latest versions?


> ARM has a weird way of naming instructions that was adhered to in
> objdump version
> 2.17 but seems to have gotten messed up in 2.19.1 (on Ubuntu 9.04 with
> 2.19.1-multiarch)
> 
> I'm referring to the position of the "condition codes".

You might want to look up the bit on condition codes in unified assembler
syntax in the ARM architecture reference manual. As Daniel suggests try
using .syntax unified in your assembly code to allow such assembly source to
get accepted by the assembler.

> 
> For example, the ldrt instruction with an "eq" condition code should be
> named
> "ldreqt"
> 
> The 2.19.1 version of objdump violates this ARM convention and puts all
> condition codes at the *end*...e.g. "ldrteq".
> 
> What that intentional or is this a bug in latest objdump?


Since ldrt is your instruction you'd want a conditional ldrt to be ldrteq
rather than ldreqt . 

<begin speculation> 

ldreqt might confuse the programmer as being a variant of the ldr
instruction is what I can think of off the top of my head. With the unified
syntax you have something like <insn><conditional><width> and ARM might want
to use the value "t" for a new "width" :).

<end speculation>

This behaviour is intentional, but more knowledgeable folk could correct me
on this. 

Ramana

--
Ramana Radhakrishnan
GNU Tools
ARM Ltd. (www.arm.com)



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