linux arm compiler,arm-linux-gnueabi compiler options

I am using, arm-linux-gnueabi-gcc to compile C programs for ARM processor in Linux. However, I am not sure what is the default ARM mode for which it compiles.

For example, for the C code:

test.c

unsigned int main()

{

return 0x1ffff;

}

arm-linux-gnueabi-gcc -o test test.c

now, when I look at the disassembly of main() function with objdump, I can see:

arm-linux-gnueabi-objdump -d test

:

push {r7}

add r7, sp, #0

movw r3, #65535 ; 0xffff

movt r3, #1

mov r0, r3

mov sp, r7

pop {r7}

bx lr

it appears that this is disassembly for Thumb mode of ARM (because of the push instruction).

How can I display the disassembly as follows:

.sect ".text"

.global _fn

_fn: MOVW A1,#65535

MOVT A1,#1

BX LR

or this

.sect ".text"

.global _fn

_fn: LDR A1, CON1

BX LR

.sect ".text"

.align 4

CON1: .word 0x1ffff

I saw this example here:

however, I am unable to view the disassembly the way it is displayed there.

Thanks.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值