【发布时间】:2009-07-01 11:39:44
【问题描述】:
我正在尝试使用 gcc 3.4.6 和 它链接到静态链接的 c .a 和 .o 文件。 请注意,它使用路径“/usr/ccs/bin/ld”中的 Sun ld
在链接时我得到一长串符号和以下错误
ld: fatal: relocations remain against allocatable but non-writable sections
collect2: ld returned 1 exit status
然后我尝试将 -z textoff 选项传递给 ld 来构建它。但我得到以下错误
ld: fatal: option -ztextoff and -ztext are incompatible
ld: fatal: Flags processing errors
有没有其他方法我不需要重新编译 gcc 并且仍然修改传递给 ld 的选项。
【问题讨论】:
-
我想,我刚刚找到了一种方法。 gcc 通常使用“specs”文件将传递给 gcc 通用接口的选项转换为底层汇编器和链接器的选项。在 gcc 3.4.6 中有一个选项,我们可以传递我们自己的“specs”文件。所以我所做的是,我复制了原始文件并对其进行了修改,而不是将 -ztext 选项传递给 sun 链接器。我怀疑这是正确的方法,但它解决了现在的目的,我可以继续我的工作,直到我得到正确配置的 gcc。查询仍然开放以获得更好或更正确的解决方案。