mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-05-28 00:02:28 +00:00
Make some fixes for libcxx
This change figures out some of the build configuration issues we've been having with libcxx. The c++ span header is added. Per a Discord discussion we're now turning off `-g` for the default build mode, so consider using `make MODE=dbg` or `make MODE=zero` for GDB debugging which works much better than `MODE=` ever has. Note that the default build mode has always had very good function call / system call logs plus you can still use ShowCrashReports() for backtrace. Making this change ensures cosmocc will better conform to FOSS norms. Lastly the LoadZipArgs() API has been added to cosmopolitan.a and <cosmo.h>.
This commit is contained in:
parent
3a8579252d
commit
a092fda388
18 changed files with 636 additions and 29 deletions
12
third_party/libcxx/atomic
vendored
12
third_party/libcxx/atomic
vendored
|
@ -715,7 +715,7 @@ void __cxx_atomic_signal_fence(memory_order __order) {
|
|||
}
|
||||
|
||||
template <typename _Tp>
|
||||
_LIBCPP_INLINE_VISIBILITY inline
|
||||
_LIBCPP_INLINE_VISIBILITY
|
||||
void __cxx_atomic_store(volatile __cxx_atomic_base_impl<_Tp>* __a, _Tp __val,
|
||||
memory_order __order) {
|
||||
__atomic_store(&__a->__a_value, &__val,
|
||||
|
@ -723,7 +723,7 @@ void __cxx_atomic_store(volatile __cxx_atomic_base_impl<_Tp>* __a, _Tp __val,
|
|||
}
|
||||
|
||||
template <typename _Tp>
|
||||
_LIBCPP_INLINE_VISIBILITY inline
|
||||
_LIBCPP_INLINE_VISIBILITY
|
||||
void __cxx_atomic_store(__cxx_atomic_base_impl<_Tp>* __a, _Tp __val,
|
||||
memory_order __order) {
|
||||
__atomic_store(&__a->__a_value, &__val,
|
||||
|
@ -731,7 +731,7 @@ void __cxx_atomic_store(__cxx_atomic_base_impl<_Tp>* __a, _Tp __val,
|
|||
}
|
||||
|
||||
template <typename _Tp>
|
||||
_LIBCPP_INLINE_VISIBILITY inline
|
||||
_LIBCPP_INLINE_VISIBILITY
|
||||
_Tp __cxx_atomic_load(const volatile __cxx_atomic_base_impl<_Tp>* __a,
|
||||
memory_order __order) {
|
||||
_Tp __ret;
|
||||
|
@ -741,7 +741,7 @@ _Tp __cxx_atomic_load(const volatile __cxx_atomic_base_impl<_Tp>* __a,
|
|||
}
|
||||
|
||||
template <typename _Tp>
|
||||
_LIBCPP_INLINE_VISIBILITY inline
|
||||
_LIBCPP_INLINE_VISIBILITY
|
||||
_Tp __cxx_atomic_load(const __cxx_atomic_base_impl<_Tp>* __a, memory_order __order) {
|
||||
_Tp __ret;
|
||||
__atomic_load(&__a->__a_value, &__ret,
|
||||
|
@ -750,7 +750,7 @@ _Tp __cxx_atomic_load(const __cxx_atomic_base_impl<_Tp>* __a, memory_order __ord
|
|||
}
|
||||
|
||||
template <typename _Tp>
|
||||
_LIBCPP_INLINE_VISIBILITY inline
|
||||
_LIBCPP_INLINE_VISIBILITY
|
||||
_Tp __cxx_atomic_exchange(volatile __cxx_atomic_base_impl<_Tp>* __a,
|
||||
_Tp __value, memory_order __order) {
|
||||
_Tp __ret;
|
||||
|
@ -760,7 +760,7 @@ _Tp __cxx_atomic_exchange(volatile __cxx_atomic_base_impl<_Tp>* __a,
|
|||
}
|
||||
|
||||
template <typename _Tp>
|
||||
_LIBCPP_INLINE_VISIBILITY inline
|
||||
_LIBCPP_INLINE_VISIBILITY
|
||||
_Tp __cxx_atomic_exchange(__cxx_atomic_base_impl<_Tp>* __a, _Tp __value,
|
||||
memory_order __order) {
|
||||
_Tp __ret;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue