From b8458ed248cf49bfe9a263d708b5e34adf77e275 Mon Sep 17 00:00:00 2001 From: Cedric BAIL Date: Wed, 17 Jul 2019 11:12:18 -0700 Subject: [PATCH] eina: set EINA_VALUE_EMPTY during library init. This is a work around compiler/linker limit on some system as reported by Romain Naour. Reviewed-by: Mike Blumenkrantz Differential Revision: https://phab.enlightenment.org/D9348 (cherry picked from commit c46a8143916f0d3f66bbdffc7107c97c88df212d) [Romain: backport to 1.22.x] Signed-off-by: Romain Naour --- src/lib/eina/eina_value.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib/eina/eina_value.c b/src/lib/eina/eina_value.c index c75a5f1235..942a6d533e 100644 --- a/src/lib/eina/eina_value.c +++ b/src/lib/eina/eina_value.c @@ -58,7 +58,7 @@ static Eina_Hash *_eina_value_inner_mps = NULL; static Eina_Lock _eina_value_inner_mps_lock; static char *_eina_value_mp_choice = NULL; static int _eina_value_log_dom = -1; -static const Eina_Value _eina_value_empty = EINA_VALUE_EMPTY; +static Eina_Value _eina_value_empty; #ifdef ERR #undef ERR @@ -5404,6 +5404,7 @@ eina_value_inner_free(size_t size, void *mem) Eina_Bool eina_value_init(void) { + const Eina_Value empty = EINA_VALUE_EMPTY; const char *choice, *tmp; _eina_value_log_dom = eina_log_domain_register("eina_value", @@ -5490,6 +5491,8 @@ eina_value_init(void) EINA_ERROR_VALUE_FAILED = eina_error_msg_static_register("Eina_Value failed to copy/convert."); + memcpy(&_eina_value_empty, &empty, sizeof (empty)); + return EINA_TRUE; on_init_fail_hash: -- 2.21.0