Revert commit 6255157d24e2 from llvm-project (by Dimitry Andric):
[libc++] Re-enable std::pair trivial copy constructor for FreeBSD >= 14 After many years of using the really old std::pair ABI which did not yet have a trivial copy constructor, FreeBSD 14 and later will finally get rid of it. Only use the old ABI for FreeBSD 13 and earlier. Note: on the FreeBSD side, we will bump our libc++.so version for this, and keep an old compatibility library in a separate package. Differential Revision: https://reviews.llvm.org/D126462
This ABI change can cause crashes when binaries compiled against older
libc++ versions are run against binaries compiled against this libc++
version.
For example, lang/ldc uses a precompiled bootstrap ldc2 binary that was
compiled against the old libc++, but also links against libLLVM-15.so.
If libLLVM-15.so is compiled against the new libc++ version, the ABI
mismatch results in segfaults or even stack overflows.
Note: we can only re-enable the std::pair trivial copy constructors
again when the official libc++ ABI version is bumped to 2.
PR: 276104
MFC after: 1 month
(cherry picked from commit ce4f1f49e036fd806b534decfe38020dae32a384)