From 25dc3f08e9d90fc1cad403efee53bbf8f091ab45 Mon Sep 17 00:00:00 2001 From: JacobBarthelmeh Date: Thu, 27 Mar 2025 15:53:39 -0600 Subject: [PATCH 1/2] random implementation does not require PIC32 build macro --- wolfcrypt/src/random.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wolfcrypt/src/random.c b/wolfcrypt/src/random.c index ec80b1974..c665f6e40 100644 --- a/wolfcrypt/src/random.c +++ b/wolfcrypt/src/random.c @@ -2775,7 +2775,7 @@ int wc_GenerateSeed(OS_Seed* os, byte* output, word32 sz) return ret; } -#elif defined(MICROCHIP_PIC32) +#elif defined(MICROCHIP_PIC32) || defined(MICROCHIP_MPLAB_HARMONY) #ifdef MICROCHIP_MPLAB_HARMONY #ifdef MICROCHIP_MPLAB_HARMONY_3 From 151a156581385aedc0f4094dbbc8295b3d84218f Mon Sep 17 00:00:00 2001 From: JacobBarthelmeh Date: Mon, 31 Mar 2025 09:35:10 -0600 Subject: [PATCH 2/2] include harmony macro check with strncasecmp and strcasecmp --- wolfssl/wolfcrypt/types.h | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/wolfssl/wolfcrypt/types.h b/wolfssl/wolfcrypt/types.h index 8aeb2662d..d5ba78398 100644 --- a/wolfssl/wolfcrypt/types.h +++ b/wolfssl/wolfcrypt/types.h @@ -767,11 +767,13 @@ typedef struct w64wrapper { #endif #ifndef XSTRCASECMP - #if defined(MICROCHIP_PIC32) && (__XC32_VERSION >= 1000) && (__XC32_VERSION < 4000) + #if (defined(MICROCHIP_MPLAB_HARMONY) || defined(MICROCHIP_PIC32)) && \ + (__XC32_VERSION >= 1000) && (__XC32_VERSION < 4000) /* XC32 supports str[n]casecmp in version >= 1.0 through 4.0. */ #define XSTRCASECMP(s1,s2) strcasecmp((s1),(s2)) - #elif defined(MICROCHIP_PIC32) || defined(WOLFSSL_TIRTOS) || \ - defined(WOLFSSL_ZEPHYR) || defined(MICROCHIP_PIC24) + #elif defined(MICROCHIP_MPLAB_HARMONY) || defined(MICROCHIP_PIC32) || \ + defined(WOLFSSL_TIRTOS) || defined(WOLFSSL_ZEPHYR) || \ + defined(MICROCHIP_PIC24) /* XC32 version < 1.0 does not support strcasecmp. */ #define USE_WOLF_STRCASECMP #elif defined(USE_WINDOWS_API) || defined(FREERTOS_TCP_WINSIM) @@ -799,11 +801,13 @@ typedef struct w64wrapper { #endif /* !XSTRCASECMP */ #ifndef XSTRNCASECMP - #if defined(MICROCHIP_PIC32) && (__XC32_VERSION >= 1000) + #if (defined(MICROCHIP_MPLAB_HARMONY) || defined(MICROCHIP_PIC32)) && \ + (__XC32_VERSION >= 1000) /* XC32 supports str[n]casecmp in version >= 1.0. */ #define XSTRNCASECMP(s1,s2,n) strncasecmp((s1),(s2),(n)) - #elif defined(MICROCHIP_PIC32) || defined(WOLFSSL_TIRTOS) || \ - defined(WOLFSSL_ZEPHYR) || defined(MICROCHIP_PIC24) + #elif defined(MICROCHIP_MPLAB_HARMONY) || defined(MICROCHIP_PIC32) || \ + defined(WOLFSSL_TIRTOS) || defined(WOLFSSL_ZEPHYR) || \ + defined(MICROCHIP_PIC24) /* XC32 version < 1.0 does not support strncasecmp. */ #define USE_WOLF_STRNCASECMP #elif defined(USE_WINDOWS_API) || defined(FREERTOS_TCP_WINSIM)