From c7d4aa711ab7981358b5e17e56f1fb6f7f585ac1 Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Wed, 30 Sep 2020 20:05:41 -0400 Subject: [PATCH] [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. --- libcxx/lib/weak.exp | 16 ---------------- libcxx/src/CMakeLists.txt | 3 +-- libcxxabi/lib/weak.exp | 7 +++++++ libcxxabi/src/CMakeLists.txt | 2 ++ 4 files changed, 10 insertions(+), 18 deletions(-) delete mode 100644 libcxx/lib/weak.exp create mode 100644 libcxxabi/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()