在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5746|回复: 3

[求助] 关于ggc mips 交叉编译

[复制链接]
发表于 2011-4-21 10:23:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
我接触编译器的时间不长,请教各位大神编译完成后生成了指令的汇编码,但是这是这些汇编是从哪里开始的?
a0020004 <_start>:、


a002009c <zerobss>:
。。。
a0020104 <init>:


a002016c <_exit>:


a0020190 <__do_global_dtors_aux>:



a0020250 <frame_dummy>:


a00202b4 <main>:



a0020340 <__do_global_ctors_aux>:


a0020398 <atexit>:



a00203ac <exit>:


a00203ec <__register_exitproc>:


a0020510 <__call_exitprocs>:
。。。




这些标识是什么意思呢?我要是想了解编译后的代码每一段是什么意思,有什么资料么。。。
在这里先谢谢各位大神了
 楼主| 发表于 2011-5-17 11:12:46 | 显示全部楼层
怎么没人顶啊,自己顶个
发表于 2011-7-28 11:25:31 | 显示全部楼层
晕,你也不说说你的环境;如果是MIPS的话会从BFC0_0000开始的;但是看你的这个反汇编,应该不是BOOT的代码吧,应该是一个APP的代码,这就要看你的LOAD的指令了,他会指定跳转的地址;如果是ELF文件,应该是从_START开始的,可以看看你的LD脚本中,会指定你的入口函数的;
 楼主| 发表于 2011-10-10 21:34:54 | 显示全部楼层
回复 3# jm2000


    你好:
        我上面贴出来的是gcc mips 交叉编译工具链把c语言反汇编出来的汇编代码。
454   4007f0:       8fbf0018        lw      ra,24(sp)
455   4007f4:       03200008        jr      t9
456   4007f8:       27bd0020        addiu   sp,sp,32
457   4007fc:       8fbf0018        lw      ra,24(sp)
458   400800:       00000000        nop
459   400804:       03e00008        jr      ra
460   400808:       27bd0020        addiu   sp,sp,32
461   40080c:       00000000        nop
462
463 00400810 <main>:
464   400810:       3c1c0005        lui     gp,0x5
465   400814:       279c8cd0        addiu   gp,gp,-29488
466   400818:       0399e021        addu    gp,gp,t9
467   40081c:       27bdff50        addiu   sp,sp,-176
468   400820:       afbf00a4        sw      ra,164(sp)
469   400824:       afbe00a0        sw      s8,160(sp)
470   400828:       e7b400a8        swc1    $f20,168(sp)
471   40082c:       e7b500ac        swc1    $f21,172(sp)
472   400830:       03a0f021        move    s8,sp
473   400834:       afbc0010        sw      gp,16(sp)
474   400838:       24020005        li      v0,5

        我们现在用的gcc mips交叉编译工具是r3000的。现在的主要问题用这个编译器的时候,通用寄存器中的一部分寄存器是需要初始化的(gp,sp,t9)。我们没能找到初始化的数据是什么。 mips代码一般是从start开始的吗??
         我qq是286194066。能不能加下我qq。我想qq向你请教下关于编译器的问题。谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-24 01:43 , Processed in 0.024943 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表