【发布时间】:2012-06-26 19:16:07
【问题描述】:
我在 bash (ubuntu linux) 上使用 objcopy,并尝试使用以下命令从 ELF 文件中复制 2 个部分:
objcopy -j .section1 -j .section2
问题是 objcopy 在部分之间添加了一些填充。有没有办法(标志?)可以阻止 objcopy 填充部分?
这些部分在文件中一个接一个地放置,因此不需要任何类型的填充......
【问题讨论】:
-
填充多少?由于部分对齐需要或其他原因可能需要它 - 不确定 ELF 规范对此有何规定......
-
很多填充。部分的大小是 8293 字节,objcopy 的输出是 3192837 字节....
-
好吧,这不仅仅是填充......比较来自
objdump -h orig_file和objdump -h new_file的信息是否会带来任何启发?我想知道其中一个部分是否标记为 ALLOC 和 !LOAD 或其他内容(因此它实际上在原始文件中并没有占用太多空间)但正在被objcopy... 扩展