git: 4cfb25743893 - main - net-p2p/xmrig: Fix build with clang15 on i386
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 19 Feb 2023 10:14:44 UTC
The branch main has been updated by ehaupt: URL: https://cgit.FreeBSD.org/ports/commit/?id=4cfb25743893e2abc3c9cda87e2e720f420c39f1 commit 4cfb25743893e2abc3c9cda87e2e720f420c39f1 Author: Emanuel Haupt <ehaupt@FreeBSD.org> AuthorDate: 2023-02-19 10:14:16 +0000 Commit: Emanuel Haupt <ehaupt@FreeBSD.org> CommitDate: 2023-02-19 10:14:39 +0000 net-p2p/xmrig: Fix build with clang15 on i386 Upstream issue: https://github.com/xmrig/xmrig/issues/3212 --- net-p2p/xmrig/Makefile | 2 -- net-p2p/xmrig/files/patch-src_crypto_cn_CryptoNight__x86.h | 11 +++++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/net-p2p/xmrig/Makefile b/net-p2p/xmrig/Makefile index 4867f6c7b049..330693d4674d 100644 --- a/net-p2p/xmrig/Makefile +++ b/net-p2p/xmrig/Makefile @@ -12,8 +12,6 @@ LICENSE_FILE= ${WRKSRC}/LICENSE BROKEN_powerpc64= fails to compile: g++9: error: unrecognized command line option '-maes'; did you mean '-mads'? BROKEN_riscv64= fails to compile: /nxb-bin/usr/lib/clang/11.0.0/include/cpuid.h:11:2: error: this header is for x86 only -# See: https://github.com/xmrig/xmrig/issues/3212 -BROKEN_FreeBSD_14_i386= fails to compile with llvm15 on i386 USES= cmake compiler:c++11-lang ssl USE_GITHUB= yes diff --git a/net-p2p/xmrig/files/patch-src_crypto_cn_CryptoNight__x86.h b/net-p2p/xmrig/files/patch-src_crypto_cn_CryptoNight__x86.h new file mode 100644 index 000000000000..97b199971b98 --- /dev/null +++ b/net-p2p/xmrig/files/patch-src_crypto_cn_CryptoNight__x86.h @@ -0,0 +1,11 @@ +--- src/crypto/cn/CryptoNight_x86.h.orig 2023-02-02 04:51:11 UTC ++++ src/crypto/cn/CryptoNight_x86.h +@@ -80,7 +80,7 @@ static inline void do_skein_hash(const uint8_t *input, + void (* const extra_hashes[4])(const uint8_t *, size_t, uint8_t *) = {do_blake_hash, do_groestl_hash, do_jh_hash, do_skein_hash}; + + +-#if defined(__i386__) || defined(_M_IX86) ++#if (defined(__i386__) || defined(_M_IX86)) && !(defined(__clang__) && defined(__clang_major__) && (__clang_major__ >= 15)) + static inline int64_t _mm_cvtsi128_si64(__m128i a) + { + return ((uint64_t)(uint32_t)_mm_cvtsi128_si32(a) | ((uint64_t)(uint32_t)_mm_cvtsi128_si32(_mm_srli_si128(a, 4)) << 32));