buildroot/package/efl/0002-Fix-build-with-gcc-10-which-has-fno-common-enabled-b.patch
Heiko Thiery fa96dfa628 package/efl: fix -fno-common build failure
Added upstream patch for fixing build failure when using GCC10 as a host
compiler (-fno-common is now default).

Fixes:
http://autobuild.buildroot.net/results/47f/47fcf9bceba029accdcf159236addea3cb03f12f/

Cc: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2020-05-27 22:29:14 +02:00

223 lines
11 KiB
Diff

From c245b576aad09ac5faeb800de7f7c4fef87c6363 Mon Sep 17 00:00:00 2001
From: Tom Callaway <spot@fedoraproject.org>
Date: Fri, 31 Jan 2020 12:40:45 +0000
Subject: [PATCH] Fix build with gcc 10 (which has -fno-common enabled by
default).
EFL failed to build from source in Fedora Rawhide as a result of the update to GCC 10. GCC 10 enables -fno-common by default, and this found three issues in EFL:
# The eina benchmark code defined int key_size in a header that was included in multiple places.
#/usr/bin/ld: bin/elementary/elementary_test-test_ui_clock.o:(.bss.dt1+0x0): multiple definition of `dt1'; bin/elementary/elementary_test-test_datetime.o:(.bss.dt1+0x0): first defined here
The elementary test code defines the "dt1", "dt2", "dt3" vars in two code files which are compiled together (but these variables do not appear to be used globally)
# The eio test code defines the "ee" var in two code files which are compiled together (but this variable does not appear to be used globally)
I've fixed these issues and confirmed locally that the code builds again in Fedora.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11259
Patch taken from upstream: https://github.com/Enlightenment/efl/commit/c245b576aad09ac5faeb800de7f7c4fef87c6363
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
---
src/benchmarks/eina/eina_bench.h | 2 +-
src/benchmarks/eina/eina_bench_crc_hash.c | 1 +
src/bin/elementary/test_ui_clock.c | 90 +++++++++++------------
src/tests/eio/eio_test_map.c | 10 +--
4 files changed, 52 insertions(+), 51 deletions(-)
diff --git a/src/benchmarks/eina/eina_bench.h b/src/benchmarks/eina/eina_bench.h
index a38d70433e..747ac6f39f 100644
--- a/src/benchmarks/eina/eina_bench.h
+++ b/src/benchmarks/eina/eina_bench.h
@@ -21,7 +21,7 @@
#include "eina_benchmark.h"
-int key_size;
+extern int key_size;
void eina_bench_hash(Eina_Benchmark *bench);
void eina_bench_crc_hash_short(Eina_Benchmark *bench);
diff --git a/src/benchmarks/eina/eina_bench_crc_hash.c b/src/benchmarks/eina/eina_bench_crc_hash.c
index b6734489a3..7750233ed4 100644
--- a/src/benchmarks/eina/eina_bench_crc_hash.c
+++ b/src/benchmarks/eina/eina_bench_crc_hash.c
@@ -26,6 +26,7 @@
uint64_t CityHash64(const char *buf, size_t len);
#endif
+int key_size;
char *key_str=NULL;
void repchar(int n)
diff --git a/src/bin/elementary/test_ui_clock.c b/src/bin/elementary/test_ui_clock.c
index 79e9074ead..9973b25cd3 100644
--- a/src/bin/elementary/test_ui_clock.c
+++ b/src/bin/elementary/test_ui_clock.c
@@ -6,7 +6,7 @@
/* A simple test, just displaying clock in its default format */
-Evas_Object *dt1, *dt2, *dt3, *dt4;
+Evas_Object *uicdt1, *uicdt2, *uicdt3, *uicdt4;
static void
_changed_cb(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
@@ -28,19 +28,19 @@ _bt_clicked(void *data EINA_UNUSED, const Efl_Event *ev)
new_time.tm_mday = 26;
new_time.tm_hour = 9;
new_time.tm_min = 0;
- efl_ui_clock_field_visible_set(dt1, EFL_UI_CLOCK_TYPE_HOUR, EINA_TRUE);
- efl_ui_clock_field_visible_set(dt1, EFL_UI_CLOCK_TYPE_MINUTE, EINA_TRUE);
- efl_ui_clock_field_visible_set(dt1, EFL_UI_CLOCK_TYPE_AMPM, EINA_TRUE);
- efl_ui_clock_field_visible_set(dt1, EFL_UI_CLOCK_TYPE_SECOND, EINA_TRUE);
- efl_ui_clock_field_visible_set(dt1, EFL_UI_CLOCK_TYPE_DAY, EINA_TRUE);
- efl_ui_clock_time_set(dt1, new_time);
-
- elm_object_disabled_set(dt1, EINA_TRUE);
+ efl_ui_clock_field_visible_set(uicdt1, EFL_UI_CLOCK_TYPE_HOUR, EINA_TRUE);
+ efl_ui_clock_field_visible_set(uicdt1, EFL_UI_CLOCK_TYPE_MINUTE, EINA_TRUE);
+ efl_ui_clock_field_visible_set(uicdt1, EFL_UI_CLOCK_TYPE_AMPM, EINA_TRUE);
+ efl_ui_clock_field_visible_set(uicdt1, EFL_UI_CLOCK_TYPE_SECOND, EINA_TRUE);
+ efl_ui_clock_field_visible_set(uicdt1, EFL_UI_CLOCK_TYPE_DAY, EINA_TRUE);
+ efl_ui_clock_time_set(uicdt1, new_time);
+
+ elm_object_disabled_set(uicdt1, EINA_TRUE);
elm_object_disabled_set(ev->object, EINA_TRUE);
- efl_del(dt2);
- efl_del(dt3);
- dt2 = dt3 = NULL;
+ efl_del(uicdt2);
+ efl_del(uicdt3);
+ uicdt2 = uicdt3 = NULL;
}
void
@@ -56,33 +56,33 @@ test_ui_clock(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_
efl_content_set(win, efl_added),
efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(360, 240)));
- dt1 = efl_add(EFL_UI_CLOCK_CLASS, bx,
- efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND),
- efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_FALSE),
- efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_HOUR, EINA_FALSE),
- efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_MINUTE, EINA_FALSE),
- efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_AMPM, EINA_FALSE),
- efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_SECOND, EINA_FALSE),
- efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_DAY, EINA_FALSE),
- efl_ui_clock_pause_set(efl_added, EINA_TRUE),
- efl_event_callback_add(efl_added, EFL_UI_CLOCK_EVENT_CHANGED, _changed_cb, NULL),
- efl_pack(bx, efl_added));
-
- dt2 = efl_add(EFL_UI_CLOCK_CLASS, bx,
- efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND),
- efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_FALSE),
- efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_YEAR, EINA_FALSE),
- efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_MONTH, EINA_FALSE),
- efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_DATE, EINA_FALSE),
- efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_SECOND, EINA_FALSE),
- efl_ui_clock_pause_set(efl_added, EINA_TRUE),
- efl_pack(bx, efl_added));
- elm_object_disabled_set(dt2, EINA_TRUE);
-
- dt3 = efl_add(EFL_UI_CLOCK_CLASS, bx,
- efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND),
- efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_FALSE),
- efl_pack(bx, efl_added));
+ uicdt1 = efl_add(EFL_UI_CLOCK_CLASS, bx,
+ efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND),
+ efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_FALSE),
+ efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_HOUR, EINA_FALSE),
+ efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_MINUTE, EINA_FALSE),
+ efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_AMPM, EINA_FALSE),
+ efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_SECOND, EINA_FALSE),
+ efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_DAY, EINA_FALSE),
+ efl_ui_clock_pause_set(efl_added, EINA_TRUE),
+ efl_event_callback_add(efl_added, EFL_UI_CLOCK_EVENT_CHANGED, _changed_cb, NULL),
+ efl_pack(bx, efl_added));
+
+ uicdt2 = efl_add(EFL_UI_CLOCK_CLASS, bx,
+ efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND),
+ efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_FALSE),
+ efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_YEAR, EINA_FALSE),
+ efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_MONTH, EINA_FALSE),
+ efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_DATE, EINA_FALSE),
+ efl_ui_clock_field_visible_set(efl_added, EFL_UI_CLOCK_TYPE_SECOND, EINA_FALSE),
+ efl_ui_clock_pause_set(efl_added, EINA_TRUE),
+ efl_pack(bx, efl_added));
+ elm_object_disabled_set(uicdt2, EINA_TRUE);
+
+ uicdt3 = efl_add(EFL_UI_CLOCK_CLASS, bx,
+ efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND),
+ efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_FALSE),
+ efl_pack(bx, efl_added));
efl_add(EFL_UI_TEXTBOX_CLASS, bx,
efl_text_set(efl_added, "Editable Clock:"),
@@ -92,12 +92,12 @@ test_ui_clock(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_
efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(100, 25)),
efl_pack(bx, efl_added));
- dt4 = efl_add(EFL_UI_CLOCK_CLASS, bx,
- efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND),
- efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_FALSE),
- efl_ui_clock_edit_mode_set(efl_added, EINA_TRUE),
- efl_ui_clock_pause_set(efl_added, EINA_TRUE),
- efl_pack(bx, efl_added));
+ uicdt4 = efl_add(EFL_UI_CLOCK_CLASS, bx,
+ efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND),
+ efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_FALSE),
+ efl_ui_clock_edit_mode_set(efl_added, EINA_TRUE),
+ efl_ui_clock_pause_set(efl_added, EINA_TRUE),
+ efl_pack(bx, efl_added));
efl_add(EFL_UI_BUTTON_CLASS, win,
efl_text_set(efl_added, "Back to the future..."),
diff --git a/src/tests/eio/eio_test_map.c b/src/tests/eio/eio_test_map.c
index fdb0631a9d..f794f73d73 100644
--- a/src/tests/eio/eio_test_map.c
+++ b/src/tests/eio/eio_test_map.c
@@ -14,7 +14,7 @@
#include "eio_suite.h"
-Eina_File *ee;
+Eina_File *eie;
static void
_done_cb(void *data EINA_UNUSED, Eio_File *handler EINA_UNUSED)
@@ -25,7 +25,7 @@ _done_cb(void *data EINA_UNUSED, Eio_File *handler EINA_UNUSED)
static void
_open_cb(void *data EINA_UNUSED, Eio_File *handler EINA_UNUSED, Eina_File *ef)
{
- ee = ef;
+ eie = ef;
ecore_main_loop_quit();
}
@@ -70,17 +70,17 @@ EFL_START_TEST(eio_test_map_simple)
ecore_main_loop_begin();
fail_if(!ef);
- ef = eio_file_map_all(ee, EINA_FILE_POPULATE, _filter_cb, _map_cb,
+ ef = eio_file_map_all(eie, EINA_FILE_POPULATE, _filter_cb, _map_cb,
_error_cb, data);
ecore_main_loop_begin();
fail_if(!ef);
- ef = eio_file_map_new(ee, EINA_FILE_WILLNEED, 0, strlen(data), _filter_cb,
+ ef = eio_file_map_new(eie, EINA_FILE_WILLNEED, 0, strlen(data), _filter_cb,
_map_cb, _error_cb, data);
ecore_main_loop_begin();
fail_if(!ef);
- ef = eio_file_close(ee, _done_cb, _error_cb, NULL);
+ ef = eio_file_close(eie, _done_cb, _error_cb, NULL);
ecore_main_loop_begin();
fail_if(!ef);
--
2.20.1