[libcxx-commits] [libcxxabi] c7d4aa7 - [libc++] Move the weak symbols list to libc++abi

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Fri Oct 2 06:23:51 PDT 2020


Author: Louis Dionne
Date: 2020-10-02T09:22:23-04:00
New Revision: c7d4aa711ab7981358b5e17e56f1fb6f7f585ac1

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

LOG: [libc++] Move the weak symbols list to libc++abi

Those symbols are exported from libc++abi in the first place, so it
makes more sense to have them there.

Added: 
    libcxxabi/lib/weak.exp

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

Removed: 
    libcxx/lib/weak.exp


################################################################################
diff  --git a/libcxx/lib/weak.exp b/libcxx/lib/weak.exp
deleted file mode 100644
index 6bdcc0578460..000000000000
--- a/libcxx/lib/weak.exp
+++ /dev/null
@@ -1,16 +0,0 @@
-__ZTISt10bad_typeid
-__ZTISt11logic_error
-__ZTISt11range_error
-__ZTISt12domain_error
-__ZTISt12length_error
-__ZTISt12out_of_range
-__ZTISt13bad_exception
-__ZTISt13runtime_error
-__ZTISt14overflow_error
-__ZTISt15underflow_error
-__ZTISt16invalid_argument
-__ZTISt16nested_exception
-__ZTISt20bad_array_new_length
-__ZTISt8bad_cast
-__ZTISt9bad_alloc
-__ZTISt9exception

diff  --git a/libcxx/src/CMakeLists.txt b/libcxx/src/CMakeLists.txt
index 0e6819369ffa..98a374c2bf9f 100644
--- a/libcxx/src/CMakeLists.txt
+++ b/libcxx/src/CMakeLists.txt
@@ -210,8 +210,7 @@ if (LIBCXX_ENABLE_SHARED)
     target_link_libraries(cxx_shared PRIVATE
       "-Wl,-unexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/libc++unexp.exp"
       "-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")
+      "-Wl,-force_symbols_not_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/notweak.exp")
 
     if (NOT LIBCXX_ENABLE_NEW_DELETE_DEFINITIONS)
       target_link_libraries(cxx_shared PRIVATE

diff  --git a/libcxxabi/lib/weak.exp b/libcxxabi/lib/weak.exp
new file mode 100644
index 000000000000..784ca45decc1
--- /dev/null
+++ b/libcxxabi/lib/weak.exp
@@ -0,0 +1,7 @@
+__ZTISt11range_error
+__ZTISt12domain_error
+__ZTISt12length_error
+__ZTISt12out_of_range
+__ZTISt14overflow_error
+__ZTISt15underflow_error
+__ZTISt16invalid_argument

diff  --git a/libcxxabi/src/CMakeLists.txt b/libcxxabi/src/CMakeLists.txt
index c57d6fa83aa0..58d04e6578e3 100644
--- a/libcxxabi/src/CMakeLists.txt
+++ b/libcxxabi/src/CMakeLists.txt
@@ -214,6 +214,8 @@ if (LIBCXXABI_ENABLE_SHARED)
 
     export_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/itanium-base.exp")
 
+    target_link_libraries(cxxabi_shared PRIVATE "-Wl,-force_symbols_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/weak.exp")
+
     if (LIBCXXABI_ENABLE_NEW_DELETE_DEFINITIONS)
       export_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/new-delete.exp")
     endif()


        


More information about the libcxx-commits mailing list