diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index bc15be679..8f1d57158 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -155,11 +155,7 @@ if (LIBCXX_OSX_REEXPORT_SYSTEM_ABI_LIBRARY) "-Wl,-unexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++unexp.exp" "/usr/lib/libSystem.B.dylib") else() - if (LIBCXX_ENABLE_NEW_DELETE_DEFINITIONS) - # We can't use the "-reexported_symbols_list" when we build the - # new/delete operators as part of the dylib: the linker would fail. - set(OSX_RE_EXPORT_LINE "-Wl,-reexport_library,${CMAKE_OSX_SYSROOT}/usr/lib/libc++abi.dylib") - elseif (DEFINED CMAKE_OSX_SYSROOT AND NOT CMAKE_OSX_SYSROOT STREQUAL "") + if (DEFINED CMAKE_OSX_SYSROOT AND NOT CMAKE_OSX_SYSROOT STREQUAL "") list(FIND CMAKE_OSX_ARCHITECTURES "armv7" OSX_HAS_ARMV7) if (NOT OSX_HAS_ARMV7 EQUAL -1) set(OSX_RE_EXPORT_LINE @@ -171,8 +167,10 @@ if (LIBCXX_OSX_REEXPORT_SYSTEM_ABI_LIBRARY) endif() else() set(OSX_RE_EXPORT_LINE "/usr/lib/libc++abi.dylib -Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++abi${LIBCXX_LIBCPPABI_VERSION}.exp") + if (NOT LIBCXX_ENABLE_NEW_DELETE_DEFINITIONS) + add_link_flags("/usr/lib/libc++abi.dylib -Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++abi-new-delete.exp") + endif() endif() - add_link_flags( "-compatibility_version 1" "-install_name /usr/lib/libc++.1.dylib" diff --git a/lib/libc++abi-new-delete.exp b/lib/libc++abi-new-delete.exp new file mode 100644 index 000000000..a9e651dd6 --- /dev/null +++ b/lib/libc++abi-new-delete.exp @@ -0,0 +1,8 @@ +__ZdaPv +__ZdlPv +__ZdlPvRKSt9nothrow_t +__Znam +__ZdaPvRKSt9nothrow_t +__Znwm +__ZnwmRKSt9nothrow_t +__ZnamRKSt9nothrow_t diff --git a/lib/libc++abi2.exp b/lib/libc++abi2.exp index 6716a38b0..eb088f370 100644 --- a/lib/libc++abi2.exp +++ b/lib/libc++abi2.exp @@ -209,14 +209,6 @@ __ZNSt20bad_array_new_lengthC2Ev __ZNSt20bad_array_new_lengthD0Ev __ZNSt20bad_array_new_lengthD2Ev __ZSt10unexpectedv -__ZdaPv -__ZdlPv -__ZdlPvRKSt9nothrow_t -__Znam -__ZdaPvRKSt9nothrow_t -__Znwm -__ZnwmRKSt9nothrow_t -__ZnamRKSt9nothrow_t __ZTISt10bad_typeid __ZTISt8bad_cast ___cxa_bad_typeid