由于ld中的错误,我需要从一个目标文件中复制ELF部分 到另一个。我可以将所需的部分转储到文件但问题 是objcopys' - add-section'选项需要一个二进制文件和 部分类型信息因此丢失。据我所知 我无法使用binutils设置节的类型,但我希望 我错了:)
我可以手动编辑二进制文件以设置部分类型和那个 解决了潜在的问题,但我很好奇是否存在问题 基于标准工具的解决方案。
对于好奇的潜在问题是当GNU ld链接时 没有.ARM.attributes部分的ARM对象文件(例如文件 只有一个二进制blob生活在自己的部分)它选择了一些 默认值导致它为RAM函数生成无效的胶合代码 即使包含调用的文件具有良好的.ARM.attributes 部分。唯一的解决方案(待定 https://sourceware.org/bugzilla/show_bug.cgi?id=11897)我可以来 up with是将.ARM.attributes部分添加到binary-blob对象 文件。但是,仅当.ARM.attributes部分具有类型时才有效 ARM_ATTRIBUTES。