postgresql/src/tools
Tom Lane ed0cdf0e05 Install a check for mis-linking of src/port and src/common functions.
On ELF-based platforms (and maybe others?) it's possible for a shared
library, when dynamically loaded into the backend, to call the backend
versions of src/port and src/common functions rather than the frontend
versions that are actually linked into the shlib.  This is definitely
not what we want, because the frontend versions often behave slightly
differently.  Up to now it's been "slight" enough that nobody noticed;
but with the addition of SCRAM support functions in src/common, we're
observing crashes due to the difference between palloc and malloc
memory allocation rules, as reported in bug #15367 from Jeremy Evans.

The purpose of this patch is to create a direct test for this type of
mis-linking, so that we know whether any given platform requires extra
measures to prevent using the wrong functions.  If the test fails, it
will lead to connection failures in the contrib/postgres_fdw regression
test.  At the moment, *BSD platforms using ELF format are known to have
the problem and can be expected to fail; but we need to know whether
anything else does, and we need a reliable ongoing check for future
platforms.

Actually fixing the problem will be the subject of later commit(s).

Discussion: https://postgr.es/m/153626613985.23143.4743626885618266803@wrigleys.postgresql.org
2018-09-09 12:23:23 -04:00
..
editors Update documentation editor setup instructions 2018-07-13 21:23:41 +02:00
findoidjoins Update oidjoins regression test for v11. 2018-05-07 14:32:04 -04:00
ifaddrs Update copyright for 2018 2018-01-02 23:30:12 -05:00
make_diff Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
msvc Install a check for mis-linking of src/port and src/common functions. 2018-09-09 12:23:23 -04:00
perlcheck Fix whitespace 2018-06-27 08:03:54 +02:00
pginclude Don't fall off the end of perl functions 2018-05-27 09:08:42 -04:00
pgindent Refactor cluster_rel() to handle more options 2018-07-24 11:37:32 +09:00
ccsym tools/ccsym: update for modern versions of gcc 2015-01-20 13:02:58 -05:00
check_bison_recursion.pl perltidy: Add option --nooutdent-long-quotes 2018-04-27 11:37:43 -04:00
codelines Fix remaining stray references to CVS. 2010-09-22 19:51:39 -04:00
copyright.pl Don't fall off the end of perl functions 2018-05-27 09:08:42 -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 Refer to OS X as "macOS", except for the port name which is still "darwin". 2016-09-25 15:40:57 -04:00
fix-old-flex-code.pl perltidy: Add option --nooutdent-long-quotes 2018-04-27 11:37:43 -04:00
git-external-diff Preserve information on use of git-external-diff 2018-05-24 23:45:31 +09:30
git_changelog Stamp HEAD as 12devel 2018-06-30 12:47:59 -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 Use more modern instructions for creating a new dev cycle 2018-07-01 07:55:05 -04:00
testint128.c Update copyright for 2018 2018-01-02 23:30:12 -05:00
valgrind.supp Copyedit comments and documentation. 2016-04-01 21:53:10 -04:00
version_stamp.pl Stamp HEAD as 12devel 2018-06-30 12:47:59 -04:00
win32tzlist.pl Restrict vertical tightness to parentheses in Perl code 2018-05-09 10:14:46 -04:00