gcc忽略-Wl,--dynamic-linker开关

3

我正在尝试使用CodeSourcery的ARM交叉工具链使--dynamic-linker选项生效。然而,gcc似乎忽略了它,并且在共享库的ELF中从未添加解释器段。我需要做什么才能使它生效?


请问您能否提供您正在使用的完整命令行? - Martin v. Löwis
你的链接脚本中是否有.interp指令? - Martin v. Löwis
@Martin:链接脚本和'.interp'指令是什么? - ognian
@Martin:我已经了解了链接脚本是什么,但它不包含 .interp 指令。 - ognian
1个回答

3
我怀疑gcc没有忽略该选项。添加 -v 到编译器命令行中以验证选项是否确实传递给链接器。
更有可能的是,您在错误地使用该选项。 --dynamic-linker需要一个=file参数,您没有提到您正在传递一个。 编辑:正如您发现的那样,您的链接器脚本中没有 .interp部分。但是,您应该阅读此示例

感谢您的帮助。不幸的是,开关到达了链接器。我有另一个-rpath开关成功地进入二进制文件,但--dynamic-linker失败了。编辑:是的,我也传递了“文件”部分,否则命令不会执行。 - ognian
我认为问题的表述有些混淆:gcc并没有忽略该标志;显然是链接器未能处理它。 - Martin v. Löwis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接