免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1862 | 回复: 0
打印 上一主题 下一主题

请教elf文件中section 的 lma & file off& 以及 &algn& 什么意思? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-17 21:58 |只看该作者 |倒序浏览
如下所示中,对于每个段:
size表示这个section的大小
vma是这个section的运行地址,运行该elf文件时这个section在内存中的位置
lma是这个section的加载地址,具体作用不清楚,貌似不是很重要,load并不是从硬盘或者其他存储设备中加载到内存中,其作用还请知道的兄弟指教
file off从字面上来看时指该section在最后生成的elf文件中的偏移地址,但是看这些section的file off项,貌似也不是这样的。不知道这些值是怎么来的,在哪里控制这个值呢?
algn是对齐的意思,是为了实现字节对齐,但是2**5、2**2、2**0是什么含义呢?

# arm-unknown-linux-gnu-objdump -h /usr/u-boot-1.3.4/u-boot
/usr/u-boot-1.3.4/u-boot:     file format elf32-littlearm
Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         0001362c  33f80000  33f80000  00008000  2**5
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .rodata       0000078c  33f9362c  33f9362c  0001b62c  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  2 .rodata.str1.1 00003c90  33f93db8  33f93db8  0001bdb8  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  3 .data         00000a94  33f97a48  33f97a48  0001fa48  2**2
                  CONTENTS, ALLOC, LOAD, DATA
  4 .u_boot_cmd   00000450  33f984dc  33f984dc  000204dc  2**2
                  CONTENTS, ALLOC, LOAD, DATA
  5 .bss          00004794  33f9892c  33f9892c  0002092c  2**2
                  ALLOC
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP