1 # This is a suppression file for use with Valgrind tools. File format
3 # http://valgrind.org/docs/manual/mc-manual.html#mc-manual.suppfiles
5 # The libc symbol that implements a particular standard interface is
6 # implementation-dependent. For example, strncpy() shows up as "__GI_strncpy"
7 # on some platforms. Use wildcards to avoid mentioning such specific names.
8 # Avoid mentioning functions that are good candidates for inlining,
9 # particularly single-caller static functions. Suppressions mentioning them
10 # would be ineffective at higher optimization levels.
13 # We have occasion to write raw binary structures to disk or to the network.
14 # These may contain uninitialized padding bytes. Since recipients also ignore
15 # those bytes as padding, this is harmless.
29 socketcall.sendto(msg)
41 fun:pgstat_write_statsfiles
45 padding_XLogRecData_CRC
49 fun:XLogRecordAssemble
53 padding_XLogRecData_write
67 fun:write_relcache_init_file
71 padding_reorderbuffer_serialize
76 fun:ReorderBufferSerializeTXN
80 padding_twophase_prepare
97 # gcc on ppc64 can generate a four-byte read to fetch the final "char" fields
98 # of a FormData_pg_cast. This is valid compiler behavior, because a proper
99 # FormData_pg_cast has trailing padding. Tuples we treat as structures omit
100 # that padding, so Valgrind reports an invalid read. Practical trouble would
101 # entail the missing pad bytes falling in a different memory page. So long as
102 # the structure is aligned, that will not happen.
104 overread_tuplestruct_pg_cast
107 fun:IsBinaryCoercible
110 # Atomic writes to 64bit atomic vars uses compare/exchange to
111 # guarantee atomic writes of 64bit variables. pg_atomic_write is used
112 # during initialization of the atomic variable, hat leads to an
113 # initial read of the old, undefined, memory value. But that's just to
114 # make sure the swap works correctly.
116 uninitialized_atomic_init_u64
118 fun:pg_atomic_exchange_u64_impl
119 fun:pg_atomic_write_u64_impl
120 fun:pg_atomic_init_u64_impl