--- a/tools/vendor/abseil-cpp/absl/base/internal/sysinfo.cc 2023-08-07 21:40:00.000000000 +0300 +++ b/tools/vendor/abseil-cpp/absl/base/internal/sysinfo.cc 2023-08-16 00:59:00.596362110 +0300 @@ -58,6 +58,10 @@ #include "absl/base/internal/unscaledcycleclock.h" #include "absl/base/thread_annotations.h" +#if defined __APPLE__ +#include +#endif + namespace absl { ABSL_NAMESPACE_BEGIN namespace base_internal { @@ -428,7 +432,17 @@ // `nullptr` here implies this thread. This only fails if the specified // thread is invalid or the pointer-to-tid is null, so we needn't worry about // it. +#if (MAC_OS_X_VERSION_MAX_ALLOWED < 1060) || defined(__POWERPC__) + tid = pthread_mach_thread_np(pthread_self()); +#elif MAC_OS_X_VERSION_MIN_REQUIRED < 1060 + if (&pthread_threadid_np) { + pthread_threadid_np(nullptr, &tid); + } else { + tid = pthread_mach_thread_np(pthread_self()); + } +#else pthread_threadid_np(nullptr, &tid); +#endif return static_cast(tid); } --- a/tools/vendor/abseil-cpp/absl/copts/AbseilConfigureCopts.cmake 2022-09-03 07:16:44.000000000 +0700 +++ b/tools/vendor/abseil-cpp/absl/copts/AbseilConfigureCopts.cmake 2022-09-03 07:21:50.000000000 +0700 @@ -52,13 +52,13 @@ if(ABSL_RANDOM_RANDEN_COPTS AND NOT ABSL_RANDOM_RANDEN_COPTS_WARNING) list(APPEND ABSL_RANDOM_RANDEN_COPTS "-Wno-unused-command-line-argument") endif() -elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64|AMD64") +elseif(CMAKE_OSX_ARCHITECTURES MATCHES "x86_64|amd64|AMD64") if (MSVC) set(ABSL_RANDOM_RANDEN_COPTS "${ABSL_RANDOM_HWAES_MSVC_X64_FLAGS}") else() set(ABSL_RANDOM_RANDEN_COPTS "${ABSL_RANDOM_HWAES_X64_FLAGS}") endif() -elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm.*|aarch64") +elseif(CMAKE_OSX_ARCHITECTURES MATCHES "arm.*|aarch64") if (CMAKE_SIZEOF_VOID_P STREQUAL "8") set(ABSL_RANDOM_RANDEN_COPTS "${ABSL_RANDOM_HWAES_ARM64_FLAGS}") elseif(CMAKE_SIZEOF_VOID_P STREQUAL "4") @@ -66,6 +66,8 @@ else() message(WARNING "Value of CMAKE_SIZEOF_VOID_P (${CMAKE_SIZEOF_VOID_P}) is not supported.") endif() +elseif(CMAKE_OSX_ARCHITECTURES MATCHES "ppc|ppc64") + set(ABSL_RANDOM_RANDEN_COPTS "${ABSL_RANDOM_HWAES_PPC_FLAGS}") else() message(WARNING "Value of CMAKE_SYSTEM_PROCESSOR (${CMAKE_SYSTEM_PROCESSOR}) is unknown and cannot be used to set ABSL_RANDOM_RANDEN_COPTS") set(ABSL_RANDOM_RANDEN_COPTS "") --- a/tools/vendor/abseil-cpp/absl/random/internal/randen_detect.cc 2022-09-01 00:15:21.000000000 +0700 +++ b/tools/vendor/abseil-cpp/absl/random/internal/randen_detect.cc 2022-09-03 07:03:35.000000000 +0700 @@ -39,6 +39,8 @@ #elif defined(__linux__) && defined(ABSL_HAVE_GETAUXVAL) #define ABSL_INTERNAL_USE_LINUX_GETAUXVAL #define ABSL_INTERNAL_USE_GETAUXVAL +#elif defined(__APPLE__) && defined(ABSL_ARCH_PPC) +#define ABSL_INTERNAL_USE_PPC_CPUINFO #endif #endif @@ -56,6 +58,11 @@ #endif #endif // ABSL_INTERNAL_USE_X86_CPUID +#if defined(ABSL_INTERNAL_USE_PPC_CPUINFO) +#include +#include +#endif // ABSL_INTERNAL_USE_PPC_CPUINFO + // On linux, just use the c-library getauxval call. #if defined(ABSL_INTERNAL_USE_LINUX_GETAUXVAL) --- a/tools/vendor/abseil-cpp/absl/random/internal/platform.h 2022-09-01 00:15:21.000000000 +0700 +++ b/tools/vendor/abseil-cpp/absl/random/internal/platform.h 2022-09-03 06:56:21.000000000 +0700 @@ -67,8 +67,8 @@ #define ABSL_ARCH_AARCH64 #elif defined(__arm__) || defined(__ARMEL__) || defined(_M_ARM) #define ABSL_ARCH_ARM -#elif defined(__powerpc64__) || defined(__PPC64__) || defined(__powerpc__) || \ - defined(__ppc__) || defined(__PPC__) +#elif defined(__powerpc64__) || defined(__PPC64__) || defined(__ppc64__) || \ + defined(__powerpc__) || defined(__PPC__) || defined(__ppc__) #define ABSL_ARCH_PPC #else // Unsupported architecture. @@ -105,9 +105,11 @@ #elif defined(ABSL_ARCH_PPC) +#if defined(__APPLE__) +#undef ABSL_HAVE_ACCELERATED_AES +#define ABSL_HAVE_ACCELERATED_AES 0 // Rely on VSX and CRYPTO extensions for vcipher on PowerPC. -#if (defined(__VEC__) || defined(__ALTIVEC__)) && defined(__VSX__) && \ - defined(__CRYPTO__) +#elif (defined(__VEC__) || defined(__ALTIVEC__)) && defined(__VSX__) && defined(__CRYPTO__) #undef ABSL_HAVE_ACCELERATED_AES #define ABSL_HAVE_ACCELERATED_AES 1 #endif @@ -151,6 +153,10 @@ // (This captures a lot of Android configurations.) #undef ABSL_RANDOM_INTERNAL_AES_DISPATCH #define ABSL_RANDOM_INTERNAL_AES_DISPATCH 1 +#elif defined(__APPLE__) && defined(ABSL_ARCH_PPC) +// Darwin PPC +#undef ABSL_RANDOM_INTERNAL_AES_DISPATCH +#define ABSL_RANDOM_INTERNAL_AES_DISPATCH 0 #endif // NaCl does not allow dispatch. --- a/tools/vendor/abseil-cpp/absl/debugging/internal/examine_stack.cc 2022-06-23 22:22:47.000000000 +0400 +++ b/tools/vendor/abseil-cpp/absl/debugging/internal/examine_stack.cc 2022-07-23 19:11:23.000000000 +0400 @@ -223,6 +232,12 @@ #else return reinterpret_cast(signal_ucontext->uc_mcontext->ss.rip); #endif +#elif defined(__ppc__) || defined(__ppc64__) +#if __DARWIN_UNIX03 + return reinterpret_cast(signal_ucontext->uc_mcontext->__ss.__srr0); +#else + return reinterpret_cast(signal_ucontext->uc_mcontext->ss.srr0); +#endif #endif } #elif defined(__akaros__)