postgresql/src/tools
Andres Freund e3c878ffdd Avoid need for valgrind suppressions for pg_atomic_init_u64 on some platforms.
Previously we used pg_atomic_write_64_impl inside
pg_atomic_init_u64. That works correctly, but on platforms without
64bit single copy atomicity it could trigger spurious valgrind errors
about uninitialized memory, because we use compare_and_swap for atomic
writes on such platforms.

I previously suppressed one instance of this problem (6c878edc1d),
but as Tom reports that wasn't enough. As the atomic variable cannot
yet be concurrently accessible during initialization, it seems better
to have pg_atomic_init_64_impl set the value directly.

Change pg_atomic_init_u32_impl for symmetry.

Reported-By: Tom Lane
Author: Andres Freund
Discussion: https://postgr.es/m/1714601.1591503815@sss.pgh.pa.us
Backpatch: 9.5-
2020-06-08 20:03:16 -07:00
..
editors emacs: Set indent-tabs-mode in perl-mode 2015-04-12 23:53:23 -04:00
entab pgindent run for 9.4 2014-05-06 12:12:18 -04:00
findoidjoins Prevent accidental linking of system-supplied copies of libpq.so etc. 2018-07-09 17:23:31 -04:00
ifaddrs Update copyright for 2016 2016-01-02 13:33:40 -05:00
make_diff Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
msvc MSVC: Avoid warning when testing a TAP suite without PROVE_FLAGS. 2020-06-07 16:27:18 -07:00
pginclude cpluspluscheck: Update include path 2016-04-11 11:16:16 -04:00
pgindent Improve handling of NULLs in KNN-GiST and KNN-SP-GiST 2019-09-19 21:50:44 +03:00
ccsym tools/ccsym: update for modern versions of gcc 2015-01-20 13:02:58 -05:00
check_bison_recursion.pl Update copyright for 2016 2016-01-02 13:33:40 -05:00
codelines Fix remaining stray references to CVS. 2010-09-22 19:51:39 -04:00
copyright.pl Finish pgindent run for 9.6: Perl files. 2016-06-12 04:19:56 -04:00
FAQ2txt Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
find_badmacros Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
find_static Fix omission of -X (--no-psqlrc) in some psql invocations. 2015-12-28 11:46:43 -05:00
find_typedef Update comments in find_typedef. 2014-11-18 15:51:45 -05:00
git-external-diff Add comment to tools/git-external-diff. 2011-03-11 05:06:31 -05:00
git_changelog Finish pgindent run for 9.6: Perl files. 2016-06-12 04:19:56 -04:00
make_ctags Mention original ctags option name. 2012-02-24 16:19:18 -05:00
make_etags Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
make_mkid Add another pgdefine path check, and a cvs-git change. 2011-08-26 21:52:35 -04:00
pgtest pgtest: run clean, build, and check stages separately 2018-07-28 15:34:06 -04:00
RELEASE_CHANGES Remove vestigial references to "zic" in favor of "IANA database". 2016-09-04 19:42:21 -04:00
valgrind.supp Avoid need for valgrind suppressions for pg_atomic_init_u64 on some platforms. 2020-06-08 20:03:16 -07:00
version_stamp.pl Update copyright for 2016 2016-01-02 13:33:40 -05:00
win32tzlist.pl Update Windows timezone name list to include currently-known zones. 2020-04-24 17:53:23 -04:00