【问题标题】:gcc ignores the -Wl,--dynamic-linker switchgcc 忽略 -Wl,--dynamic-linker 开关
【发布时间】:2011-05-27 16:10:42
【问题描述】:

我正在尝试使 --dynamic-linker 选项与 CodeSourcery 的 ARM 交叉工具链一起使用。但是 gcc 似乎忽略了它,并且从未在共享库的 ELF 中添加解释器段。我缺少什么来完成这项工作?

【问题讨论】:

  • 您能介绍一下您正在使用的完整命令行吗?
  • 另外,您的链接描述文件中有.interp 指令吗?
  • @Martin:什么是链接描述文件和'.interp'指令?
  • @Martin:我发现了链接描述文件是什么,但它不包含 .interp 指令。

标签: gcc linker arm cross-compiling elf


【解决方案1】:

我怀疑 gcc 忽略了这个选项。在编译器命令行中添加-v,以验证该选项是否确实传递给了链接器。

更有可能是您错误地使用了该选项。 --dynamic-linker 正在接受 =file 参数,而你没有提到你正在传递一个参数。

编辑:正如您所发现的,您的链接描述文件中没有 .interp 部分。但是,您应该 - 查看this example

【讨论】:

  • 感谢您的帮助。不幸的是,开关到达了链接器。我有另一个 -rpath 开关成功进入二进制文件,但 --dynamic-linker 失败。编辑:是的,我也传递了“文件”部分,否则命令不会执行
  • 我认为这个问题的措辞令人困惑:gcc 确实 not 忽略该标志;显然是链接器无法处理它。
猜你喜欢
  • 2022-09-25
  • 1970-01-01
  • 1970-01-01
  • 2011-02-17
  • 1970-01-01
  • 1970-01-01
  • 2012-05-15
  • 2018-04-16
  • 1970-01-01
相关资源
最近更新 更多