Learn C the Hard Wayを進めており、valgrindのセクションを開始しています。
出力例の抜粋は次のとおりです。
==3082== Use of uninitialised value of size 8
==3082== at 0x4E730EB: _itoa_word (_itoa.c:195)
==3082== by 0x4E743D8: vfprintf (vfprintf.c:1613)
==3082== by 0x4E7E6F9: printf (printf.c:35)
==3082== by 0x40052B: main (ex4.c:11)
私の出力は次のようになりますが:
==2362== Use of uninitialised value of size 4
==2362== at 0x40885CB: _itoa_word (in /lib/libc-2.16.so)
==2362== by 0x408C13E: vfprintf (in /lib/libc-2.16.so)
==2362== by 0x4092AE: printf (in /lib/libc-2.16.so)
==2362== by 0x4061604: (below main) (in /lib/libc-2.16.so)
Valgrindの出力を一致させるにはどうすればよいですか?2〜4行目についてはそれほど心配していませんが、最後の行が実際に対応していることを望んでいます(とにかく関連していると思います)。
私は次のようにex4を構築しました:
$ make ex4
cc -Wall -g ex4.c -o ex4
** Some warnings here **
そして、次のようにvalgrindを実行しました:
$ valgrind ./ex4
Arch linux、GCC4.7.1でソースからビルドされたvalgrind3.7.0を実行していますが、GLIBC 1.6を使用しているため、構成ファイルを変更して次のコードを追加しました。
2.16)
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.16 family" >&5
$as_echo "2.16 family" >&6; }
$as_echo "#define GLIBC_2_16 1" >>confdefs.h
DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
;;
前のケース;;
と一致したのすぐ下。2.14)