[libcxxabi] r230125 - Add temporary workaround for missing symbol __cxa_throw_bad_new_array_length on OS X.

Eric Fiselier eric at efcs.ca
Fri Feb 20 20:30:36 PST 2015


Author: ericwf
Date: Fri Feb 20 22:30:36 2015
New Revision: 230125

URL: http://llvm.org/viewvc/llvm-project?rev=230125&view=rev
Log:
Add temporary workaround for missing symbol __cxa_throw_bad_new_array_length on OS X.

Modified:
    libcxxabi/trunk/test/libcxxabi/test/config.py

Modified: libcxxabi/trunk/test/libcxxabi/test/config.py
URL: http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/test/libcxxabi/test/config.py?rev=230125&r1=230124&r2=230125&view=diff
==============================================================================
--- libcxxabi/trunk/test/libcxxabi/test/config.py (original)
+++ libcxxabi/trunk/test/libcxxabi/test/config.py Fri Feb 20 22:30:36 2015
@@ -66,6 +66,15 @@ class Configuration(LibcxxConfiguration)
             self.cxx.link_flags += ['-L' + self.libcxxabi_lib_root,
                                     '-Wl,-rpath,' + self.libcxxabi_lib_root]
 
+    # TODO(ericwf): Remove this. This is a hack for OS X.
+    # libc++ *should* export all of the symbols found in libc++abi on OS X.
+    # For this reason LibcxxConfiguration will not link libc++abi in OS X.
+    # However __cxa_throw_bad_new_array_length doesn't get exported into libc++
+    # yet so we still need to explicitly link libc++abi.
+    # See PR22654.
+    def configure_link_flags_abi_library(self):
+        self.cxx.link_flags += ['-lc++abi']
+
     def configure_env(self):
         if sys.platform == 'darwin' and self.libcxxabi_lib_root:
             self.env['DYLD_LIBRARY_PATH'] = self.libcxxabi_lib_root





More information about the cfe-commits mailing list