[hellogcc] Re:[hellogcc] Re: [hellogcc] elf文件加载过程

  • From: horse_rivers <horse_rivers@xxxxxxx>
  • To: hellogcc@xxxxxxxxxxxxx
  • Date: Tue, 6 Nov 2012 13:49:06 +0800 (CST)


elf文件加载的对象是executable file,以segment为处理单位,即一个segment对应一个内存位置。
一个segment由一至多个section构成 


这里的segment是属性相同的section?


在加载完成后,文件中的逻辑地址会不会再次被修改为加载后的线性地址?
 



在 2012-11-06 13:30:56,"Triple Yang" <triple.yang@xxxxxxxxx> 写道:
elf格式的二进制镜像分为object file和executable file.

elf文件加载的对象是executable file,以segment为处理单位,即一个segment对应一个内存位置。
一个segment由一至多个section构成

在object file中只有section而没有segment。
另一方面,executable file中必然有segment,但也允许有section信息
直观看起来是,某些数据既属于一个section, 也属于某个segment,或者说,这个section属于该segment.

建议你看看elf specs: http://refspecs.freestandards.org/elf/elf.pdf
以及:http://en.wikipedia.org/wiki/Executable_and_Linkable_Format




在 2012年11月6日 上午9:16,horse_rivers <horse_rivers@xxxxxxx>写道:

hi,
   
 请教一下elf文件加载的相关细节:
   1.elf加载是不是按照section加载,即每一个section加载到一个内存段中。
   2.内存中分段管理和section之间有没有关系?
   
 3.elf中的每 一个section有没有加载的地址?


望不吝赐教!祝好!






--
杨勇勇 (Yang Yongyong)

Other related posts:

  • » [hellogcc] Re:[hellogcc] Re: [hellogcc] elf文件加载过程 - horse_rivers