From 1c4b0767f4ef0d277c7352eae00337c0a379b69d Mon Sep 17 00:00:00 2001 From: annalee <150648636+a-n-n-a-l-e-e@users.noreply.github.com> Date: Sun, 21 Jan 2024 15:36:49 +0000 Subject: [PATCH] llvmPackages_{12,13,14,15,16,17,git}.{libcxx,libcxxabi}: re-export libcxxabi new, delete, exceptions --- .../compilers/llvm/12/libcxx/default.nix | 6 +++++- .../compilers/llvm/12/libcxxabi/default.nix | 13 +++++++++++- .../compilers/llvm/13/libcxx/default.nix | 4 ++++ .../compilers/llvm/13/libcxxabi/default.nix | 11 ++++++++++ .../compilers/llvm/14/libcxx/default.nix | 4 ++++ .../compilers/llvm/14/libcxxabi/default.nix | 11 ++++++++++ .../compilers/llvm/15/libcxx/default.nix | 4 ++++ .../compilers/llvm/15/libcxxabi/default.nix | 11 ++++++++++ .../compilers/llvm/16/libcxx/default.nix | 4 ++++ .../compilers/llvm/16/libcxxabi/default.nix | 11 ++++++++++ .../compilers/llvm/17/libcxx/default.nix | 4 ++++ .../compilers/llvm/17/libcxxabi/default.nix | 11 ++++++++++ .../compilers/llvm/git/libcxx/default.nix | 4 ++++ .../compilers/llvm/git/libcxxabi/default.nix | 11 ++++++++++ .../compilers/llvm/libcxx-re-export.diff | 21 +++++++++++++++++++ .../compilers/llvm/libcxxabi-re-export.diff | 13 ++++++++++++ 16 files changed, 141 insertions(+), 2 deletions(-) create mode 100644 pkgs/development/compilers/llvm/libcxx-re-export.diff create mode 100644 pkgs/development/compilers/llvm/libcxxabi-re-export.diff diff --git a/pkgs/development/compilers/llvm/12/libcxx/default.nix b/pkgs/development/compilers/llvm/12/libcxx/default.nix index 40bff3c1168b7..1d2c1c9d1b8ea 100644 --- a/pkgs/development/compilers/llvm/12/libcxx/default.nix +++ b/pkgs/development/compilers/llvm/12/libcxx/default.nix @@ -6,7 +6,7 @@ assert stdenv.isDarwin -> cxxabi.pname == "libcxxabi"; -stdenv.mkDerivation { +stdenv.mkDerivation rec { pname = "libcxx"; inherit version; @@ -23,6 +23,7 @@ stdenv.mkDerivation { patches = [ ./gnu-install-dirs.patch + ../../libcxx-re-export.diff ] ++ lib.optionals stdenv.hostPlatform.isMusl [ ../../libcxx-0001-musl-hacks.patch ]; @@ -44,6 +45,9 @@ stdenv.mkDerivation { "-DLIBCXX_ENABLE_THREADS=OFF" "-DLIBCXX_ENABLE_FILESYSTEM=OFF" "-DLIBCXX_ENABLE_EXCEPTIONS=OFF" + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "-DLIBCXXABI_REEXPORT_NEW_DELETE=${lib.getDev cxxabi}/share/${cxxabi.pname}/new-delete.exp" + "-DLIBCXXABI_REEXPORT_EXCEPTIONS=${lib.getDev cxxabi}/share/${cxxabi.pname}/exceptions.exp" ] ++ lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF"; preInstall = lib.optionalString (stdenv.isDarwin) '' diff --git a/pkgs/development/compilers/llvm/12/libcxxabi/default.nix b/pkgs/development/compilers/llvm/12/libcxxabi/default.nix index 78a4a68d6a16e..0e03bedcc6e4d 100644 --- a/pkgs/development/compilers/llvm/12/libcxxabi/default.nix +++ b/pkgs/development/compilers/llvm/12/libcxxabi/default.nix @@ -4,7 +4,7 @@ , withLibunwind ? !stdenv.isDarwin && !stdenv.hostPlatform.isWasm }: -stdenv.mkDerivation { +stdenv.mkDerivation rec { pname = "libcxxabi"; inherit version; @@ -27,6 +27,7 @@ stdenv.mkDerivation { patches = [ ./gnu-install-dirs.patch + ../../libcxxabi-re-export.diff ]; nativeBuildInputs = [ cmake python3 ]; @@ -67,6 +68,16 @@ stdenv.mkDerivation { postInstall = '' mkdir -p "$dev/include" install -m 644 ../include/${if stdenv.isDarwin then "*" else "cxxabi.h"} "$dev/include" + '' + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p "$dev/share/${pname}" + touch "$dev/share/${pname}/exceptions.exp" "$dev/share/${pname}/new-delete.exp" + if [[ -f re-exports/new-delete.exp ]]; then + install -Dm 644 re-exports/new-delete.exp -t "$dev/share/${pname}" + fi + if [[ -f re-exports/exceptions.exp ]]; then + install -Dm 644 re-exports/exceptions.exp -t "$dev/share/${pname}" + cat re-exports/personality-*.exp >> "$dev/share/${pname}/exceptions.exp" + fi ''; passthru = { diff --git a/pkgs/development/compilers/llvm/13/libcxx/default.nix b/pkgs/development/compilers/llvm/13/libcxx/default.nix index 994ec7dd5a56e..66b5add3f90bd 100644 --- a/pkgs/development/compilers/llvm/13/libcxx/default.nix +++ b/pkgs/development/compilers/llvm/13/libcxx/default.nix @@ -24,6 +24,7 @@ stdenv.mkDerivation rec { patches = [ ./gnu-install-dirs.patch + ../../libcxx-re-export.diff ] ++ lib.optionals stdenv.hostPlatform.isMusl [ ../../libcxx-0001-musl-hacks.patch ]; @@ -44,6 +45,9 @@ stdenv.mkDerivation rec { "-DLIBCXX_ENABLE_THREADS=OFF" "-DLIBCXX_ENABLE_FILESYSTEM=OFF" "-DLIBCXX_ENABLE_EXCEPTIONS=OFF" + ] ++ lib.optionals (!headersOnly && stdenv.hostPlatform.isDarwin) [ + "-DLIBCXXABI_REEXPORT_NEW_DELETE=${lib.getDev cxxabi}/share/${cxxabi.pname}/new-delete.exp" + "-DLIBCXXABI_REEXPORT_EXCEPTIONS=${lib.getDev cxxabi}/share/${cxxabi.pname}/exceptions.exp" ] ++ lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF"; buildFlags = lib.optional headersOnly "generate-cxx-headers"; diff --git a/pkgs/development/compilers/llvm/13/libcxxabi/default.nix b/pkgs/development/compilers/llvm/13/libcxxabi/default.nix index 50f09831e9741..0b0876839dd91 100644 --- a/pkgs/development/compilers/llvm/13/libcxxabi/default.nix +++ b/pkgs/development/compilers/llvm/13/libcxxabi/default.nix @@ -21,6 +21,7 @@ stdenv.mkDerivation rec { patches = [ ./gnu-install-dirs.patch + ../../libcxxabi-re-export.diff ]; nativeBuildInputs = [ cmake python3 ]; @@ -64,6 +65,16 @@ stdenv.mkDerivation rec { postInstall = '' mkdir -p "$dev/include" install -m 644 ../include/${if stdenv.isDarwin then "*" else "cxxabi.h"} "$dev/include" + '' + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p "$dev/share/${pname}" + touch "$dev/share/${pname}/exceptions.exp" "$dev/share/${pname}/new-delete.exp" + if [[ -f re-exports/new-delete.exp ]]; then + install -Dm 644 re-exports/new-delete.exp -t "$dev/share/${pname}" + fi + if [[ -f re-exports/exceptions.exp ]]; then + install -Dm 644 re-exports/exceptions.exp -t "$dev/share/${pname}" + cat re-exports/personality-*.exp >> "$dev/share/${pname}/exceptions.exp" + fi ''; passthru = { diff --git a/pkgs/development/compilers/llvm/14/libcxx/default.nix b/pkgs/development/compilers/llvm/14/libcxx/default.nix index 3e42a8b1e43c7..1ddfa544b60c7 100644 --- a/pkgs/development/compilers/llvm/14/libcxx/default.nix +++ b/pkgs/development/compilers/llvm/14/libcxx/default.nix @@ -40,6 +40,7 @@ stdenv.mkDerivation rec { patches = [ ./gnu-install-dirs.patch + ../../libcxx-re-export.diff ] ++ lib.optionals stdenv.hostPlatform.isMusl [ ../../libcxx-0001-musl-hacks.patch ]; @@ -60,6 +61,9 @@ stdenv.mkDerivation rec { "-DLIBCXX_ENABLE_THREADS=OFF" "-DLIBCXX_ENABLE_FILESYSTEM=OFF" "-DLIBCXX_ENABLE_EXCEPTIONS=OFF" + ] ++ lib.optionals (!headersOnly && stdenv.hostPlatform.isDarwin) [ + "-DLIBCXXABI_REEXPORT_NEW_DELETE=${lib.getDev cxxabi}/share/${cxxabi.pname}/new-delete.exp" + "-DLIBCXXABI_REEXPORT_EXCEPTIONS=${lib.getDev cxxabi}/share/${cxxabi.pname}/exceptions.exp" ] ++ lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF"; buildFlags = lib.optional headersOnly "generate-cxx-headers"; diff --git a/pkgs/development/compilers/llvm/14/libcxxabi/default.nix b/pkgs/development/compilers/llvm/14/libcxxabi/default.nix index 0f7cec3695d6f..7b8da2b0e8265 100644 --- a/pkgs/development/compilers/llvm/14/libcxxabi/default.nix +++ b/pkgs/development/compilers/llvm/14/libcxxabi/default.nix @@ -32,6 +32,7 @@ stdenv.mkDerivation rec { patches = [ ./gnu-install-dirs.patch + ../../libcxxabi-re-export.diff ]; nativeBuildInputs = [ cmake python3 ]; @@ -74,6 +75,16 @@ stdenv.mkDerivation rec { make install install -d 755 $out/include install -m 644 ../include/*.h $out/include + + mkdir -p "$dev/share/${pname}" + touch "$dev/share/${pname}/exceptions.exp" "$dev/share/${pname}/new-delete.exp" + if [[ -f re-exports/new-delete.exp ]]; then + install -Dm 644 re-exports/new-delete.exp -t "$dev/share/${pname}" + fi + if [[ -f re-exports/exceptions.exp ]]; then + install -Dm 644 re-exports/exceptions.exp -t "$dev/share/${pname}" + cat re-exports/personality-*.exp >> "$dev/share/${pname}/exceptions.exp" + fi '' else '' install -d -m 755 $out/include $out/lib diff --git a/pkgs/development/compilers/llvm/15/libcxx/default.nix b/pkgs/development/compilers/llvm/15/libcxx/default.nix index be56770039d80..15e0b123edaa7 100644 --- a/pkgs/development/compilers/llvm/15/libcxx/default.nix +++ b/pkgs/development/compilers/llvm/15/libcxx/default.nix @@ -64,6 +64,7 @@ stdenv.mkDerivation rec { hash = "sha256-LNoPg1KCoP8RWxU/AzHR52f4Dww24I9BGQJedMhFxyQ="; relative = "libcxx"; }) + ../../libcxx-re-export.diff ] ++ lib.optionals stdenv.hostPlatform.isMusl [ ../../libcxx-0001-musl-hacks.patch ]; @@ -115,6 +116,9 @@ stdenv.mkDerivation rec { ++ lib.optionals (headersOnly) [ "-DCMAKE_C_COMPILER_WORKS=ON" "-DCMAKE_CXX_COMPILER_WORKS=ON" + ] ++ lib.optionals (!headersOnly && stdenv.hostPlatform.isDarwin) [ + "-DLIBCXXABI_REEXPORT_NEW_DELETE=${lib.getDev cxxabi}/share/${cxxabi.pname}/new-delete.exp" + "-DLIBCXXABI_REEXPORT_EXCEPTIONS=${lib.getDev cxxabi}/share/${cxxabi.pname}/exceptions.exp" ]; ninjaFlags = lib.optional headersOnly "generate-cxx-headers"; diff --git a/pkgs/development/compilers/llvm/15/libcxxabi/default.nix b/pkgs/development/compilers/llvm/15/libcxxabi/default.nix index 04bfee14aa186..a20f1707d56b0 100644 --- a/pkgs/development/compilers/llvm/15/libcxxabi/default.nix +++ b/pkgs/development/compilers/llvm/15/libcxxabi/default.nix @@ -46,6 +46,7 @@ stdenv.mkDerivation rec { sha256 = "1xyjd56m4pfwq8p3xh6i8lhkk9kq15jaml7qbhxdf87z4jjkk63a"; stripLen = 1; }) + ../../libcxxabi-re-export.diff ]; postPatch = '' @@ -93,6 +94,16 @@ stdenv.mkDerivation rec { postInstall = '' mkdir -p "$dev/include" install -m 644 ../../${pname}/include/${if stdenv.isDarwin then "*" else "cxxabi.h"} "$dev/include" + '' + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p "$dev/share/${pname}" + touch "$dev/share/${pname}/exceptions.exp" "$dev/share/${pname}/new-delete.exp" + if [[ -f libcxxabi/re-exports/new-delete.exp ]]; then + install -Dm 644 libcxxabi/re-exports/new-delete.exp -t "$dev/share/${pname}" + fi + if [[ -f libcxxabi/re-exports/exceptions.exp ]]; then + install -Dm 644 libcxxabi/re-exports/exceptions.exp -t "$dev/share/${pname}" + cat libcxxabi/re-exports/personality-*.exp >> "$dev/share/${pname}/exceptions.exp" + fi ''; passthru = { diff --git a/pkgs/development/compilers/llvm/16/libcxx/default.nix b/pkgs/development/compilers/llvm/16/libcxx/default.nix index d6c8c57c17437..f19abaf9991a7 100644 --- a/pkgs/development/compilers/llvm/16/libcxx/default.nix +++ b/pkgs/development/compilers/llvm/16/libcxx/default.nix @@ -55,6 +55,7 @@ stdenv.mkDerivation rec { hash = "sha256-LNoPg1KCoP8RWxU/AzHR52f4Dww24I9BGQJedMhFxyQ="; relative = "libcxx"; }) + ../../libcxx-re-export.diff ]; postPatch = '' @@ -102,6 +103,9 @@ stdenv.mkDerivation rec { ++ lib.optionals (headersOnly) [ "-DCMAKE_C_COMPILER_WORKS=ON" "-DCMAKE_CXX_COMPILER_WORKS=ON" + ] ++ lib.optionals (!headersOnly && stdenv.hostPlatform.isDarwin) [ + "-DLIBCXXABI_REEXPORT_NEW_DELETE=${lib.getDev cxxabi}/share/${cxxabi.pname}/new-delete.exp" + "-DLIBCXXABI_REEXPORT_EXCEPTIONS=${lib.getDev cxxabi}/share/${cxxabi.pname}/exceptions.exp" ]; ninjaFlags = lib.optional headersOnly "generate-cxx-headers"; diff --git a/pkgs/development/compilers/llvm/16/libcxxabi/default.nix b/pkgs/development/compilers/llvm/16/libcxxabi/default.nix index 90c57dc52a2d5..85683e97e9544 100644 --- a/pkgs/development/compilers/llvm/16/libcxxabi/default.nix +++ b/pkgs/development/compilers/llvm/16/libcxxabi/default.nix @@ -44,6 +44,7 @@ stdenv.mkDerivation rec { sha256 = "1xyjd56m4pfwq8p3xh6i8lhkk9kq15jaml7qbhxdf87z4jjkk63a"; stripLen = 1; }) + ../../libcxxabi-re-export.diff ]; postPatch = '' @@ -94,6 +95,16 @@ stdenv.mkDerivation rec { postInstall = '' mkdir -p "$dev/include" install -m 644 ../../${pname}/include/${if stdenv.isDarwin then "*" else "cxxabi.h"} "$dev/include" + '' + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p "$dev/share/${pname}" + touch "$dev/share/${pname}/exceptions.exp" "$dev/share/${pname}/new-delete.exp" + if [[ -f libcxxabi/re-exports/new-delete.exp ]]; then + install -Dm 644 libcxxabi/re-exports/new-delete.exp -t "$dev/share/${pname}" + fi + if [[ -f libcxxabi/re-exports/exceptions.exp ]]; then + install -Dm 644 libcxxabi/re-exports/exceptions.exp -t "$dev/share/${pname}" + cat libcxxabi/re-exports/personality-*.exp >> "$dev/share/${pname}/exceptions.exp" + fi ''; passthru = { diff --git a/pkgs/development/compilers/llvm/17/libcxx/default.nix b/pkgs/development/compilers/llvm/17/libcxx/default.nix index 8a5272ea07af0..86cdc3fc6675a 100644 --- a/pkgs/development/compilers/llvm/17/libcxx/default.nix +++ b/pkgs/development/compilers/llvm/17/libcxx/default.nix @@ -54,6 +54,7 @@ stdenv.mkDerivation rec { hash = "sha256-LNoPg1KCoP8RWxU/AzHR52f4Dww24I9BGQJedMhFxyQ="; relative = "libcxx"; }) + ../../libcxx-re-export.diff ]; postPatch = '' @@ -101,6 +102,9 @@ stdenv.mkDerivation rec { ++ lib.optionals (headersOnly) [ "-DCMAKE_C_COMPILER_WORKS=ON" "-DCMAKE_CXX_COMPILER_WORKS=ON" + ] ++ lib.optionals (!headersOnly && stdenv.hostPlatform.isDarwin) [ + "-DLIBCXXABI_REEXPORT_NEW_DELETE=${lib.getDev cxxabi}/share/${cxxabi.pname}/new-delete.exp" + "-DLIBCXXABI_REEXPORT_EXCEPTIONS=${lib.getDev cxxabi}/share/${cxxabi.pname}/exceptions.exp" ]; ninjaFlags = lib.optional headersOnly "generate-cxx-headers"; diff --git a/pkgs/development/compilers/llvm/17/libcxxabi/default.nix b/pkgs/development/compilers/llvm/17/libcxxabi/default.nix index 0a795da44ae41..4b590f5ccdc62 100644 --- a/pkgs/development/compilers/llvm/17/libcxxabi/default.nix +++ b/pkgs/development/compilers/llvm/17/libcxxabi/default.nix @@ -44,6 +44,7 @@ stdenv.mkDerivation rec { sha256 = "1xyjd56m4pfwq8p3xh6i8lhkk9kq15jaml7qbhxdf87z4jjkk63a"; stripLen = 1; }) + ../../libcxxabi-re-export.diff ]; postPatch = '' @@ -94,6 +95,16 @@ stdenv.mkDerivation rec { postInstall = '' mkdir -p "$dev/include" install -m 644 ../../${pname}/include/${if stdenv.isDarwin then "*" else "cxxabi.h"} "$dev/include" + '' + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p "$dev/share/${pname}" + touch "$dev/share/${pname}/exceptions.exp" "$dev/share/${pname}/new-delete.exp" + if [[ -f libcxxabi/re-exports/new-delete.exp ]]; then + install -Dm 644 libcxxabi/re-exports/new-delete.exp -t "$dev/share/${pname}" + fi + if [[ -f libcxxabi/re-exports/exceptions.exp ]]; then + install -Dm 644 libcxxabi/re-exports/exceptions.exp -t "$dev/share/${pname}" + cat libcxxabi/re-exports/personality-*.exp >> "$dev/share/${pname}/exceptions.exp" + fi ''; passthru = { diff --git a/pkgs/development/compilers/llvm/git/libcxx/default.nix b/pkgs/development/compilers/llvm/git/libcxx/default.nix index 8a5272ea07af0..86cdc3fc6675a 100644 --- a/pkgs/development/compilers/llvm/git/libcxx/default.nix +++ b/pkgs/development/compilers/llvm/git/libcxx/default.nix @@ -54,6 +54,7 @@ stdenv.mkDerivation rec { hash = "sha256-LNoPg1KCoP8RWxU/AzHR52f4Dww24I9BGQJedMhFxyQ="; relative = "libcxx"; }) + ../../libcxx-re-export.diff ]; postPatch = '' @@ -101,6 +102,9 @@ stdenv.mkDerivation rec { ++ lib.optionals (headersOnly) [ "-DCMAKE_C_COMPILER_WORKS=ON" "-DCMAKE_CXX_COMPILER_WORKS=ON" + ] ++ lib.optionals (!headersOnly && stdenv.hostPlatform.isDarwin) [ + "-DLIBCXXABI_REEXPORT_NEW_DELETE=${lib.getDev cxxabi}/share/${cxxabi.pname}/new-delete.exp" + "-DLIBCXXABI_REEXPORT_EXCEPTIONS=${lib.getDev cxxabi}/share/${cxxabi.pname}/exceptions.exp" ]; ninjaFlags = lib.optional headersOnly "generate-cxx-headers"; diff --git a/pkgs/development/compilers/llvm/git/libcxxabi/default.nix b/pkgs/development/compilers/llvm/git/libcxxabi/default.nix index 0a795da44ae41..4b590f5ccdc62 100644 --- a/pkgs/development/compilers/llvm/git/libcxxabi/default.nix +++ b/pkgs/development/compilers/llvm/git/libcxxabi/default.nix @@ -44,6 +44,7 @@ stdenv.mkDerivation rec { sha256 = "1xyjd56m4pfwq8p3xh6i8lhkk9kq15jaml7qbhxdf87z4jjkk63a"; stripLen = 1; }) + ../../libcxxabi-re-export.diff ]; postPatch = '' @@ -94,6 +95,16 @@ stdenv.mkDerivation rec { postInstall = '' mkdir -p "$dev/include" install -m 644 ../../${pname}/include/${if stdenv.isDarwin then "*" else "cxxabi.h"} "$dev/include" + '' + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p "$dev/share/${pname}" + touch "$dev/share/${pname}/exceptions.exp" "$dev/share/${pname}/new-delete.exp" + if [[ -f libcxxabi/re-exports/new-delete.exp ]]; then + install -Dm 644 libcxxabi/re-exports/new-delete.exp -t "$dev/share/${pname}" + fi + if [[ -f libcxxabi/re-exports/exceptions.exp ]]; then + install -Dm 644 libcxxabi/re-exports/exceptions.exp -t "$dev/share/${pname}" + cat libcxxabi/re-exports/personality-*.exp >> "$dev/share/${pname}/exceptions.exp" + fi ''; passthru = { diff --git a/pkgs/development/compilers/llvm/libcxx-re-export.diff b/pkgs/development/compilers/llvm/libcxx-re-export.diff new file mode 100644 index 0000000000000..a3b240c72ad04 --- /dev/null +++ b/pkgs/development/compilers/llvm/libcxx-re-export.diff @@ -0,0 +1,21 @@ +diff --git a/libcxx/src/CMakeLists.txt b/libcxx/src/CMakeLists.txt +index 329964a00136..ac6f510196bb 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -242,6 +242,16 @@ if (LIBCXX_ENABLE_SHARED) + "-Wl,-force_symbols_not_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/notweak.exp" + "-Wl,-force_symbols_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/weak.exp") + ++ if (NOT LIBCXX_ENABLE_NEW_DELETE_DEFINITIONS ++ AND DEFINED LIBCXXABI_REEXPORT_NEW_DELETE) ++ target_link_libraries(cxx_shared PRIVATE ++ "-Wl,-reexported_symbols_list,${LIBCXXABI_REEXPORT_NEW_DELETE}") ++ endif() ++ if (DEFINED LIBCXXABI_REEXPORT_EXCEPTIONS) ++ target_link_libraries(cxx_shared PRIVATE ++ "-Wl,-reexported_symbols_list,${LIBCXXABI_REEXPORT_EXCEPTIONS}") ++ endif() ++ + target_link_libraries(cxx_shared PRIVATE $) + endif() + diff --git a/pkgs/development/compilers/llvm/libcxxabi-re-export.diff b/pkgs/development/compilers/llvm/libcxxabi-re-export.diff new file mode 100644 index 0000000000000..9e28a03a8b167 --- /dev/null +++ b/pkgs/development/compilers/llvm/libcxxabi-re-export.diff @@ -0,0 +1,13 @@ +diff --git a/libcxxabi/src/CMakeLists.txt b/libcxxabi/src/CMakeLists.txt +index 4198827203fc..1a028720bb7d 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -222,6 +222,7 @@ if (LIBCXXABI_ENABLE_SHARED) + function(reexport_symbols file) + export_symbols("${file}") + target_link_libraries(cxxabi-reexports INTERFACE "-Wl,-reexported_symbols_list,${file}") ++ file(INSTALL "${file}" DESTINATION "${LIBCXXABI_BINARY_DIR}/re-exports") + endfunction() + + export_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/itanium-base.exp") +