<pre style='margin:0'>
Renee Otten (reneeotten) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/1ef0f6ccbf661febd8f59af307d6f5b719eafd83">https://github.com/macports/macports-ports/commit/1ef0f6ccbf661febd8f59af307d6f5b719eafd83</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 1ef0f6ccbf6 wolfssl: update to version 5.7.4
</span>1ef0f6ccbf6 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 1ef0f6ccbf661febd8f59af307d6f5b719eafd83
</span>Author: JacobBarthelmeh <jacob@wolfssl.com>
AuthorDate: Mon Oct 28 15:53:07 2024 -0600
<span style='display:block; white-space:pre;color:#404040;'> wolfssl: update to version 5.7.4
</span>---
devel/wolfssl/Portfile | 22 +-
.../files/0001-types.h-add-powerpc-macros.patch | 45 ---
.../files/0002-asm.c-fix-ppc-asm-for-macOS.patch | 94 ------
.../0003-sp_int.c-fix-ppc-asm-for-macOS.patch | 346 ---------------------
.../0004-wc_port.h-fix-macros-for-powerpc.patch | 34 --
.../0005-Fix-libdispatch-usage-condition.patch | 288 -----------------
...-EV_TRIGGER-when-NOTE_TRIGGER-unavailable.patch | 28 --
7 files changed, 5 insertions(+), 852 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/wolfssl/Portfile b/devel/wolfssl/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 89302da7211..44cdbea6f58 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/wolfssl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/wolfssl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7,8 +7,7 @@ PortGroup legacysupport 1.1
</span> legacysupport.newest_darwin_requires_legacy 15
name wolfssl
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version 5.7.2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version 5.7.4
</span> categories devel security
maintainers {wolfssl.com:facts @JacobBarthelmeh} openmaintainer
homepage https://wolfssl.com/wolfSSL/Products-wolfssl.html
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -28,20 +27,9 @@ long_description \
</span> master_sites https://www.wolfssl.com/
use_zip yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums rmd160 ed7c0a3d1699bcaaabe8652af1ea3bcce87d10e6 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 07d580eb452aed737f1ce71aecc4f076276508f9454d70c8083772f6143ca160 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 25112699
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patch.pre_args-replace -p0 -p1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/wolfSSL/wolfssl/pull/7931
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/wolfSSL/wolfssl/pull/7932
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append 0001-types.h-add-powerpc-macros.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 0002-asm.c-fix-ppc-asm-for-macOS.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 0003-sp_int.c-fix-ppc-asm-for-macOS.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 0004-wc_port.h-fix-macros-for-powerpc.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 0005-Fix-libdispatch-usage-condition.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 0006-crl.c-use-EV_TRIGGER-when-NOTE_TRIGGER-unavailable.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 c3f5b70e23e8ed69c11c4c1b198f227ae8d6b5fb \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 3065cf77aad52eea45ef873f1c71820d1d53f22f2696530abe2a736ee40ff5c8 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 25983334
</span>
configure.args --enable-all \
--disable-jobserver \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -83,7 +71,7 @@ livecheck.url https://www.wolfssl.com/wolfSSL/download/downloadForm.php
</span> livecheck.regex "${name}-((?!.*${name}.*|\\${extract.suffix}).*)\\${extract.suffix}"
test.run yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-test.env TMPDIR=/tmp RANDFILE=/tmp/wolfssl-unittest-rnd DYLD_LIBRARY_PATH=${worksrcpath}/src/.libs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.env TMPDIR=/tmp RANDFILE=/tmp/wolfssl-unittest-rnd DYLD_LIBRARY_PATH=${worksrcpath}/src/.libs WOLFSSL_EXTERNAL_TEST=0
</span> test.target check
test.args -j${build.jobs}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/wolfssl/files/0001-types.h-add-powerpc-macros.patch b/devel/wolfssl/files/0001-types.h-add-powerpc-macros.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 5ce8a03c8c8..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/wolfssl/files/0001-types.h-add-powerpc-macros.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,45 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 765e5d16891e9e6edd1ffe83edff1dd37c3e36ce Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Sergey Fedorov <barracuda@macos-powerpc.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sat, 31 Aug 2024 21:34:57 +0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 1/6] types.h: add powerpc macros
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- wolfssl/wolfcrypt/types.h | 8 ++++----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 4 insertions(+), 4 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/wolfssl/wolfcrypt/types.h b/wolfssl/wolfcrypt/types.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 4696b065b..ac42afef4 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/wolfssl/wolfcrypt/types.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/wolfssl/wolfcrypt/types.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -158,16 +158,16 @@ decouple library dependencies with standard string, memory and so on.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #elif !defined(__BCPLUSPLUS__) && !defined(__EMSCRIPTEN__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if !defined(SIZEOF_LONG_LONG) && !defined(SIZEOF_LONG)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if (defined(__alpha__) || defined(__ia64__) || \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- defined(_ARCH_PPC64) || defined(__mips64) || \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ defined(_ARCH_PPC64) || defined(__ppc64__) || \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- defined(__x86_64__) || defined(__s390x__ ) || \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ((defined(sun) || defined(__sun)) && \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (defined(LP64) || defined(_LP64))) || \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (defined(__riscv_xlen) && (__riscv_xlen == 64)) || \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- defined(__aarch64__) || \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ defined(__aarch64__) || defined(__mips64) || \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (defined(__DCC__) && (defined(__LP64) || defined(__LP64__))))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* long should be 64bit */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define SIZEOF_LONG 8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- #elif defined(__i386__) || defined(__CORTEX_M3__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ #elif defined(__i386__) || defined(__CORTEX_M3__) || defined(__ppc__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* long long should be 64bit */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define SIZEOF_LONG_LONG 8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -230,7 +230,7 @@ decouple library dependencies with standard string, memory and so on.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- defined(__x86_64__) || defined(_M_X64)) || \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- defined(__aarch64__) || defined(__sparc64__) || defined(__s390x__ ) || \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (defined(__riscv_xlen) && (__riscv_xlen == 64)) || defined(_M_ARM64) || \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- defined(__aarch64__) || \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ defined(__aarch64__) || defined(__ppc64__) || \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (defined(__DCC__) && (defined(__LP64) || defined(__LP64__)))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define WC_64BIT_CPU
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #elif (defined(sun) || defined(__sun)) && \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.46.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/wolfssl/files/0002-asm.c-fix-ppc-asm-for-macOS.patch b/devel/wolfssl/files/0002-asm.c-fix-ppc-asm-for-macOS.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index df9623afb82..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/wolfssl/files/0002-asm.c-fix-ppc-asm-for-macOS.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,94 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From b6bfae9c24dd369111825590f09f6c50a8559061 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Sergey Fedorov <barracuda@macos-powerpc.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sun, 1 Sep 2024 19:44:20 +0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 2/6] asm.c: fix ppc asm for macOS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- wolfcrypt/src/asm.c | 50 +++++++++++++++++++++++++++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 50 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/wolfcrypt/src/asm.c b/wolfcrypt/src/asm.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index c36099067..2096ae90d 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/wolfcrypt/src/asm.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/wolfcrypt/src/asm.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -529,6 +529,27 @@ __asm__( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define LOOP_START \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mu = c[x] * mp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define INNERMUL \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__asm__( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ " mullw r16,%3,%4 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ " mulhwu r17,%3,%4 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ " addc r16,r16,%2 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ " addze r17,r17 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ " addc %1,r16,%5 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ " addze %0,r17 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+:"=r"(cy),"=r"(_c[0]):"0"(cy),"r"(mu),"r"(tmpm[0]),"1"(_c[0]):"r16", "r17", "cc"); ++tmpm;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define PROPCARRY \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__asm__( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ " addc %1,%3,%2 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ " xor %0,%2,%2 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ " addze %0,%2 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+:"=r"(cy),"=r"(_c[0]):"0"(cy),"1"(_c[0]):"cc");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define INNERMUL \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- __asm__( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- " mullw 16,%3,%4 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -546,6 +567,8 @@ __asm__( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- " addze %0,%2 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- :"=r"(cy),"=r"(_c[0]):"0"(cy),"1"(_c[0]):"cc");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #elif defined(TFM_PPC64)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* PPC64 */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -555,6 +578,8 @@ __asm__( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define LOOP_START \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mu = c[x] * mp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define INNERMUL \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- __asm__( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- " mulld r16,%3,%4 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -576,6 +601,31 @@ __asm__( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- " addze %0,%0 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- :"=r"(cy),"=m"(_c[0]):"0"(cy),"1"(_c[0]):"r16","cc");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define INNERMUL \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__asm__( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ " mulld 16,%3,%4 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ " mulhdu 17,%3,%4 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ " addc 16,16,%0 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ " addze 17,17 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ " ldx 18,0,%1 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ " addc 16,16,18 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ " addze %0,17 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ " sdx 16,0,%1 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+:"=r"(cy),"=m"(_c[0]):"0"(cy),"r"(mu),"r"(tmpm[0]),"1"(_c[0]):"16", "17", "18","cc"); ++tmpm;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define PROPCARRY \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__asm__( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ " ldx 16,0,%1 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ " addc 16,16,%0 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ " sdx 16,0,%1 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ " xor %0,%0,%0 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ " addze %0,%0 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+:"=r"(cy),"=m"(_c[0]):"0"(cy),"1"(_c[0]):"16","cc");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /******************************************************************/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #elif defined(TFM_AVR32)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.46.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/wolfssl/files/0003-sp_int.c-fix-ppc-asm-for-macOS.patch b/devel/wolfssl/files/0003-sp_int.c-fix-ppc-asm-for-macOS.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index df3f342a586..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/wolfssl/files/0003-sp_int.c-fix-ppc-asm-for-macOS.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,346 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From ef2424336ceb7a7e5c3bb0821a4d8b14507d8af9 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Sergey Fedorov <barracuda@macos-powerpc.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sun, 1 Sep 2024 19:33:29 +0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 3/6] sp_int.c: fix ppc asm for macOS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- wolfcrypt/src/sp_int.c | 302 +++++++++++++++++++++++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 302 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/wolfcrypt/src/sp_int.c b/wolfcrypt/src/sp_int.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 8c727d738..34591c62e 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/wolfcrypt/src/sp_int.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/wolfcrypt/src/sp_int.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3477,6 +3477,156 @@ static WC_INLINE sp_int_digit sp_div_word(sp_int_digit hi, sp_int_digit lo,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * CPU: PPC64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ #ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Multiply va by vb and store double size result in: vh | vl */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_ASM_MUL(vl, vh, va, vb) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mulld %[l], %[a], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mulhdu %[h], %[a], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [h] "+r" (vh), [l] "+r" (vl) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [a] "r" (va), [b] "r" (vb) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : "memory" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Multiply va by vb and store double size result in: vo | vh | vl */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_ASM_MUL_SET(vl, vh, vo, va, vb) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mulhdu %[h], %[a], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mulld %[l], %[a], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "li %[o], 0 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [l] "+r" (vl), [h] "+r" (vh), [o] "=r" (vo) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [a] "r" (va), [b] "r" (vb) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Multiply va by vb and add double size result into: vo | vh | vl */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_ASM_MUL_ADD(vl, vh, vo, va, vb) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mulld r16, %[a], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mulhdu r17, %[a], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addc %[l], %[l], r16 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "adde %[h], %[h], r17 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addze %[o], %[o] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [l] "+r" (vl), [h] "+r" (vh), [o] "+r" (vo) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [a] "r" (va), [b] "r" (vb) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : "r16", "r17", "cc" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Multiply va by vb and add double size result into: vh | vl */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_ASM_MUL_ADD_NO(vl, vh, va, vb) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mulld r16, %[a], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mulhdu r17, %[a], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addc %[l], %[l], r16 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "adde %[h], %[h], r17 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [l] "+r" (vl), [h] "+r" (vh) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [a] "r" (va), [b] "r" (vb) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : "r16", "r17", "cc" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Multiply va by vb and add double size result twice into: vo | vh | vl */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_ASM_MUL_ADD2(vl, vh, vo, va, vb) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mulld r16, %[a], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mulhdu r17, %[a], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addc %[l], %[l], r16 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "adde %[h], %[h], r17 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addze %[o], %[o] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addc %[l], %[l], r16 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "adde %[h], %[h], r17 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addze %[o], %[o] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [l] "+r" (vl), [h] "+r" (vh), [o] "+r" (vo) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [a] "r" (va), [b] "r" (vb) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : "r16", "r17", "cc" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Multiply va by vb and add double size result twice into: vo | vh | vl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * Assumes first add will not overflow vh | vl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_ASM_MUL_ADD2_NO(vl, vh, vo, va, vb) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mulld r16, %[a], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mulhdu r17, %[a], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addc %[l], %[l], r16 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "adde %[h], %[h], r17 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addc %[l], %[l], r16 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "adde %[h], %[h], r17 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addze %[o], %[o] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [l] "+r" (vl), [h] "+r" (vh), [o] "+r" (vo) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [a] "r" (va), [b] "r" (vb) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : "r16", "r17", "cc" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Square va and store double size result in: vh | vl */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_ASM_SQR(vl, vh, va) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mulld %[l], %[a], %[a] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mulhdu %[h], %[a], %[a] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [h] "+r" (vh), [l] "+r" (vl) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [a] "r" (va) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : "memory" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Square va and add double size result into: vo | vh | vl */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_ASM_SQR_ADD(vl, vh, vo, va) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mulld r16, %[a], %[a] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mulhdu r17, %[a], %[a] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addc %[l], %[l], r16 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "adde %[h], %[h], r17 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addze %[o], %[o] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [l] "+r" (vl), [h] "+r" (vh), [o] "+r" (vo) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [a] "r" (va) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : "r16", "r17", "cc" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Square va and add double size result into: vh | vl */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_ASM_SQR_ADD_NO(vl, vh, va) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mulld r16, %[a], %[a] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mulhdu r17, %[a], %[a] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addc %[l], %[l], r16 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "adde %[h], %[h], r17 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [l] "+r" (vl), [h] "+r" (vh) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [a] "r" (va) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : "r16", "r17", "cc" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Add va into: vh | vl */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_ASM_ADDC(vl, vh, va) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addc %[l], %[l], %[a] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addze %[h], %[h] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [l] "+r" (vl), [h] "+r" (vh) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [a] "r" (va) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : "cc" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Sub va from: vh | vl */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_ASM_SUBB(vl, vh, va) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "subfc %[l], %[a], %[l] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "li r16, 0 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "subfe %[h], r16, %[h] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [l] "+r" (vl), [h] "+r" (vh) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [a] "r" (va) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : "r16", "cc" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Add two times vc | vb | va into vo | vh | vl */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_ASM_ADD_DBL_3(vl, vh, vo, va, vb, vc) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addc %[l], %[l], %[a] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "adde %[h], %[h], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "adde %[o], %[o], %[c] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addc %[l], %[l], %[a] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "adde %[h], %[h], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "adde %[o], %[o], %[c] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [l] "+r" (vl), [h] "+r" (vh), [o] "+r" (vo) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [a] "r" (va), [b] "r" (vb), [c] "r" (vc) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : "cc" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Count leading zeros. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_ASM_LZCNT(va, vn) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "cntlzd %[n], %[a] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [n] "=r" (vn) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [a] "r" (va) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ #else /* !defined(__APPLE__) */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Multiply va by vb and store double size result in: vh | vl */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define SP_ASM_MUL(vl, vh, va, vb) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3623,6 +3773,8 @@ static WC_INLINE sp_int_digit sp_div_word(sp_int_digit hi, sp_int_digit lo,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- : \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ #endif /* !defined(__APPLE__) */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define SP_INT_ASM_AVAILABLE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif /* WOLFSSL_SP_PPC64 && SP_WORD_SIZE == 64 */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3632,6 +3784,154 @@ static WC_INLINE sp_int_digit sp_div_word(sp_int_digit hi, sp_int_digit lo,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * CPU: PPC 32-bit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ #ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Multiply va by vb and store double size result in: vh | vl */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_ASM_MUL(vl, vh, va, vb) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mullw %[l], %[a], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mulhwu %[h], %[a], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [h] "+r" (vh), [l] "+r" (vl) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [a] "r" (va), [b] "r" (vb) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : "memory" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Multiply va by vb and store double size result in: vo | vh | vl */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_ASM_MUL_SET(vl, vh, vo, va, vb) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mulhwu %[h], %[a], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mullw %[l], %[a], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "li %[o], 0 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [l] "+r" (vl), [h] "+r" (vh), [o] "=r" (vo) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [a] "r" (va), [b] "r" (vb) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Multiply va by vb and add double size result into: vo | vh | vl */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_ASM_MUL_ADD(vl, vh, vo, va, vb) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mullw r16, %[a], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mulhwu r17, %[a], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addc %[l], %[l], r16 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "adde %[h], %[h], r17 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addze %[o], %[o] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [l] "+r" (vl), [h] "+r" (vh), [o] "+r" (vo) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [a] "r" (va), [b] "r" (vb) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : "r16", "r17", "cc" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Multiply va by vb and add double size result into: vh | vl */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_ASM_MUL_ADD_NO(vl, vh, va, vb) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mullw r16, %[a], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mulhwu r17, %[a], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addc %[l], %[l], r16 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "adde %[h], %[h], r17 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [l] "+r" (vl), [h] "+r" (vh) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [a] "r" (va), [b] "r" (vb) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : "r16", "r17", "cc" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Multiply va by vb and add double size result twice into: vo | vh | vl */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_ASM_MUL_ADD2(vl, vh, vo, va, vb) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mullw r16, %[a], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mulhwu r17, %[a], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addc %[l], %[l], r16 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "adde %[h], %[h], r17 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addze %[o], %[o] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addc %[l], %[l], r16 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "adde %[h], %[h], r17 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addze %[o], %[o] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [l] "+r" (vl), [h] "+r" (vh), [o] "+r" (vo) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [a] "r" (va), [b] "r" (vb) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : "r16", "r17", "cc" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Multiply va by vb and add double size result twice into: vo | vh | vl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * Assumes first add will not overflow vh | vl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_ASM_MUL_ADD2_NO(vl, vh, vo, va, vb) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mullw r16, %[a], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mulhwu r17, %[a], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addc %[l], %[l], r16 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "adde %[h], %[h], r17 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addc %[l], %[l], r16 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "adde %[h], %[h], r17 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addze %[o], %[o] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [l] "+r" (vl), [h] "+r" (vh), [o] "+r" (vo) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [a] "r" (va), [b] "r" (vb) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : "r16", "r17", "cc" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Square va and store double size result in: vh | vl */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_ASM_SQR(vl, vh, va) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mullw %[l], %[a], %[a] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mulhwu %[h], %[a], %[a] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [h] "+r" (vh), [l] "+r" (vl) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [a] "r" (va) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : "memory" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Square va and add double size result into: vo | vh | vl */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_ASM_SQR_ADD(vl, vh, vo, va) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mullw r16, %[a], %[a] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mulhwu r17, %[a], %[a] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addc %[l], %[l], r16 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "adde %[h], %[h], r17 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addze %[o], %[o] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [l] "+r" (vl), [h] "+r" (vh), [o] "+r" (vo) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [a] "r" (va) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : "r16", "r17", "cc" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Square va and add double size result into: vh | vl */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_ASM_SQR_ADD_NO(vl, vh, va) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mullw r16, %[a], %[a] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "mulhwu r17, %[a], %[a] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addc %[l], %[l], r16 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "adde %[h], %[h], r17 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [l] "+r" (vl), [h] "+r" (vh) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [a] "r" (va) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : "r16", "r17", "cc" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Add va into: vh | vl */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_ASM_ADDC(vl, vh, va) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addc %[l], %[l], %[a] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addze %[h], %[h] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [l] "+r" (vl), [h] "+r" (vh) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [a] "r" (va) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : "cc" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Sub va from: vh | vl */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_ASM_SUBB(vl, vh, va) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "subfc %[l], %[a], %[l] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "li r16, 0 \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "subfe %[h], r16, %[h] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [l] "+r" (vl), [h] "+r" (vh) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [a] "r" (va) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : "r16", "cc" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Add two times vc | vb | va into vo | vh | vl */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_ASM_ADD_DBL_3(vl, vh, vo, va, vb, vc) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addc %[l], %[l], %[a] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "adde %[h], %[h], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "adde %[o], %[o], %[c] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "addc %[l], %[l], %[a] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "adde %[h], %[h], %[b] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "adde %[o], %[o], %[c] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [l] "+r" (vl), [h] "+r" (vh), [o] "+r" (vo) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [a] "r" (va), [b] "r" (vb), [c] "r" (vc) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : "cc" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Count leading zeros. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_ASM_LZCNT(va, vn) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "cntlzw %[n], %[a] \n\t" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [n] "=r" (vn) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ : [a] "r" (va) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ #else /* !defined(__APPLE__) */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Multiply va by vb and store double size result in: vh | vl */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define SP_ASM_MUL(vl, vh, va, vb) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- __asm__ __volatile__ ( \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3776,6 +4076,8 @@ static WC_INLINE sp_int_digit sp_div_word(sp_int_digit hi, sp_int_digit lo,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- : [a] "r" (va) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ #endif /* !defined(__APPLE__) */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define SP_INT_ASM_AVAILABLE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif /* WOLFSSL_SP_PPC && SP_WORD_SIZE == 64 */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.46.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/wolfssl/files/0004-wc_port.h-fix-macros-for-powerpc.patch b/devel/wolfssl/files/0004-wc_port.h-fix-macros-for-powerpc.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 99f64401293..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/wolfssl/files/0004-wc_port.h-fix-macros-for-powerpc.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,34 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 94478cb20843cb9d96b1699a17aa6d03143f54ad Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Sergey Fedorov <barracuda@macos-powerpc.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sat, 31 Aug 2024 22:11:54 +0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 4/6] wc_port.h: fix macros for powerpc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- wolfssl/wolfcrypt/wc_port.h | 4 ++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 2 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/wolfssl/wolfcrypt/wc_port.h b/wolfssl/wolfcrypt/wc_port.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index d07dbb1b3..0076f7f41 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/wolfssl/wolfcrypt/wc_port.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/wolfssl/wolfcrypt/wc_port.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1106,7 +1106,7 @@ WOLFSSL_ABI WOLFSSL_API int wolfCrypt_Cleanup(void);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* PowerPC time_t is int */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- #ifdef __PPC__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ #if defined(__PPC__) || defined(__ppc__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define TIME_T_NOT_64BIT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1274,7 +1274,7 @@ WOLFSSL_ABI WOLFSSL_API int wolfCrypt_Cleanup(void);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define XFENCE() XASM_VOLATILE("isb")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #elif defined(__riscv)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define XFENCE() XASM_VOLATILE("fence")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- #elif defined(__PPC__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ #elif defined(__PPC__) || defined(__POWERPC__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define XFENCE() XASM_VOLATILE("isync; sync")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define XFENCE() WC_DO_NOTHING
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.46.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/wolfssl/files/0005-Fix-libdispatch-usage-condition.patch b/devel/wolfssl/files/0005-Fix-libdispatch-usage-condition.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0125a47f103..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/wolfssl/files/0005-Fix-libdispatch-usage-condition.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,288 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From fba8eefd87c4b9c46a7af1cf4e0ce15536ad2b38 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Sergey Fedorov <barracuda@macos-powerpc.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sat, 31 Aug 2024 21:48:13 +0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 5/6] Fix libdispatch usage condition
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- wolfcrypt/src/wc_port.c | 113 ++++++++++++++++++++------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- wolfssl/wolfcrypt/types.h | 19 ++++---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 72 insertions(+), 60 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/wolfcrypt/src/wc_port.c b/wolfcrypt/src/wc_port.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 294bc415c..fd901f988 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/wolfcrypt/src/wc_port.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/wolfcrypt/src/wc_port.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -24,6 +24,10 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <config.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ #include <AvailabilityMacros.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <wolfssl/wolfcrypt/settings.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <wolfssl/wolfcrypt/types.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <wolfssl/wolfcrypt/error-crypt.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3814,20 +3818,25 @@ char* mystrnstr(const char* s1, const char* s2, unsigned int n)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef WOLFSSL_COND
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- #ifndef __MACH__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- /* Generic POSIX conditional */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ #if defined(__APPLE__) && MAC_OS_X_VERSION_MIN_REQUIRED >= 1060 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ && !defined(__ppc__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Apple style dispatch semaphore */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int wolfSSL_CondInit(COND_TYPE* cond)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (cond == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return BAD_FUNC_ARG;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (pthread_mutex_init(&cond->mutex, NULL) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* dispatch_release() fails hard, with Trace/BPT trap signal, if the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * sem's internal count is less than the value passed in with
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * dispatch_semaphore_create(). work around this by initing
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * with 0, then incrementing it afterwards.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ cond->cond = dispatch_semaphore_create(0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (cond->cond == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return MEMORY_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (pthread_cond_init(&cond->cond, NULL) != 0) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- /* Keep compilers happy that we are using the return code */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (pthread_mutex_destroy(&cond->mutex) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return MEMORY_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (wc_InitMutex(&cond->mutex) != 0) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dispatch_release(cond->cond);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return MEMORY_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3836,18 +3845,17 @@ char* mystrnstr(const char* s1, const char* s2, unsigned int n)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int wolfSSL_CondFree(COND_TYPE* cond)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- int ret = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (cond == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return BAD_FUNC_ARG;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (pthread_mutex_destroy(&cond->mutex) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ret = MEMORY_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dispatch_release(cond->cond);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ cond->cond = NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (pthread_cond_destroy(&cond->cond) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ret = MEMORY_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (wc_FreeMutex(&cond->mutex) != 0) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return MEMORY_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return ret;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int wolfSSL_CondStart(COND_TYPE* cond)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3855,7 +3863,7 @@ char* mystrnstr(const char* s1, const char* s2, unsigned int n)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (cond == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return BAD_FUNC_ARG;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (pthread_mutex_lock(&cond->mutex) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (wc_LockMutex(&cond->mutex) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return BAD_MUTEX_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3866,8 +3874,13 @@ char* mystrnstr(const char* s1, const char* s2, unsigned int n)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (cond == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return BAD_FUNC_ARG;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (pthread_cond_signal(&cond->cond) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return MEMORY_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (wc_UnLockMutex(&cond->mutex) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return BAD_MUTEX_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dispatch_semaphore_signal(cond->cond);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (wc_LockMutex(&cond->mutex) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return BAD_MUTEX_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3877,8 +3890,13 @@ char* mystrnstr(const char* s1, const char* s2, unsigned int n)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (cond == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return BAD_FUNC_ARG;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (pthread_cond_wait(&cond->cond, &cond->mutex) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return MEMORY_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (wc_UnLockMutex(&cond->mutex) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return BAD_MUTEX_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ dispatch_semaphore_wait(cond->cond, DISPATCH_TIME_FOREVER);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (wc_LockMutex(&cond->mutex) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return BAD_MUTEX_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3888,29 +3906,26 @@ char* mystrnstr(const char* s1, const char* s2, unsigned int n)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (cond == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return BAD_FUNC_ARG;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (pthread_mutex_unlock(&cond->mutex) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (wc_UnLockMutex(&cond->mutex) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return BAD_MUTEX_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- #else /* __MACH__ */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- /* Apple style dispatch semaphore */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ #else /* Generic POSIX conditional */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int wolfSSL_CondInit(COND_TYPE* cond)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (cond == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return BAD_FUNC_ARG;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- /* dispatch_release() fails hard, with Trace/BPT trap signal, if the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * sem's internal count is less than the value passed in with
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * dispatch_semaphore_create(). work around this by initing
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * with 0, then incrementing it afterwards.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- cond->cond = dispatch_semaphore_create(0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (cond->cond == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (pthread_mutex_init(&cond->mutex, NULL) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return MEMORY_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (wc_InitMutex(&cond->mutex) != 0) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- dispatch_release(cond->cond);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (pthread_cond_init(&cond->cond, NULL) != 0) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Keep compilers happy that we are using the return code */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (pthread_mutex_destroy(&cond->mutex) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return MEMORY_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return MEMORY_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3919,17 +3934,18 @@ char* mystrnstr(const char* s1, const char* s2, unsigned int n)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int wolfSSL_CondFree(COND_TYPE* cond)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ int ret = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (cond == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return BAD_FUNC_ARG;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- dispatch_release(cond->cond);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- cond->cond = NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (pthread_mutex_destroy(&cond->mutex) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ret = MEMORY_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (wc_FreeMutex(&cond->mutex) != 0) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return MEMORY_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (pthread_cond_destroy(&cond->cond) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ret = MEMORY_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return ret;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int wolfSSL_CondStart(COND_TYPE* cond)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3937,7 +3953,7 @@ char* mystrnstr(const char* s1, const char* s2, unsigned int n)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (cond == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return BAD_FUNC_ARG;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (wc_LockMutex(&cond->mutex) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (pthread_mutex_lock(&cond->mutex) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return BAD_MUTEX_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3948,13 +3964,8 @@ char* mystrnstr(const char* s1, const char* s2, unsigned int n)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (cond == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return BAD_FUNC_ARG;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (wc_UnLockMutex(&cond->mutex) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return BAD_MUTEX_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- dispatch_semaphore_signal(cond->cond);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (wc_LockMutex(&cond->mutex) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return BAD_MUTEX_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (pthread_cond_signal(&cond->cond) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return MEMORY_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3964,13 +3975,8 @@ char* mystrnstr(const char* s1, const char* s2, unsigned int n)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (cond == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return BAD_FUNC_ARG;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (wc_UnLockMutex(&cond->mutex) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return BAD_MUTEX_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- dispatch_semaphore_wait(cond->cond, DISPATCH_TIME_FOREVER);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (wc_LockMutex(&cond->mutex) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return BAD_MUTEX_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (pthread_cond_wait(&cond->cond, &cond->mutex) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return MEMORY_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3980,11 +3986,12 @@ char* mystrnstr(const char* s1, const char* s2, unsigned int n)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (cond == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return BAD_FUNC_ARG;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (wc_UnLockMutex(&cond->mutex) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (pthread_mutex_unlock(&cond->mutex) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return BAD_MUTEX_E;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif /* __MACH__ */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif /* WOLFSSL_COND */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/wolfssl/wolfcrypt/types.h b/wolfssl/wolfcrypt/types.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index ac42afef4..59277612f 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/wolfssl/wolfcrypt/types.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/wolfssl/wolfcrypt/types.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -34,6 +34,10 @@ decouple library dependencies with standard string, memory and so on.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <wolfssl/wolfcrypt/settings.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <wolfssl/wolfcrypt/wc_port.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ #ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ #include <AvailabilityMacros.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef __cplusplus
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extern "C" {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1490,18 +1494,19 @@ typedef struct w64wrapper {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- typedef size_t THREAD_TYPE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define WOLFSSL_THREAD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #elif defined(WOLFSSL_PTHREADS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- #ifndef __MACH__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- #include <pthread.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- typedef struct COND_TYPE {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- pthread_mutex_t mutex;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- pthread_cond_t cond;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- } COND_TYPE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- #else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ #if defined(__APPLE__) && MAC_OS_X_VERSION_MIN_REQUIRED >= 1060 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ && !defined(__ppc__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <dispatch/dispatch.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- typedef struct COND_TYPE {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- wolfSSL_Mutex mutex;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- dispatch_semaphore_t cond;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } COND_TYPE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ #else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ #include <pthread.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ typedef struct COND_TYPE {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pthread_mutex_t mutex;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pthread_cond_t cond;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ } COND_TYPE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- typedef void* THREAD_RETURN;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- typedef pthread_t THREAD_TYPE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.46.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/wolfssl/files/0006-crl.c-use-EV_TRIGGER-when-NOTE_TRIGGER-unavailable.patch b/devel/wolfssl/files/0006-crl.c-use-EV_TRIGGER-when-NOTE_TRIGGER-unavailable.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index c443dfd15e4..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/wolfssl/files/0006-crl.c-use-EV_TRIGGER-when-NOTE_TRIGGER-unavailable.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,28 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 23889b41f0bb56d1d3288d3fb8bd7dc3a5fafe75 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Sergey Fedorov <barracuda@macos-powerpc.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sun, 1 Sep 2024 20:47:22 +0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 6/6] crl.c: use EV_TRIGGER when NOTE_TRIGGER unavailable
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- src/crl.c | 4 ++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 4 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/crl.c b/src/crl.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 8c221b217..17b6bb959 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/src/crl.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/src/crl.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1100,7 +1100,11 @@ static int StopMonitor(wolfSSL_CRL_mfd_t mfd)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- struct kevent change;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* trigger custom shutdown */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if defined(NOTE_TRIGGER)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- EV_SET(&change, CRL_CUSTOM_FD, EVFILT_USER, 0, NOTE_TRIGGER, 0, NULL);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#elif defined(EV_TRIGGER)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ EV_SET(&change, CRL_CUSTOM_FD, EVFILT_USER, EV_TRIGGER, 0, 0, NULL);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (kevent(mfd, &change, 1, NULL, 0, NULL) < 0) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- WOLFSSL_MSG("kevent trigger customer event failed");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.46.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span></pre><pre style='margin:0'>
</pre>