[Bug 276104] [exp-run] Against llvm-18-update branch on GitHub

From: <bugzilla-noreply_at_freebsd.org>
Date: Sat, 20 Apr 2024 10:36:46 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276104

--- Comment #121 from commit-hook@FreeBSD.org ---
A commit in branch stable/13 references this bug:

URL:
https://cgit.FreeBSD.org/src/commit/?id=64816cf50d5e571e64f5d8a4143f05192788d09b

commit 64816cf50d5e571e64f5d8a4143f05192788d09b
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2024-03-19 13:07:27 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2024-04-19 21:24:48 +0000

    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)

 contrib/llvm-project/libcxx/include/__config | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
You are receiving this mail because:
You are on the CC list for the bug.