Use libcxx abi v1

This commit is contained in:
Justine Tunney 2024-07-24 09:48:33 -07:00
parent fbc4b03d4c
commit f25fbbaaeb
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
3 changed files with 13 additions and 4 deletions

View file

@ -16,6 +16,7 @@
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE. PERFORMANCE OF THIS SOFTWARE.
*/ */
#include "libc/calls/blockcancel.internal.h"
#include "libc/calls/calls.h" #include "libc/calls/calls.h"
#include "libc/calls/state.internal.h" #include "libc/calls/state.internal.h"
#include "libc/dce.h" #include "libc/dce.h"
@ -58,7 +59,9 @@ static void pthread_mutex_lock_drepper(atomic_int *futex, char pshare) {
if (word == 1) if (word == 1)
word = atomic_exchange_explicit(futex, 2, memory_order_acquire); word = atomic_exchange_explicit(futex, 2, memory_order_acquire);
while (word > 0) { while (word > 0) {
BLOCK_CANCELATION;
_weaken(nsync_futex_wait_)(futex, 2, pshare, 0); _weaken(nsync_futex_wait_)(futex, 2, pshare, 0);
ALLOW_CANCELATION;
word = atomic_exchange_explicit(futex, 2, memory_order_acquire); word = atomic_exchange_explicit(futex, 2, memory_order_acquire);
} }
} }

View file

@ -26,8 +26,8 @@ __static_yoink("__demangle");
#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS #define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
#define _LIBCPP_NO_ABI_TAG #define _LIBCPP_NO_ABI_TAG
#define _LIBCPP_ABI_VERSION 2 #define _LIBCPP_ABI_VERSION 1
#define _LIBCPP_ABI_NAMESPACE __2 #define _LIBCPP_ABI_NAMESPACE __1
#define _LIBCPP_USING_GETENTROPY #define _LIBCPP_USING_GETENTROPY
#define _LIBCPP_DISABLE_AVAILABILITY #define _LIBCPP_DISABLE_AVAILABILITY
#define _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS #define _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS
@ -40,13 +40,16 @@ __static_yoink("__demangle");
#define _LIBCPP_PROVIDES_DEFAULT_RUNE_TABLE #define _LIBCPP_PROVIDES_DEFAULT_RUNE_TABLE
#define _LIBCPP_HAS_CLOCK_GETTIME #define _LIBCPP_HAS_CLOCK_GETTIME
#define _LIBCPP_HARDENING_MODE_DEFAULT 2
#ifdef MODE_DBG #ifdef MODE_DBG
#define _LIBCPP_ENABLE_DEBUG_MODE #define _LIBCPP_ENABLE_DEBUG_MODE
#define _LIBCPP_ENABLE_ASSERTIONS_DEFAULT 1 #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 #else
#define _LIBCPP_ENABLE_ASSERTIONS_DEFAULT 0 #define _LIBCPP_ENABLE_ASSERTIONS_DEFAULT 0
#define _LIBCPP_HARDENING_MODE_DEFAULT (1 << 2) // fast
#endif #endif
// PSTL backends // PSTL backends

View file

@ -10,6 +10,8 @@
#ifndef _LIBCPP_NEW #ifndef _LIBCPP_NEW
#define _LIBCPP_NEW #define _LIBCPP_NEW
#pragma GCC diagnostic ignored "-Walloc-size-larger-than="
/* /*
new synopsis 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) #if __has_builtin(__builtin_operator_new) && __has_builtin(__builtin_operator_delete)
return __builtin_operator_new(__args...); return __builtin_operator_new(__args...);
#else #else
return ::operator new(__args...); return ::operator new(__args...);
#endif #endif
} }