From 15e263b5e289a63984e86d47f24000e0adcd9e20 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Fri, 17 May 2024 08:18:26 +0200 Subject: add boringssl upstream patch for GCC 14 --- grpc-gcc14.patch | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 grpc-gcc14.patch (limited to 'grpc-gcc14.patch') diff --git a/grpc-gcc14.patch b/grpc-gcc14.patch new file mode 100644 index 0000000..1d73348 --- /dev/null +++ b/grpc-gcc14.patch @@ -0,0 +1,44 @@ +From c70190368c7040c37c1d655f0690bcde2b109a0d Mon Sep 17 00:00:00 2001 +From: David Benjamin +Date: Thu, 16 May 2024 11:00:42 -0400 +Subject: [PATCH 1/3] Don't define CRYPTO_addc_* and CRYPTO_subc_* in C++ + +GCC does not support C11 _Generic in C++ mode. + +Change-Id: I974a0b04bbe4900419736044d0d8050f2b856d56 +Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/68507 +Auto-Submit: David Benjamin +Commit-Queue: David Benjamin +Reviewed-by: Adam Langley +--- + crypto/internal.h | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/crypto/internal.h b/crypto/internal.h +index a77102d76..a45f97bcc 100644 +--- a/crypto/internal.h ++++ b/crypto/internal.h +@@ -1174,6 +1174,11 @@ static inline uint64_t CRYPTO_rotr_u64(uint64_t value, int shift) { + + // Arithmetic functions. + ++// The most efficient versions of these functions on GCC and Clang depend on C11 ++// |_Generic|. If we ever need to call these from C++, we'll need to add a ++// variant that uses C++ overloads instead. ++#if !defined(__cplusplus) ++ + // CRYPTO_addc_* returns |x + y + carry|, and sets |*out_carry| to the carry + // bit. |carry| must be zero or one. + #if OPENSSL_HAS_BUILTIN(__builtin_addc) +@@ -1275,6 +1280,8 @@ static inline uint64_t CRYPTO_subc_u64(uint64_t x, uint64_t y, uint64_t borrow, + #define CRYPTO_subc_w CRYPTO_subc_u32 + #endif + ++#endif // !__cplusplus ++ + + // FIPS functions. + +-- +2.45.0 + -- cgit