[PATCH] D31272: Do not pass an explicit reexported symbol list when building libc++ dylib if also defining new/delete
Mehdi AMINI via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Mar 22 17:21:06 PDT 2017
mehdi_amini created this revision.
Herald added a subscriber: mgorny.
The linker would fail because the list of reexported symbols contains new/delete operators.
https://reviews.llvm.org/D31272
Files:
lib/CMakeLists.txt
Index: lib/CMakeLists.txt
===================================================================
--- lib/CMakeLists.txt
+++ lib/CMakeLists.txt
@@ -150,7 +150,11 @@
"-Wl,-unexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++unexp.exp"
"/usr/lib/libSystem.B.dylib")
else()
- if (DEFINED CMAKE_OSX_SYSROOT AND NOT CMAKE_OSX_SYSROOT STREQUAL "")
+ 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 "")
list(FIND CMAKE_OSX_ARCHITECTURES "armv7" OSX_HAS_ARMV7)
if (NOT OSX_HAS_ARMV7 EQUAL -1)
set(OSX_RE_EXPORT_LINE
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D31272.92745.patch
Type: text/x-patch
Size: 873 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170323/35c5f74a/attachment.bin>
More information about the cfe-commits
mailing list