Skip to content

Commit d5a6da8

Browse files
committed
[libc++/abi] Revert "[libc++] Move the weak symbols list to libc++abi"
This reverts commit c7d4aa7. 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.
1 parent 665371d commit d5a6da8

File tree

4 files changed

+18
-10
lines changed

4 files changed

+18
-10
lines changed

libcxx/lib/weak.exp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
__ZTISt10bad_typeid
2+
__ZTISt11logic_error
3+
__ZTISt11range_error
4+
__ZTISt12domain_error
5+
__ZTISt12length_error
6+
__ZTISt12out_of_range
7+
__ZTISt13bad_exception
8+
__ZTISt13runtime_error
9+
__ZTISt14overflow_error
10+
__ZTISt15underflow_error
11+
__ZTISt16invalid_argument
12+
__ZTISt16nested_exception
13+
__ZTISt20bad_array_new_length
14+
__ZTISt8bad_cast
15+
__ZTISt9bad_alloc
16+
__ZTISt9exception

libcxx/src/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,8 @@ if (LIBCXX_ENABLE_SHARED)
210210
target_link_libraries(cxx_shared PRIVATE
211211
"-Wl,-unexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/libc++unexp.exp"
212212
"-Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/libc++abi.v${LIBCXX_LIBCPPABI_VERSION}.exp"
213-
"-Wl,-force_symbols_not_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/notweak.exp")
213+
"-Wl,-force_symbols_not_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/notweak.exp"
214+
"-Wl,-force_symbols_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/weak.exp")
214215

215216
if (NOT LIBCXX_ENABLE_NEW_DELETE_DEFINITIONS)
216217
target_link_libraries(cxx_shared PRIVATE

libcxxabi/lib/weak.exp

Lines changed: 0 additions & 7 deletions
This file was deleted.

libcxxabi/src/CMakeLists.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -214,8 +214,6 @@ if (LIBCXXABI_ENABLE_SHARED)
214214

215215
export_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/itanium-base.exp")
216216

217-
target_link_libraries(cxxabi_shared PRIVATE "-Wl,-force_symbols_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/weak.exp")
218-
219217
if (LIBCXXABI_ENABLE_NEW_DELETE_DEFINITIONS)
220218
export_symbols("${CMAKE_CURRENT_SOURCE_DIR}/../lib/new-delete.exp")
221219
endif()

0 commit comments

Comments
 (0)