mips-gcc交叉编译链接时.rel.dyn段的问题?

wbcuc 2009-06-19 11:05:08
大虾好,在用mips-linux-gnu-gcc在linux系统上做交叉编译时生成的段如下所示,但是用gcc编译时还会生产一个.rel.dyn段,这是一个与重定位有关的段,现在我需要交叉编译时也能生成这个段,这样把生成的可执行文件在目标机上运行时才不会受困于绝对地址,问题是mips gcc编译后没有这个段,不知道该如何生成或者是mips gcc编译的结果有另外可重定位的方法,谁能给点建议,谢谢!
Section Headers:
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .reginfo MIPS_REGINFO 80400094 000094 000018 18 A 0 0 4
[ 2] .text PROGBITS 804000b0 0000b0 005540 00 AX 0 0 16
[ 3] .rodata PROGBITS 804055f0 0055f0 0000b0 00 A 0 0 16
[ 4] .data PROGBITS 804156a0 0056a0 000010 00 WA 0 0 16
[ 5] .got PROGBITS 804156b0 0056b0 000068 04 WAp 0 0 16
[ 6] .sbss NOBITS 80415718 005718 000004 00 WAp 0 0 4
[ 7] .bss NOBITS 80415720 005718 000120 00 WA 0 0 16
[ 8] .comment PROGBITS 00000000 005718 00009b 00 0 0 1
[ 9] .gnu.attributes LOOS+ffffff5 00000000 0057b3 000010 00 0 0 1
[10] .mdebug.abi32 PROGBITS 00000050 0057c3 000000 00 0 0 1
[11] .pdr PROGBITS 00000000 0057c4 000520 00 0 0 4
[12] .shstrtab STRTAB 00000000 005ce4 000074 00 0 0 1
[13] .symtab SYMTAB 00000000 005fb0 0004a0 10 14 18 4
[14] .strtab STRTAB 00000000 006450 000318 00 0 0 1
...全文
449 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ivan240 2011-04-08
  • 打赏
  • 举报
回复
需要在 链接选项增加 -pie ,表示链接生成 位置无关可执行程序,这样的话,就可以生成 .rel.dyn段
loveisbug 2009-06-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wbcuc 的回复:]
目标平台是Mips架构,以ARM为例,达人给个编译参数的示例吧。。。
[/Quote]

什么叫“Mips架构,以ARM为例”?
老邓 2009-06-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wbcuc 的回复:]
抱歉,各位给的链接都是交叉编译工具的制作过程
不是我问题说的。。
[/Quote]
你发到Linux版块的开发区吧,这里Win下开发的占绝大多数。
我只做过目标平台是Windows的交叉编译。
lingyin55 2009-06-19
  • 打赏
  • 举报
回复
http://hi.baidu.com/realxfliu/blog/item/000241e7a0a24a2ab8382002.html
wbcuc 2009-06-19
  • 打赏
  • 举报
回复
目标平台是Mips架构,以ARM为例,达人给个编译参数的示例吧。。。
老邓 2009-06-19
  • 打赏
  • 举报
回复
目标平台是Windows?
不同平台,GCC的编译参数不同。
wbcuc 2009-06-19
  • 打赏
  • 举报
回复
抱歉,各位给的链接都是交叉编译工具的制作过程
不是我问题说的。。

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧