[libc++/abi] Revert "[libc++] Move the weak symbols list to libc++abi"

This reverts commit c7d4aa711a. I am still investigating the issue,
but it looks like that commit has an interaction with ld64 that causes
new/delete weak re-exports not to work properly anymore. This is weird
because this commit did not touch the exports of new/delete -- I am
still investigating.
This commit is contained in:
Louis Dionne 2020-10-05 11:42:13 -04:00
parent 665371d0b2
commit d5a6da84a3
4 changed files with 18 additions and 10 deletions

16
libcxx/lib/weak.exp Normal file
View File

@ -0,0 +1,16 @@
__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

View File

@ -210,7 +210,8 @@ 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_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

View File

@ -1,7 +0,0 @@
__ZTISt11range_error
__ZTISt12domain_error
__ZTISt12length_error
__ZTISt12out_of_range
__ZTISt14overflow_error
__ZTISt15underflow_error
__ZTISt16invalid_argument

View File

@ -214,8 +214,6 @@ 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()