Fix binary mismatch for MSVC plperl vs gcc built perl libs
authorAndrew Dunstan <andrew@dunslane.net>
Sun, 27 Nov 2022 14:03:22 +0000 (09:03 -0500)
committerAndrew Dunstan <andrew@dunslane.net>
Sun, 27 Nov 2022 14:03:22 +0000 (09:03 -0500)
commitccc59a83cd977608564a6f11ffcb2ec1773a9e94
tree566675ddf273379f5b66fc1015900f2a861f4985
parent3274ec05c86730ff577f463e4e7b0259fb2bf684
Fix binary mismatch for MSVC plperl vs gcc built perl libs

When loading plperl built against Strawberry perl or the msys2 ucrt perl
that have been built with gcc, a binary mismatch has been encountered
which looks like this:

loadable library and perl binaries are mismatched (got handshake key 0000000012800080, needed 0000000012900080)

To cure this we bring the handshake keys into sync by adding
NO_THREAD_SAFE_LOCALE to the defines used to build plperl.

Discussion: https://postgr.es/m/20211005004334.tgjmro4kuachwiuc@alap3.anarazel.de
Discussion: https://postgr.es/m/c2da86a0-2906-744c-923d-16da6047875e@dunslane.net

Backpatch to all live branches.
src/tools/msvc/Mkvcbuild.pm