Fix binary mismatch for MSVC plperl vs gcc built perl libs

Andrew Dunstan <andrew@dunslane.net>

Commit: f3f70b8de66c0bae86f4761e152c10dd39f6f179
Author: Andrew Dunstan <andrew@dunslane.net>
Date: 2022-11-27T14:18:20Z
Releases: 14.7
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.

Files

PathChange+/−
src/tools/msvc/Mkvcbuild.pm modified +3 −0