【问题标题】:how to stop objcopy from padding sections如何从填充部分停止 objcopy
【发布时间】: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_fileobjdump -h new_file 的信息是否会带来任何启发?我想知道其中一个部分是否标记为 ALLOC 和 !LOAD 或其他内容(因此它实际上在原始文件中并没有占用太多空间)但正在被 objcopy... 扩展

标签: linux bash objcopy


【解决方案1】:

解决了! 问题是这些部分是一个接一个的,但不在同一段。 一个在 W E 段中,一个在 R W 段中。 这就是为什么 objcopy 搞砸了。

【讨论】:

    猜你喜欢
    • 2017-10-04
    • 2017-12-09
    • 1970-01-01
    • 2020-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多