gcc 忽略 -Wl,--dynamic-linker 开关
我正在尝试使 --dynamic-linker 选项与 CodeSourcery 的 ARM 交叉工具链一起使用。然而 gcc 似乎忽略了它,并且从未在共享库的 ELF 中添加解释器段。为了使这项工作顺利进行,我缺少什么?
I'm trying to make the --dynamic-linker option work with CodeSourcery's ARM cross toolchain. However gcc seems to ignore it, and never adds an interpreter segment in the shared library's ELF. What am I missing to make this work?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我怀疑 gcc 会忽略该选项。将
-v
添加到编译器命令行以验证该选项确实已传递给链接器。更有可能的是,您错误地使用了该选项。
--dynamic-linker
正在接受一个=file
参数,并且您没有提到您正在传递一个参数。编辑:正如您所发现的,链接器脚本中没有 .interp 部分。但是,您应该 - 请参阅此示例。
I doubt gcc ignores the option. Add
-v
to the compiler command line to verify that the option is indeed passed to the linker.More likely, you are using the option incorrectly.
--dynamic-linker
is taking a=file
argument, and you didn't mention that you are passing one.Edit: as you found out, you have no .interp section in your linker script. However, you should - see this example.