[arnm-elf-objdump] Can't use two -M flags for disassembler (-Mforce-thumb and -Mreg-names-raw)

Vincent Rubiolo vincent.rubiolo@st.com
Mon Jul 14 14:48:00 GMT 2003


Hello,

Sorry for the delay.
I am using binutils 2.14 and also a snapshot from the 19th of June.

The problem arises when I try to inspect THUMB code generated by ADS 
(interworking enabled). I have to use -Mforce-thumb, otherwise everything is 
seen as ARM code.
Here are the outputs (from a C file compiled as THUMB):


% arm-elf-objdump -d ADS_file -Mforce-thumb
  	1002444:       b510            push    {r4, lr}

% arm-elf-objdump -d ADS_file -Mforce-thumb -Mreg-names-raw
	1002444:       2400b510        strcs   r11, [r0], -#1296

The first one is correct.
Pb then, as it seems that the -Mreg-names-raw turned off the -Mforce-thumb 
option on the second attempt.


Also, on ARM code, it works just as you stated:
% arm-elf-objdump -d ADS_file
	1000150:       e1a0f00c        mov     pc, ip

% arm-elf-objdump -d ADS_file -Mreg-names-raw
	1000150:       e1a0f00c        mov     r15, r12

% arm-elf-objdump -d ADS_file -Mreg-names-raw -Mforce-thumb
	1000150:       e1a0f00c        blx     100c494 <$b+0x36>


Hope that clarify the situation. Thing is I am operating the opposite way 
(looking at THUMB code).

Regards,

Vincent


nickc@redhat.com wrote:

> Hi Vincent,
> 
> 
>>This may be very stupid but I am unable to use both flags
>>-Mreg-names-raw and -Mforce-thumb at the same time (arm-elf-objdump)
> 
> 
> Which version of binutils are you using ?
> 
> It appears to work for me (using the current CVS sources and the 2.14
> release):
> 
>   % objdump -d mov.o
>  
>      0:   e1a0e00f        mov     lr, pc
> 
>   % objdump -d -Mreg-names-raw nop.o
>  
>      0:   e1a0e00f        mov     r14, r15
> 
>    % objdump -d -Mreg-names-raw -Mforce-thumb nop.o
>  
>      0:   e00f            b       22 <fred+0x22>
>      2:   e1a0            b       346 <fred+0x346>
>  
> Cheers
>         Nick
> 



More information about the Binutils mailing list