liblzma: Make Valgrind happier with optimized (gcc -O2) liblzma.
When optimizing, GCC can reorder code so that an uninitialized value gets used in a comparison, which makes Valgrind unhappy. It doesn't happen when compiled with -O0, which I tend to use when running Valgrind. Thanks to Rich Prohaska. I remember this being mentioned long ago by someone else but nothing was done back then.
This commit is contained in:
parent
f4c95ba94b
commit
14115f84a3
|
@ -541,7 +541,11 @@ lzma_lz_encoder_init(lzma_next_coder *next, const lzma_allocator *allocator,
|
||||||
next->coder->lz.code = NULL;
|
next->coder->lz.code = NULL;
|
||||||
next->coder->lz.end = NULL;
|
next->coder->lz.end = NULL;
|
||||||
|
|
||||||
|
// mf.size is initialized to silence Valgrind
|
||||||
|
// when used on optimized binaries (GCC may reorder
|
||||||
|
// code in a way that Valgrind gets unhappy).
|
||||||
next->coder->mf.buffer = NULL;
|
next->coder->mf.buffer = NULL;
|
||||||
|
next->coder->mf.size = 0;
|
||||||
next->coder->mf.hash = NULL;
|
next->coder->mf.hash = NULL;
|
||||||
next->coder->mf.son = NULL;
|
next->coder->mf.son = NULL;
|
||||||
next->coder->mf.hash_count = 0;
|
next->coder->mf.hash_count = 0;
|
||||||
|
|
Loading…
Reference in New Issue