From 3e715b02e675f821960ddc6981d7b739ba9eb9b3 Mon Sep 17 00:00:00 2001 From: David Horstmann Date: Wed, 7 May 2025 12:27:02 +0100 Subject: [PATCH 1/2] Fix format specifiers for ANSI stdio Instead of using the windows-specific "I64d" format specifier, use the friendly MinGW abstraction PRId64, which works both when __USE_MINGW_ANSI_STDIO is enabled and when it is disabled. Signed-off-by: David Horstmann --- include/mbedtls/debug.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/mbedtls/debug.h b/include/mbedtls/debug.h index e6f5dadb14..45bf390a04 100644 --- a/include/mbedtls/debug.h +++ b/include/mbedtls/debug.h @@ -111,7 +111,7 @@ #if defined(__MINGW32__) || (defined(_MSC_VER) && _MSC_VER < 1900) #include #define MBEDTLS_PRINTF_SIZET PRIuPTR - #define MBEDTLS_PRINTF_LONGLONG "I64d" + #define MBEDTLS_PRINTF_LONGLONG PRId64 #else \ /* defined(__MINGW32__) || (defined(_MSC_VER) && _MSC_VER < 1900) */ #define MBEDTLS_PRINTF_SIZET "zu" From 2b410eeaeb13c0259ecb694239968d7cc3fcb8d5 Mon Sep 17 00:00:00 2001 From: David Horstmann Date: Wed, 21 May 2025 14:49:59 +0100 Subject: [PATCH 2/2] Add ChangeLog entry for MinGW format specifier fix Signed-off-by: David Horstmann --- ChangeLog.d/fix-mingw-ansi-stdio.txt | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 ChangeLog.d/fix-mingw-ansi-stdio.txt diff --git a/ChangeLog.d/fix-mingw-ansi-stdio.txt b/ChangeLog.d/fix-mingw-ansi-stdio.txt new file mode 100644 index 0000000000..d9293d95ca --- /dev/null +++ b/ChangeLog.d/fix-mingw-ansi-stdio.txt @@ -0,0 +1,4 @@ +Bugfix + * Fix a build failure with MinGW when the __USE_MINGW_ANSI_STDIO option + is set. This was caused by the wrong format specifier being used to + print long long values (MBEDTLS_PRINTF_LONGLONG).