<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>