blob: 813cd252b3ee0e3328bac0494931ec366eb62442 [file] [log] [blame]
David Vincze485c5ac2025-03-21 11:14:56 +00001From 1d0d43cd46f4518663943be133a473e094bcacb3 Mon Sep 17 00:00:00 2001
Tamas Ban4a5cc972020-10-27 09:03:56 +00002From: Tamas Ban <tamas.ban@arm.com>
3Date: Tue, 27 Oct 2020 08:55:37 +0000
Antonio de Angelis214fbe42024-02-09 13:58:59 +00004Subject: [PATCH 2/7] Enable crypto code sharing between independent binaries
Tamas Ban4a5cc972020-10-27 09:03:56 +00005
6Signed-off-by: Tamas Ban <tamas.ban@arm.com>
7---
Antonio de Angelis3fae3ae2023-10-01 00:28:56 +01008 code_share.c | 3 +++
Tamas Ban4a5cc972020-10-27 09:03:56 +00009 library/platform.c | 4 ++--
10 library/platform_util.c | 2 +-
11 3 files changed, 6 insertions(+), 3 deletions(-)
Antonio de Angelis3fae3ae2023-10-01 00:28:56 +010012 create mode 100644 code_share.c
Tamas Ban4a5cc972020-10-27 09:03:56 +000013
Antonio de Angelis3fae3ae2023-10-01 00:28:56 +010014diff --git a/code_share.c b/code_share.c
Tamas Ban4a5cc972020-10-27 09:03:56 +000015new file mode 100644
David Vincze485c5ac2025-03-21 11:14:56 +000016index 000000000..2bf67fb42
Tamas Ban4a5cc972020-10-27 09:03:56 +000017--- /dev/null
Antonio de Angelis3fae3ae2023-10-01 00:28:56 +010018+++ b/code_share.c
Tamas Ban4a5cc972020-10-27 09:03:56 +000019@@ -0,0 +1,3 @@
20+/* This is a deliberately empty file just to check whether the patch for enabling
21+ * extensive crypto code sharing was already applied on the mbedtls library.
22+ */
23diff --git a/library/platform.c b/library/platform.c
David Vincze485c5ac2025-03-21 11:14:56 +000024index 890c4cbab..f8109c73f 100644
Tamas Ban4a5cc972020-10-27 09:03:56 +000025--- a/library/platform.c
26+++ b/library/platform.c
Antonio de Angelis8bb98512024-01-16 14:13:36 +000027@@ -41,8 +41,8 @@ static void platform_free_uninit(void *ptr)
Tamas Ban4a5cc972020-10-27 09:03:56 +000028 #define MBEDTLS_PLATFORM_STD_FREE platform_free_uninit
29 #endif /* !MBEDTLS_PLATFORM_STD_FREE */
30
Summer Qind635cd02023-03-31 18:07:38 +080031-static void * (*mbedtls_calloc_func)(size_t, size_t) = MBEDTLS_PLATFORM_STD_CALLOC;
32-static void (*mbedtls_free_func)(void *) = MBEDTLS_PLATFORM_STD_FREE;
33+void * (*mbedtls_calloc_func)(size_t, size_t) = MBEDTLS_PLATFORM_STD_CALLOC;
34+void (*mbedtls_free_func)(void *) = MBEDTLS_PLATFORM_STD_FREE;
Tamas Ban4a5cc972020-10-27 09:03:56 +000035
Summer Qind635cd02023-03-31 18:07:38 +080036 void *mbedtls_calloc(size_t nmemb, size_t size)
Tamas Ban4a5cc972020-10-27 09:03:56 +000037 {
38diff --git a/library/platform_util.c b/library/platform_util.c
David Vincze485c5ac2025-03-21 11:14:56 +000039index 19ef07aea..2d9c731d9 100644
Tamas Ban4a5cc972020-10-27 09:03:56 +000040--- a/library/platform_util.c
41+++ b/library/platform_util.c
Antonio de Angelis8bb98512024-01-16 14:13:36 +000042@@ -88,7 +88,7 @@
Antonio de Angelis3fae3ae2023-10-01 00:28:56 +010043 #if !defined(MBEDTLS_PLATFORM_HAS_EXPLICIT_BZERO) && !(defined(__STDC_LIB_EXT1__) && \
44 !defined(__IAR_SYSTEMS_ICC__)) \
Summer Qind635cd02023-03-31 18:07:38 +080045 && !defined(_WIN32)
46-static void *(*const volatile memset_func)(void *, int, size_t) = memset;
47+void *(*const volatile memset_func)(void *, int, size_t) = memset;
48 #endif
Tamas Ban4a5cc972020-10-27 09:03:56 +000049
Summer Qind635cd02023-03-31 18:07:38 +080050 void mbedtls_platform_zeroize(void *buf, size_t len)
Tamas Ban4a5cc972020-10-27 09:03:56 +000051--
Antonio de Angelis8bb98512024-01-16 14:13:36 +0000522.34.1
Tamas Ban4a5cc972020-10-27 09:03:56 +000053