forked from OSchip/llvm-project
9dbb5586b5
Summary: On OS X libc++ needs to reexport libc++abi's symbols in order for them to be provided. We explicitly list the symbols to reexport it libcxx/lib/libc++abi2.exp. This patch adds the symbols required by std::bad_array_length which have been missing for some time. However there is a problem. std::bad_array_length was add to libc++abi in September of 2013 by commit r190479, about a year after everything else. Therefore I think older OS X version have libc++abi versions without std::bad_array_length. On those systems libc++ won't build with this change because we will try and export undefined symbols. The workaround I would write to support older systems depends on the amount of people who would need it. If only a small number of developers are affected it might be sufficient to provide a CMake switch like `LIBCPP_LIBCPPABI_HAS_BAD_ARRAY_LENGTH` which is ON by default and can be disabled by those who need it. Otherwise I think we should try to automatically detect if the symbols are present in `/usr/lib/libc++abi.dylib` and configure accordingly. I would prefer the first solution because writing CMake sucks. Reviewers: mclow.lists, aprantl Subscribers: aprantl, cfe-commits Differential Revision: http://reviews.llvm.org/D13445 llvm-svn: 249339 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
buildit | ||
libc++abi.exp | ||
libc++abi2.exp | ||
libc++sjlj-abi.exp | ||
libc++unexp.exp | ||
notweak.exp | ||
weak.exp |