• Tom Lane's avatar
    Install a check for mis-linking of src/port and src/common functions. · ed0cdf0e
    Tom Lane authored
    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
    ed0cdf0e
Makefile 3.5 KB