【发布时间】:2019-08-07 02:02:27
【问题描述】:
我正在研究 OpenMP 的实现细节。我正在尝试查看 libgomp.so 的源代码。我有gcc 的源代码,我知道如何构建它。但是我想在libgomp.so中添加调试符号,这样,下面的命令就生效了。
nm libgomp.so
所以我刚刚生成了Makefile 来使用configure 构建gcc。我认为向 libgomp.so 添加调试符号与 libgomp 目录(gcc 的子目录)内的Makefile.in、Makefile.am 有关。但是文字太长了,标志太多了。我想知道在哪里修改。请帮我弄清楚。
其实我是这个系统的新手。 Makefile我研究了好几遍,但Makefile.in、Makefile.am、configure等是我这次第一次遇到的。
我刚刚在libgomp.info 找到了候选人,有一些环境变量的解释。有
* GOMP_DEBUG:: Enable Debugging output
但我不知道如何使用它。
【问题讨论】:
-
nm 无论是否存在调试符号都应该工作,因为动态链接器需要查看符号名称才能进行任何链接...所以尝试在可执行文件上从 ldd 开始,看看哪个正在使用 libgomp.so,然后使用带有 nm 的完整文件名。当然,您还可以查看 LLVM OpenMP 运行时...
-
@JimCownie 感谢您的回答。我来看看 LLVM。
标签: gcc makefile openmp software-distribution libgomp