Per*_*ytt 6 linker elf binutils
由于错误,ld我需要将 ELF 部分从一个目标文件复制到另一个目标文件。我可以将所需的部分转储到文件中,但问题是该objcopy选项--add-section需要二进制文件,因此部分类型信息会丢失。据我所知,我无法使用 binutils 设置部分的类型,但我希望我错了:)
我可以手动编辑二进制文件以设置节类型并解决根本问题,但我很好奇是否有基于标准工具的解决方案。
对于好奇的人来说,潜在的问题是,当 GNUld链接没有该部分的 ARM 目标文件.ARM.attributes(例如在其自己的部分中只有一个二进制 blob 的文件)时,它会选择一些默认值,导致它甚至为 RAM 函数生成无效的胶合板当包含调用的文件有好的.ARM.attributes
部分时。我能想到的唯一解决方案(待定
https://sourceware.org/bugzilla/show_bug.cgi?id=11897.ARM.attributes )是向二进制 blob 对象文件添加一个部分。.ARM.attributes但是,只有当该部分的类型为时,这才有效ARM_ATTRIBUTES。