最近在Solaris上编译一款开源软件,在最后链接阶段出了问题,导致ld程序core dump。由于没有ld程序源代码,导致完全没思路,在网上问了人才知道可以通过设置LD_OPTIONS环境变量,来了解整个链接过程。举个例子:
LD_OPTIONS=-Dfiles,detail
指定files会输出ld当前处理的文件,detail会提供更多的信息。
可以用“ld -Dhelp”命令打印每个选项的详细帮助信息。
如果想详细了解Solaris下程序的链接过程,可以参考这篇文档:Linker and Libraries Guide。