-
Notifications
You must be signed in to change notification settings - Fork 12.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
__cxa_new_handler missing in libc++abi from 3.6 #23612
Comments
Looking at the src differences, this is certainly caused by this change: -extern "C" new_handler __cxa_new_handler = 0; |
Fallout from commit 5660f752e7eebc1b2cfd62ed1c1c12da75efc727
|
Hm, I was relying on the extern "C" from the header, but the variable is declared in namespace std so it doesn't redeclare the extern "C" variable. |
Amusingly, Howard explicitly added the extern "C" in r155763, and I undid it. >_< I reverted that change in r235013. libcxxabi isn't close to warning-free with gcc anyway. I think we should probably fix the ABI in 3.6.1 and MacPorts can carry a local patch to 3.6.0? |
That sounds good. Jeremy's already patched it for us. |
Sounds good, so fixed in r235013. |
Thanks for the quick turnaround, Reid. |
Extended Description
libc++abi from the 3.6.0 tarball is not binary compatible with older versions and will break the system if installed on OSX.
I noticed this when updating libcxxabi in MacPorts.
libc++abi from 3.5.1 contains the symbol ___cxa_new_handler whereas 3.6.0 contains the C++ mangled symbol __ZSt17__cxa_new_handler instead
The text was updated successfully, but these errors were encountered: