Make mbedtls_ct_zero non-static

Signed-off-by: Dave Rodgman <dave.rodgman@arm.com>
diff --git a/library/constant_time.c b/library/constant_time.c
index 90fbcf2..40a7f0d 100644
--- a/library/constant_time.c
+++ b/library/constant_time.c
@@ -37,6 +37,15 @@
                                                            psa_generic_status_to_mbedtls)
 #endif
 
+#if !defined(MBEDTLS_CT_ASM)
+/*
+* Define an object with the value zero, such that the compiler cannot prove that it
+* has the value zero (because it is volatile, it "may be modified in ways unknown to
+* the implementation").
+*/
+volatile mbedtls_ct_uint_t mbedtls_ct_zero = 0;
+#endif
+
 /*
  * Define MBEDTLS_EFFICIENT_UNALIGNED_VOLATILE_ACCESS where assembly is present to
  * perform fast unaligned access to volatile data.
diff --git a/library/constant_time_impl.h b/library/constant_time_impl.h
index c490d82..91418e5 100644
--- a/library/constant_time_impl.h
+++ b/library/constant_time_impl.h
@@ -73,12 +73,7 @@
  */
 
 #if !defined(MBEDTLS_CT_ASM)
-/*
-* Define an object with the value zero, such that the compiler cannot prove that it
-* has the value zero (because it is volatile, it "may be modified in ways unknown to
-* the implementation").
-*/
-static volatile mbedtls_ct_uint_t mbedtls_ct_zero = 0;
+extern volatile mbedtls_ct_uint_t mbedtls_ct_zero;
 #endif
 
 static inline mbedtls_ct_uint_t mbedtls_ct_compiler_opaque(mbedtls_ct_uint_t x)