[libcxx-commits] [libcxxabi] 8654a0f - [libc++] Don't re-export new/delete from libc++abi when they are defined in libc++

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Thu Oct 1 10:32:29 PDT 2020


Author: Louis Dionne
Date: 2020-10-01T13:31:55-04:00
New Revision: 8654a0f8bbf3e28eb210c75c8c70c739de637226

URL: https://github.com/llvm/llvm-project/commit/8654a0f8bbf3e28eb210c75c8c70c739de637226
DIFF: https://github.com/llvm/llvm-project/commit/8654a0f8bbf3e28eb210c75c8c70c739de637226.diff

LOG: [libc++] Don't re-export new/delete from libc++abi when they are defined in libc++

This is a temporary workaround until the new/delete situation is made
better (i.e. we don't include new/delete in both libc++ and libc++abi
by default).

Added: 
    

Modified: 
    libcxx/src/CMakeLists.txt
    libcxxabi/src/CMakeLists.txt

Removed: 
    


################################################################################
diff  --git a/libcxx/src/CMakeLists.txt b/libcxx/src/CMakeLists.txt
index fc9fc0e7bc27..0e6819369ffa 100644
--- a/libcxx/src/CMakeLists.txt
+++ b/libcxx/src/CMakeLists.txt
@@ -212,6 +212,11 @@ if (LIBCXX_ENABLE_SHARED)
       "-Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/libc++abi.v${LIBCXX_LIBCPPABI_VERSION}.exp"
       "-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)
+      target_link_libraries(cxx_shared PRIVATE
+        "-Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../../libcxxabi/lib/new-delete.exp")
+    endif()
   endif()
 
   # Generate a linker script in place of a libc++.so symlink.

diff  --git a/libcxxabi/src/CMakeLists.txt b/libcxxabi/src/CMakeLists.txt
index e9e454082a05..c57d6fa83aa0 100644
--- a/libcxxabi/src/CMakeLists.txt
+++ b/libcxxabi/src/CMakeLists.txt
@@ -215,7 +215,7 @@ if (LIBCXXABI_ENABLE_SHARED)
     export_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/itanium-base.exp")
 
     if (LIBCXXABI_ENABLE_NEW_DELETE_DEFINITIONS)
-      reexport_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/new-delete.exp")
+      export_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/new-delete.exp")
     endif()
 
     if (LIBCXXABI_ENABLE_EXCEPTIONS)


        


More information about the libcxx-commits mailing list