Add valgrind suppression for pg_atomic_init_u64.
pg_atomic_init_u64 (indirectly) uses compare/exchange to guarantee atomic writes on platforms where compare/exchange is available, but 64bit writes aren't atomic (yes, those exist). That leads to a harmless read of the initial value of variable.
This commit is contained in:
parent
a15d387c22
commit
6c878edc1d
|
@ -104,3 +104,16 @@
|
||||||
|
|
||||||
fun:IsBinaryCoercible
|
fun:IsBinaryCoercible
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Atomic writes to 64bit atomic vars uses compare/exchange to
|
||||||
|
# guarantee atomic writes of 64bit variables. pg_atomic_write is used
|
||||||
|
# during initialization of the atomic variable, hat leads to an
|
||||||
|
# initial read of the old, undefined, memory value. But that's just to
|
||||||
|
# make sure the swap works correctly.
|
||||||
|
{
|
||||||
|
uninitialized_atomic_init_u64
|
||||||
|
Memcheck:Cond
|
||||||
|
fun:pg_atomic_exchange_u64_impl
|
||||||
|
fun:pg_atomic_write_u64_impl
|
||||||
|
fun:pg_atomic_init_u64_impl
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue