mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-02-07 06:53:33 +00:00
* third_party: Add libcxxabi Added libcxxabi from LLVM 17.0.6 The library implements the Itanium C++ exception handling ABI. * third_party/libcxxabi: Enable __cxa_thread_atexit Enable `__cxa_thread_atexit` from libcxxabi. `__cxa_thread_atexit_impl` is still implemented by the cosmo libc. The original `__cxa_thread_atexit` has been removed. * third_party/libcxx: Build with exceptions Build libcxx with exceptions enabled. - Removed `_LIBCPP_NO_EXCEPTIONS` from `__config`. - Switched the exception implementation to `libcxxabi`. These two files are taken from the same `libcxx` version as mentioned in `README.cosmo`. - Removed `new_handler_fallback` in favor of `libcxxabi` implementation. - Enable `-fexceptions` and `-frtti` for `libcxx`. - Removed `THIRD_PARTY_LIBCXX` dependency from `libcxxabi` and `libunwind`. These libraries do not use any runtime `libcxx` functions, just headers. * libc: Remove remaining redundant cxa functions - `__cxa_pure_virtual` in `libcxxabi` is also a stub similar to the existing one. - `__cxa_guard_*` from `libcxxabi` is used instead of the ones from Android. Now there should be no more duplicate implementations. `__cxa_thread_atexit_impl`, `__cxa_atexit`, and related supporting functions, are still left to other libraries as in `libcxxabi`. `libcxxabi` is also now added to `cosmopolitan.a` to make up for the removed functions. Affected in-tree libraries (`third_party/double-conversion`) have been updated. |
||
---|---|---|
.. | ||
demangle | ||
include | ||
libcxx/include/__memory | ||
abort_message.cc | ||
abort_message.h | ||
aix_state_tab_eh.inc | ||
BUILD.mk | ||
CREDITS.TXT | ||
cxa_aux_runtime.cc | ||
cxa_default_handlers.cc | ||
cxa_demangle.cc | ||
cxa_exception.cc | ||
cxa_exception.h | ||
cxa_exception_storage.cc | ||
cxa_guard.cc | ||
cxa_guard_impl.h | ||
cxa_handlers.cc | ||
cxa_handlers.h | ||
cxa_personality.cc | ||
cxa_thread_atexit.cc | ||
cxa_vector.cc | ||
cxa_virtual.cc | ||
fallback_malloc.cc | ||
fallback_malloc.h | ||
LICENSE.TXT | ||
private_typeinfo.cc | ||
private_typeinfo.h | ||
README.cosmo | ||
stdlib_exception.cc | ||
stdlib_new_delete.cc | ||
stdlib_stdexcept.cc | ||
stdlib_typeinfo.cc |
DESCRIPTION libcxxabi - C++ Standard Library Support ORIGIN Obtained from the LLVM monorepo, release 17.0.6. https://github.com/llvm/llvm-project/tree/llvmorg-17.0.6/libunwind commit 6009708b4367171ccdbf4b5905cb6a803753fe18 Author: Tobias Hieta <tobias@hieta.se> Date: Tue, 28 Nov 2023 09:52:28 +0100 LOCAL CHANGES - Add <__memory/aligned_alloc.h> (contains a few inline functions) from upstream libcxx. - Enable __cxa_thread_atexit for Cosmopolitan.