世の中、debian/ssl関連で大騒ぎっぽい。
それはおいといて、debian-etch でvalgrindを実行すると、
libpthread-0.10.soの中でメモリリークのエラーが出る。
(注:多分、自分の環境だけ。他の人は多分出ない、に違いない)
まぁいいやっていうことでほっといたんだけど、無視するようにしてみた。
valgrindでチェック対象からはずすには--suppressionsオプションを使用する。
$ valgrind --suppressions=suppファイル名 ターゲット
なんてなふうに指定する。
suppファイルは、/usr/lib/valgrind/*以下にいろいろあるのだが、
いい感じのものがデフォルトで入っていない(この時点でなんかおかしい・・・?)
ということで、/usr/lib/valgrind/*のファイルを参考にsuppファイルを作成した。
以下suppファイルの内容。
{
Debian libpthread hack - pthread_initialize_minimal
Memcheck:Leak
fun:calloc
obj:/lib/ld-2.3.*.so
obj:/lib/ld-2.3.*.so
fun:_dl_allocate_tls
fun:__pthread_initialize_minimal
}
{
Debian libpthread hack - pthread_initialize_minimal2
Memcheck:Leak
fun:memalign
obj:/lib/ld-2.3.*.so
fun:_dl_allocate_tls
fun:__pthread_initialize_minimal
}
あとは、~/.valgrindrcに
--suppressions=上記で作成したsuppファイル名
を指定して完了。
これで余計なエラーが出なくなった。
--
追記
ちなみにpthreadのメモリリークエラーが出てしまうコードは以下のとおり。
#include <stdio.h>
int
main()
{
return 0;
}
・・・。
.
0 コメント:
コメントを投稿