[libcxx] Fix check-cxx-abilist on OS X
authorEric Fiselier <eric@efcs.ca>
Sat, 15 Apr 2017 05:41:45 +0000 (05:41 +0000)
committerEric Fiselier <eric@efcs.ca>
Sat, 15 Apr 2017 05:41:45 +0000 (05:41 +0000)
commit9b25fb7f4b5f0a4e9a99b32c8e08d57586c2ad34
treec467cd63fd6e0d4703e3421c042d99f1d8e947de
parentdad52660449aca2ba77e61a06afcc9cb52fd44fd
[libcxx] Fix check-cxx-abilist on OS X

Summary:
Recent commits broke the check-cxx-abilist by changing the default OS X to use `-rexport_library` instead of `-reexport_symbol_list`. Apparently `-reexport_library` doesn't export the symbols into `libc++.dylib`s symbol table, whereas `-reexport_symbol_list` does.

This means the change removed ~500 symbols from the symbol table. I've been told this change is non ABI breaking, but it does make it harder to maintain the ABI lists, and hence the ABI.

This patch fixes the issue by switching back to `-reexport_symbol_list`. It still avoid the issues fixed in r299052 by putting the new/delete symbols in a different symbol list file, which is only exported when LIBCXX_ENABLE_NEW_DELETE_DEFINITIONS in OFF.

Reviewers: mehdi_amini, smeenai, dexonsmith

Reviewed By: smeenai

Subscribers: mgorny, cfe-commits

Differential Revision: https://reviews.llvm.org/D31644

llvm-svn: 300390
libcxx/lib/CMakeLists.txt
libcxx/lib/libc++abi-new-delete.exp [new file with mode: 0644]
libcxx/lib/libc++abi2.exp