mehdi_amini created this revision. Both libc++ and libc++abi export a weak definition of operator new/delete. On Darwin, this can often cause dirty __DATA in the shared cache when having to switch from one to the other. Instead, libc++ should reexport libc++abi's implementation of these symbols.
Patch by: Ted Kremenek <kreme...@apple.com> https://reviews.llvm.org/D30765 Files: lib/libc++abi2.exp Index: lib/libc++abi2.exp =================================================================== --- lib/libc++abi2.exp +++ lib/libc++abi2.exp @@ -209,14 +209,14 @@ __ZNSt20bad_array_new_lengthD0Ev __ZNSt20bad_array_new_lengthD2Ev __ZSt10unexpectedv -# __ZdaPv -# __ZdlPv -# __ZdlPvRKSt9nothrow_t -# __Znam -# __ZdaPvRKSt9nothrow_t -# __Znwm -# __ZnwmRKSt9nothrow_t -# __ZnamRKSt9nothrow_t +__ZdaPv +__ZdlPv +__ZdlPvRKSt9nothrow_t +__Znam +__ZdaPvRKSt9nothrow_t +__Znwm +__ZnwmRKSt9nothrow_t +__ZnamRKSt9nothrow_t __ZTISt10bad_typeid __ZTISt8bad_cast ___cxa_bad_typeid
Index: lib/libc++abi2.exp =================================================================== --- lib/libc++abi2.exp +++ lib/libc++abi2.exp @@ -209,14 +209,14 @@ __ZNSt20bad_array_new_lengthD0Ev __ZNSt20bad_array_new_lengthD2Ev __ZSt10unexpectedv -# __ZdaPv -# __ZdlPv -# __ZdlPvRKSt9nothrow_t -# __Znam -# __ZdaPvRKSt9nothrow_t -# __Znwm -# __ZnwmRKSt9nothrow_t -# __ZnamRKSt9nothrow_t +__ZdaPv +__ZdlPv +__ZdlPvRKSt9nothrow_t +__Znam +__ZdaPvRKSt9nothrow_t +__Znwm +__ZnwmRKSt9nothrow_t +__ZnamRKSt9nothrow_t __ZTISt10bad_typeid __ZTISt8bad_cast ___cxa_bad_typeid
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits