From 502576ff8e2ed21b27fb5177204b4bf82859be40 Mon Sep 17 00:00:00 2001 From: Patrick Rohr Date: Tue, 4 Apr 2023 15:19:23 -0700 Subject: cronet: fix abseil in version 110 This essentially applies cl/500038304. This fix is available in version 111. Test: try to build Change-Id: I5b6173a1403f9e2b86fd0f7231efb9e0a99befab --- third_party/abseil-cpp/absl/crc/internal/crc_memcpy.h | 7 +++++++ third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc | 4 ++-- third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_64.cc | 4 ++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/third_party/abseil-cpp/absl/crc/internal/crc_memcpy.h b/third_party/abseil-cpp/absl/crc/internal/crc_memcpy.h index ae9cccadb..4909d4336 100644 --- a/third_party/abseil-cpp/absl/crc/internal/crc_memcpy.h +++ b/third_party/abseil-cpp/absl/crc/internal/crc_memcpy.h @@ -21,6 +21,13 @@ #include "absl/base/config.h" #include "absl/crc/crc32c.h" +// Defined if the class AcceleratedCrcMemcpyEngine exists. +#if defined(__x86_64__) && defined(__SSE4_2__) +#define ABSL_INTERNAL_HAVE_X86_64_ACCELERATED_CRC_MEMCPY_ENGINE 1 +#elif defined(_MSC_VER) && defined(__AVX__) +#define ABSL_INTERNAL_HAVE_X86_64_ACCELERATED_CRC_MEMCPY_ENGINE 1 +#endif + namespace absl { ABSL_NAMESPACE_BEGIN namespace crc_internal { diff --git a/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc b/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc index 4579c164d..15b4b0559 100644 --- a/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc +++ b/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc @@ -54,7 +54,7 @@ absl::crc32c_t FallbackCrcMemcpyEngine::Compute(void* __restrict dst, } // Compile the following only if we don't have -#ifndef __SSE4_2__ +#ifndef ABSL_INTERNAL_HAVE_X86_64_ACCELERATED_CRC_MEMCPY_ENGINE CrcMemcpy::ArchSpecificEngines CrcMemcpy::GetArchSpecificEngines() { CrcMemcpy::ArchSpecificEngines engines; @@ -68,7 +68,7 @@ std::unique_ptr CrcMemcpy::GetTestEngine(int /*vector*/, return std::make_unique(); } -#endif +#endif // ABSL_INTERNAL_HAVE_X86_64_ACCELERATED_CRC_MEMCPY_ENGINE } // namespace crc_internal ABSL_NAMESPACE_END diff --git a/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_64.cc b/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_64.cc index a148fe174..66f784de4 100644 --- a/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_64.cc +++ b/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_64.cc @@ -59,7 +59,7 @@ #include "absl/crc/internal/crc_memcpy.h" #include "absl/strings/string_view.h" -#if defined(__SSE4_2__) || (defined(_MSC_VER) && defined(__AVX__)) +#ifdef ABSL_INTERNAL_HAVE_X86_64_ACCELERATED_CRC_MEMCPY_ENGINE namespace absl { ABSL_NAMESPACE_BEGIN @@ -431,4 +431,4 @@ std::unique_ptr CrcMemcpy::GetTestEngine(int vector, ABSL_NAMESPACE_END } // namespace absl -#endif // defined(__SSE4_2__) || (defined(_MSC_VER) && defined(__AVX__)) +#endif // ABSL_INTERNAL_HAVE_X86_64_ACCELERATED_CRC_MEMCPY_ENGINE -- cgit v1.2.3