Sam Clegg
Sam Clegg
You could try changing the libcxxabi code to: `#if !defined(NDEBUG) || (!defined(LIBCXXABI_BAREMETAL) && !defined(__wasi__))` Or maybe even `__wasm__` on the grounds that we care a lot about codesize on wasm...
It seems building without `LIBCXXABI_ENABLE_ASSERTIONS` would be the way to go to avoid including this code.
Actually wouldn't you need both `LIBCXXABI_ENABLE_ASSERTIONS` and `LIBCXXABI_BAREMETAL`? Its not clear to me exactly what `LIBCXXABI_BAREMETAL` is supposed to signify.. it seems like it could be related specifically to ARM...
These message and assertions can be very useful to developers, so removing them by default sounds wrong. It sounds like we might need two different build configuration since I imagine...
I think its reasonable to be able to opt out of abort_message() printing and formatting explicitly. What is more we might want to make abort_message into a macro in the...
If that is acceptable upstream that is great. However it could be that folks want to silence just `std::terminate` without also silencing the other usages of `abort_message`.
I went down the rabbit hole a little bit because I was confused as to why these table slots were being included at all given that `abort_message` is not present...
Actually solution (2) doesn't fix he issue on it own since there is another reference to `abort_message` in `cxa_virtual.cpp(__cxa_pure_virtual)`
I'm not wedded to any CI system. As long as it can publish to github releases and has a high enough timeout to handle the llvm build.
Yes, lets get a proof of concept landed and we can add windows + releases later.