相关疑难解决方法(0)

与-static链接时的Valgrind错误 - 为什么?

我有一个测试驱动程序链接到我写的库.该库使用autotools,因此它生成存档(.a文件)和动态库(.so).

当我用"g ++ -static"链接我的驱动程序时,可能会链接到.a,valgrind会反复抱怨"有条件的跳转或移动取决于未初始化的值".第一次失败发生在__pthread_initialize_minimal中的main之前.

当我没有静态链接,可能与.so链接时,我没有得到任何valgrind投诉.

有谁知道为什么?valgrind不适用于-static吗?

更新:我甚至无法发布我的驱动程序的简化版本,因为它链接到一个我无法削减的非常大的库,但我注意到所有程序中最简单的

int main()
{
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

与-static链接并从valgrind运行时出错:

==15449== Use of uninitialised value of size 8
==15449==    at 0x40B0F3: exit (in /home/jdgordo/src/t)
Run Code Online (Sandbox Code Playgroud)

我应该包括我在64位Redhat 5.5上运行.

c++ valgrind

9
推荐指数
1
解决办法
3066
查看次数

标签 统计

c++ ×1

valgrind ×1