我正在尝试链接最初由两个不同的汇编程序创建的目标文件。我们有一些遗留的汇编代码,这些代码使用 68332 处理器的旧 MRI 汇编器编译成目标文件。我们正在使用 GNU Binutils m68k v2.24 开发一个新的应用程序。我们想使用由旧汇编程序构建的原始目标文件而不作任何更改。我已经配置了我们的构建环境来做到这一点。由于历史原因,我们的构建环境链接到三种输出格式:Srecord、ieee 和 ELF。当我运行时,Srecord 和 ieee 格式成功且没有错误。但是,对于 ELF 输出格式,我收到以下错误:
m68k-elf-ld:无法合并文件的目标特定数据
因此,不会创建 Elf 文件。
我首先尝试了解此错误消息可能意味着什么,但我无法理解。如果有人知道 GNU Binutils ld 文档足以指出错误定义的定义位置,我将不胜感激。
我实际上已经加载了我们的目标并运行了 Srecord 输出。它似乎像以前一样通过了许多测试,因此它似乎在某种程度上正在运行。
看起来我们的旧目标文件可能是 coff 格式的。我猜这就是问题所在。有没有办法将 coff 文件转换为 ELF 格式?
提前感谢您的任何支持。