valgrindを実行すると、空のmain関数でも以下のようなエラーが報告される場合があるが、リンクしてるライブラリ内でのエラーなので無視したい。
==12059== ERROR SUMMARY: 7 errors from 7 contexts (suppressed: 0 from 0)
==12059==
==12059== 1 errors in context 1 of 7:
==12059== Conditional jump or move depends on uninitialised value(s)
==12059== at 0x400AF37: (within /lib/ld-2.11.3.so)
==12059== by 0x40038C3: (within /lib/ld-2.11.3.so)
==12059== by 0x4014A76: (within /lib/ld-2.11.3.so)
==12059== by 0x4001422: (within /lib/ld-2.11.3.so)
==12059== by 0x4000AF7: (within /lib/ld-2.11.3.so)
==12059== by 0x0: ???
==12059== by 0x7FF000916: ???
対応方法
通常は単にvalgrindパッケージをアップデートするだけでよい。
apt-get install valgrind
それでもだめなら以下をみてsupp
ファイルを書く。
説明
valgrindはsupp
ファイルを記述することで、特定の条件のエラーを抑制することができる。
debianパッケージから入れたvalgrindであれば、ld
やlibc
等の主要なものに関しては/usr/lib/valgrind/
以下であらかじめ抑制されるようになっている。
この設定はオブジェクトファイルのバージョンに依存しているので、システムをアップデートしたりするとはずれてしまう場合がある。