mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-03-03 07:29:23 +00:00
Use libcxx abi v1
This commit is contained in:
parent
fbc4b03d4c
commit
f25fbbaaeb
3 changed files with 13 additions and 4 deletions
|
@ -16,6 +16,7 @@
|
|||
│ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │
|
||||
│ PERFORMANCE OF THIS SOFTWARE. │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/calls/blockcancel.internal.h"
|
||||
#include "libc/calls/calls.h"
|
||||
#include "libc/calls/state.internal.h"
|
||||
#include "libc/dce.h"
|
||||
|
@ -58,7 +59,9 @@ static void pthread_mutex_lock_drepper(atomic_int *futex, char pshare) {
|
|||
if (word == 1)
|
||||
word = atomic_exchange_explicit(futex, 2, memory_order_acquire);
|
||||
while (word > 0) {
|
||||
BLOCK_CANCELATION;
|
||||
_weaken(nsync_futex_wait_)(futex, 2, pshare, 0);
|
||||
ALLOW_CANCELATION;
|
||||
word = atomic_exchange_explicit(futex, 2, memory_order_acquire);
|
||||
}
|
||||
}
|
||||
|
|
11
third_party/libcxx/__config_site
vendored
11
third_party/libcxx/__config_site
vendored
|
@ -26,8 +26,8 @@ __static_yoink("__demangle");
|
|||
#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
|
||||
|
||||
#define _LIBCPP_NO_ABI_TAG
|
||||
#define _LIBCPP_ABI_VERSION 2
|
||||
#define _LIBCPP_ABI_NAMESPACE __2
|
||||
#define _LIBCPP_ABI_VERSION 1
|
||||
#define _LIBCPP_ABI_NAMESPACE __1
|
||||
#define _LIBCPP_USING_GETENTROPY
|
||||
#define _LIBCPP_DISABLE_AVAILABILITY
|
||||
#define _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS
|
||||
|
@ -40,13 +40,16 @@ __static_yoink("__demangle");
|
|||
#define _LIBCPP_PROVIDES_DEFAULT_RUNE_TABLE
|
||||
#define _LIBCPP_HAS_CLOCK_GETTIME
|
||||
|
||||
#define _LIBCPP_HARDENING_MODE_DEFAULT 2
|
||||
|
||||
#ifdef MODE_DBG
|
||||
#define _LIBCPP_ENABLE_DEBUG_MODE
|
||||
#define _LIBCPP_ENABLE_ASSERTIONS_DEFAULT 1
|
||||
#define _LIBCPP_HARDENING_MODE_DEFAULT (1 << 3) // debug
|
||||
#elif defined(TINY)
|
||||
#define _LIBCPP_ENABLE_ASSERTIONS_DEFAULT 0
|
||||
#define _LIBCPP_HARDENING_MODE_DEFAULT (1 << 1) // none
|
||||
#else
|
||||
#define _LIBCPP_ENABLE_ASSERTIONS_DEFAULT 0
|
||||
#define _LIBCPP_HARDENING_MODE_DEFAULT (1 << 2) // fast
|
||||
#endif
|
||||
|
||||
// PSTL backends
|
||||
|
|
3
third_party/libcxx/new
vendored
3
third_party/libcxx/new
vendored
|
@ -10,6 +10,8 @@
|
|||
#ifndef _LIBCPP_NEW
|
||||
#define _LIBCPP_NEW
|
||||
|
||||
#pragma GCC diagnostic ignored "-Walloc-size-larger-than="
|
||||
|
||||
/*
|
||||
new synopsis
|
||||
|
||||
|
@ -264,6 +266,7 @@ _LIBCPP_HIDE_FROM_ABI void* __libcpp_operator_new(_Args... __args) {
|
|||
#if __has_builtin(__builtin_operator_new) && __has_builtin(__builtin_operator_delete)
|
||||
return __builtin_operator_new(__args...);
|
||||
#else
|
||||
|
||||
return ::operator new(__args...);
|
||||
#endif
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue