BFD:矮人错误:使用 GNU 4.7.2 使用 HPCToolKit 分析 openmp 程序时

Posted

技术标签:

【中文标题】BFD:矮人错误:使用 GNU 4.7.2 使用 HPCToolKit 分析 openmp 程序时【英文标题】:BFD: Dwarf Error: while profiling openmp program with HPCToolKit using GNU 4.7.2 【发布时间】:2013-03-21 20:01:16 【问题描述】:

我想使用 HPCToolkit 工具分析 openMP 程序。

我已经使用 GNU 4.7.2 编译器安装了 hpctoolkit-externals-5.3.2-r3950 和 hpctoolkit-5.3.2-r3950(来自网站的最新 tarball 源)。

我已将 hpctoolkit 安装目录添加到我的路径中。

但是我现在在分析代码时遇到了问题 这就是我所做的: 我想分析一个带有任务的openmp程序:task_ex.c

1) gcc -fopenmp task_ex.c -o task_ex -O3

2) hpcrun ./task_ex 1024 4

3) hpcstruct task_ex

4) hpcprof -S task_ex.hpcstruct -I /home/priyanka/examples hpctoolkit-task_ex-measurements

这是我收到以下错误的时候:

消息:线图:/home/priyanka/opt/hpctoolkit-install-5.3.2/lib/hpctoolkit/ext-libs/libmonitor.so.0.0.0 BFD: Dwarf Error: found dwarf version '4',这个阅读器只处理版本 2 和 3 的信息。 BFD: Dwarf Error: found dwarf version '0',这个阅读器只处理版本 2 和 3 的信息。 BFD: Dwarf Error: found dwarf version '886', 这个阅读器只处理版本 2 和 3 的信息。 BFD: Dwarf Error: found dwarf version '38401', 这个阅读器只处理版本 2 和 3 的信息。 .......

.......

关于这个错误的含义以及如何解决这个问题的任何想法?这与binutils有关还是我没有正确编译或链接程序?

提前致谢。

【问题讨论】:

我曾经遇到过 Dwarf 版本的问题。在不了解问题的真正根源的情况下,更新 binutils 解决了我的问题。也许这值得一试…… 【参考方案1】:

看来这个帖子很老了,但是... 您可以使用 -gdwarf-2 编译(gcc)(-gdwarf-3 也适用于最新的 hpctoolkit) 然后此消息消失。

【讨论】:

以上是关于BFD:矮人错误:使用 GNU 4.7.2 使用 HPCToolKit 分析 openmp 程序时的主要内容,如果未能解决你的问题,请参考以下文章

使用BFD检测EBGP邻居

iOS 14 链接模块标志“矮人版本”:ID 具有冲突行为

配置静态路由并能使用BFD功能检测

如何使用DOS工具箱修复硬盘?10分

BFD_RELOC_64:使用 C++ 在 32 位 linux 上编译汇编器指令

CUDA 8 使用 -std=gnu++11 编译错误