mirror of
https://github.com/SChernykh/p2pool.git
synced 2024-12-22 11:29:23 +00:00
Fixed gcc-14 msys2 build
This commit is contained in:
parent
2c549f61a4
commit
d40b3ddfab
3 changed files with 39 additions and 1 deletions
5
.github/workflows/c-cpp.yml
vendored
5
.github/workflows/c-cpp.yml
vendored
|
@ -354,8 +354,11 @@ jobs:
|
|||
install: mingw-w64-x86_64-toolchain mingw-w64-x86_64-clang mingw-w64-x86_64-lld mingw-w64-x86_64-cmake make git
|
||||
|
||||
- name: Apply patch
|
||||
if: matrix.config.c == 'clang'
|
||||
run: |
|
||||
cd external/src/grpc/third_party/boringssl-with-bazel
|
||||
git apply --verbose --ignore-whitespace ../../../../../patches/msys2/gcc14_boringssl.patch
|
||||
cd ../abseil-cpp
|
||||
git apply --verbose --ignore-whitespace ../../../../../patches/msys2/gcc14_abseil.patch
|
||||
cd /
|
||||
git apply --verbose --ignore-whitespace --directory=mingw64/include/c++/`ls mingw64/include/c++`/ /d/a/p2pool/p2pool/patches/msys2/typeinfo.patch
|
||||
|
||||
|
|
13
patches/msys2/gcc14_abseil.patch
Normal file
13
patches/msys2/gcc14_abseil.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
diff --git a/absl/numeric/internal/bits.h b/absl/numeric/internal/bits.h
|
||||
index bfef06bc..3091d1b4 100644
|
||||
--- a/absl/numeric/internal/bits.h
|
||||
+++ b/absl/numeric/internal/bits.h
|
||||
@@ -303,7 +303,7 @@ CountTrailingZeroesNonzero64(uint64_t x) {
|
||||
|
||||
ABSL_ATTRIBUTE_ALWAYS_INLINE ABSL_INTERNAL_CONSTEXPR_CTZ inline int
|
||||
CountTrailingZeroesNonzero16(uint16_t x) {
|
||||
-#if ABSL_HAVE_BUILTIN(__builtin_ctzs)
|
||||
+#if ABSL_HAVE_BUILTIN(__builtin_ctzs) && defined(__clang__)
|
||||
static_assert(sizeof(unsigned short) == sizeof(x), // NOLINT(runtime/int)
|
||||
"__builtin_ctzs does not take 16-bit arg");
|
||||
return __builtin_ctzs(x);
|
22
patches/msys2/gcc14_boringssl.patch
Normal file
22
patches/msys2/gcc14_boringssl.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
diff --git a/src/crypto/internal.h b/src/crypto/internal.h
|
||||
index a77102d76..30d6826dd 100644
|
||||
--- a/src/crypto/internal.h
|
||||
+++ b/src/crypto/internal.h
|
||||
@@ -1176,7 +1176,7 @@ static inline uint64_t CRYPTO_rotr_u64(uint64_t value, int shift) {
|
||||
|
||||
// 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)
|
||||
+#if OPENSSL_HAS_BUILTIN(__builtin_addc) && !defined(__cplusplus)
|
||||
|
||||
#define CRYPTO_GENERIC_ADDC(x, y, carry, out_carry) \
|
||||
(_Generic((x), \
|
||||
@@ -1228,7 +1228,7 @@ static inline uint64_t CRYPTO_addc_u64(uint64_t x, uint64_t y, uint64_t carry,
|
||||
|
||||
// CRYPTO_subc_* returns |x - y - borrow|, and sets |*out_borrow| to the borrow
|
||||
// bit. |borrow| must be zero or one.
|
||||
-#if OPENSSL_HAS_BUILTIN(__builtin_subc)
|
||||
+#if OPENSSL_HAS_BUILTIN(__builtin_subc) && !defined(__cplusplus)
|
||||
|
||||
#define CRYPTO_GENERIC_SUBC(x, y, borrow, out_borrow) \
|
||||
(_Generic((x), \
|
Loading…
Reference in a new issue