bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug binutils/10288] "objdump -D --target=binary -m arm7tdmi" shows non-


From: chris at seberino dot org
Subject: [Bug binutils/10288] "objdump -D --target=binary -m arm7tdmi" shows non-ARM7TDMI instructions
Date: 2 Jul 2009 17:28:39 -0000

------- Additional Comments From chris at seberino dot org  2009-07-02 17:28 
-------
(In reply to comment #27)
> Subject: Re:  "objdump -D --target=binary -m arm7tdmi"
>  shows        non-ARM7TDMI instructions
> 
> Hi Chris,
> 
> > More importantly, it looks like you reintroduced DSP instructions and
> > instructions for later CPU architectures that don't belong in ARM7TDMI 
> > like...
> > mrrc, blx and ldc2.
> 
> Are you sure ?  I could not reproduce these.

Try these...

4c585ee5        mrrcmi  14, 14, r5, r8, cr5
fd37a04f        ldc2    0, cr10, [r7, #-316]!
fabf5236        blx     0xfefd49dc

(By the way, I didn't apply your latest patch tc0arn.c.patch because it looked
like you already applied it to latest iteration of 2.19.51.)

> > There was also some unidentifiable instructions I didn't know what to make 
> > of
> > like these...
> > usat, movw, vdupcs.8 and fldmdbxmi.
> 
> According to the "ARMv7-M Architecture Application Level Reference 
> Manual" the first one is:
> 
>    USAT
>    Unsigned Saturate saturates an optionally-shifted signed value
>    to a selected unsigned range.
>    The Q flag is set if the operation saturates.
> 
>    Encoding T1          ARMv6T2, ARMv7
>    USAT<c> <Rd>,#<imm5>,<Rn>{,<shift>}
> 
> MOVW appears to be an alias for the ARM V6T2 16-bit immediate register 
> load instruction:  MOV[WT]{cond} Rd, #<imm16>.

I wonder if you are making the same mistake I used to.  ARM version numbering is
confusing because there are architecture versions and architecture
*implementation* versions.  ARM7TDMI is an implementation of the ARMv4T
architecture.  The "7" in ARM7TDMI might make one think it support ARMv6 and
ARMv7 but it does NOT.  This is because the architecture version is the old
ARMv4T.  Hence, the above ARMv6 and ARMv7 instructions shouldn't be there form
-m arm7tdmi.

Clear?

P.S. I'm committed to hanging in there until this is as right as you are willing
to make it.  I appreciate all your help.  


-- 


http://sourceware.org/bugzilla/show_bug.cgi?id=10288

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]