Diff
Modified: trunk/Tools/ChangeLog (262062 => 262063)
--- trunk/Tools/ChangeLog 2020-05-22 17:32:05 UTC (rev 262062)
+++ trunk/Tools/ChangeLog 2020-05-22 17:35:43 UTC (rev 262063)
@@ -1,3 +1,23 @@
+2020-05-22 ChangSeok Oh <[email protected]>
+
+ [GTK] jhbuild is broken with GCC 10.0
+ https://bugs.webkit.org/show_bug.cgi?id=212256
+
+ Reviewed by Carlos Alberto Lopez Perez.
+
+ GCC 10.0 enables -fno-common as default, so many 'multiple definitions' failures occur
+ in building dependencies via jhbuild. This patch addresses them by back-porting patches
+ from corresponding source repositories.
+
+ * gstreamer/jhbuild.modules:
+ * gstreamer/patches/libsrtp-Fix-building-with-gcc-10.patch: Added.
+ * gstreamer/patches/orc-satisfy-fno-common-under-gcc10.patch: Added.
+ * gtk/jhbuild.modules:
+ * gtk/patches/at-spi2-atk-tests-Replace-common-variable-with-usual-external.patch: Added.
+ * gtk/patches/at-spi2-atk-tests-fix-child_pid-reference.patch: Added.
+ * gtk/patches/mesa-gallium-build-fix-to-make-gcc-10-happy.patch: Added.
+ * gtk/patches/xserver-Fix-building-with-fno-common.patch: Added.
+
2020-05-22 Philippe Normand <[email protected]>
[Flatpak SDK] Add bubblewrap ... wrapper
Modified: trunk/Tools/gstreamer/jhbuild.modules (262062 => 262063)
--- trunk/Tools/gstreamer/jhbuild.modules 2020-05-22 17:32:05 UTC (rev 262062)
+++ trunk/Tools/gstreamer/jhbuild.modules 2020-05-22 17:35:43 UTC (rev 262063)
@@ -28,7 +28,9 @@
<meson id="orc" mesonargs="-Dgtk_doc=disabled">
<branch module="orc/orc-${version}.tar.xz" version="0.4.30"
repo="gstreamer"
- hash="sha256:ba41b92146a5691cd102eb79c026757d39e9d3b81a65810d2946a1786a1c4972"/>
+ hash="sha256:ba41b92146a5691cd102eb79c026757d39e9d3b81a65810d2946a1786a1c4972">
+ <patch file="orc-satisfy-fno-common-under-gcc10.patch" strip="1"/>
+ </branch>
</meson>
<autotools id="openh264" supports-non-srcdir-builds="no" autogen-sh="pseudo-configure">
@@ -45,7 +47,9 @@
<autotools id="libsrtp">
<branch repo="github-tarball" module="cisco/libsrtp/archive/v${version}.tar.gz" version="2.2.0"
- checkoutdir="libsrtp-${version}"/>
+ checkoutdir="libsrtp-${version}">
+ <patch file="libsrtp-Fix-building-with-gcc-10.patch" strip="1"/>
+ </branch>
</autotools>
<meson id="gstreamer" mesonargs="-Dgtk_doc=disabled -Dintrospection=disabled -Dexamples=disabled -Dtests=disabled">
Added: trunk/Tools/gstreamer/patches/libsrtp-Fix-building-with-gcc-10.patch (0 => 262063)
--- trunk/Tools/gstreamer/patches/libsrtp-Fix-building-with-gcc-10.patch (rev 0)
+++ trunk/Tools/gstreamer/patches/libsrtp-Fix-building-with-gcc-10.patch 2020-05-22 17:35:43 UTC (rev 262063)
@@ -0,0 +1,41 @@
+From e1c6f5e39acf1022ddfc8e52e020f0bf7db7e8a0 Mon Sep 17 00:00:00 2001
+From: ChangSeok Oh <[email protected]>
+Date: Fri, 22 May 2020 03:18:27 -0400
+Subject: [PATCH] Fix building with gcc-10
+
+gcc-10 defaults to -fno-common which reveals a symbol conflict with
+bit_string. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85678
+---
+ crypto/math/datatypes.c | 2 +-
+ test/util.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/crypto/math/datatypes.c b/crypto/math/datatypes.c
+index c0dfece..ec2fe6d 100644
+--- a/crypto/math/datatypes.c
++++ b/crypto/math/datatypes.c
+@@ -79,7 +79,7 @@ int octet_get_weight(uint8_t octet)
+
+ /* the value MAX_PRINT_STRING_LEN is defined in datatypes.h */
+
+-char bit_string[MAX_PRINT_STRING_LEN];
++static char bit_string[MAX_PRINT_STRING_LEN];
+
+ uint8_t srtp_nibble_to_hex_char(uint8_t nibble)
+ {
+diff --git a/test/util.c b/test/util.c
+index eb203f4..04e149c 100644
+--- a/test/util.c
++++ b/test/util.c
+@@ -47,7 +47,7 @@
+ #include <string.h>
+ #include <stdint.h>
+
+-char bit_string[MAX_PRINT_STRING_LEN];
++static char bit_string[MAX_PRINT_STRING_LEN];
+
+ static inline int hex_char_to_nibble(uint8_t c)
+ {
+--
+2.26.2
+
Added: trunk/Tools/gstreamer/patches/orc-satisfy-fno-common-under-gcc10.patch (0 => 262063)
--- trunk/Tools/gstreamer/patches/orc-satisfy-fno-common-under-gcc10.patch (rev 0)
+++ trunk/Tools/gstreamer/patches/orc-satisfy-fno-common-under-gcc10.patch 2020-05-22 17:35:43 UTC (rev 262063)
@@ -0,0 +1,25 @@
+From 72240650eea4e4e8b9e67e8b4b2d9e72c89168ed Mon Sep 17 00:00:00 2001
+From: ChangSeok Oh <[email protected]>
+Date: Fri, 22 May 2020 02:44:00 -0400
+Subject: [PATCH] satisfy -fno-common under gcc10.
+
+---
+ orc/orctarget.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/orc/orctarget.h b/orc/orctarget.h
+index 642bfe3..f465744 100644
+--- a/orc/orctarget.h
++++ b/orc/orctarget.h
+@@ -25,7 +25,7 @@ enum {
+ ORC_TARGET_POWERPC_ALTIVEC = (1<<2),
+ ORC_TARGET_POWERPC_VSX = (1<<3),
+ ORC_TARGET_POWERPC_V207 = (1<<4)
+-} OrcTargetPowerPCFlags;
++};
+
+ enum {
+ ORC_TARGET_NEON_CLEAN_COMPILE = (1<<0),
+--
+2.26.2
+
Modified: trunk/Tools/gtk/jhbuild.modules (262062 => 262063)
--- trunk/Tools/gtk/jhbuild.modules 2020-05-22 17:32:05 UTC (rev 262062)
+++ trunk/Tools/gtk/jhbuild.modules 2020-05-22 17:35:43 UTC (rev 262063)
@@ -292,6 +292,8 @@
<branch module="pub/GNOME/sources/at-spi2-atk/2.33/at-spi2-atk-2.33.2.tar.xz" version="2.33.2"
repo="ftp.gnome.org"
hash="sha256:64d4351b245d717ec6f4f81fd40fe67481ff8e62d3893d465f01e71d9a3db3d3">
+ <patch file="at-spi2-atk-tests-Replace-common-variable-with-usual-external.patch" strip="1"/>
+ <patch file="at-spi2-atk-tests-fix-child_pid-reference.patch" strip="1"/>
</branch>
<dependencies>
<dep package="glib"/>
@@ -319,6 +321,7 @@
<patch file="xserver-remove-bogus-dependencies.patch" strip="1"/>
<patch file="xserver-search-for-DRI-drivers-at-LIBGL_DRIVERS_PATH-environ.patch" strip="1"/>
<patch file="xserver-gl-version.patch" strip="1"/> <!-- This patch does not include the meson build fix -->
+ <patch file="xserver-Fix-building-with-fno-common.patch" strip="1"/>
</branch>
</autotools>
@@ -376,6 +379,7 @@
module="/archive/mesa-${version}.tar.xz"
repo="mesa.freedesktop.org"
hash="sha256:099d9667327a76a61741a533f95067d76ea71a656e66b91507b3c0caf1d49e30">
+ <patch file="mesa-gallium-build-fix-to-make-gcc-10-happy.patch" strip="1"/>
</branch>
<dependencies>
<dep package="llvm"/>
Added: trunk/Tools/gtk/patches/at-spi2-atk-tests-Replace-common-variable-with-usual-external.patch (0 => 262063)
--- trunk/Tools/gtk/patches/at-spi2-atk-tests-Replace-common-variable-with-usual-external.patch (rev 0)
+++ trunk/Tools/gtk/patches/at-spi2-atk-tests-Replace-common-variable-with-usual-external.patch 2020-05-22 17:35:43 UTC (rev 262063)
@@ -0,0 +1,25 @@
+From 180f91479e27eed40c4d7ed6fe1fc82468d4982f Mon Sep 17 00:00:00 2001
+From: Samuel Thibault <[email protected]>
+Date: Sun, 25 Aug 2019 22:28:07 +0200
+Subject: [PATCH] tests: Replace common variable with usual external variable
+
+---
+ tests/atk_test_util.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/atk_test_util.h b/tests/atk_test_util.h
+index b2376d5..a81bedd 100644
+--- a/tests/atk_test_util.h
++++ b/tests/atk_test_util.h
+@@ -36,7 +36,7 @@
+ #include <locale.h>
+ #include "atk_suite.h"
+
+-pid_t child_pid;
++extern pid_t child_pid;
+
+ void run_app (const char *file_name);
+ AtspiAccessible *get_root_obj (const char *file_name);
+--
+2.26.2
+
Added: trunk/Tools/gtk/patches/at-spi2-atk-tests-fix-child_pid-reference.patch (0 => 262063)
--- trunk/Tools/gtk/patches/at-spi2-atk-tests-fix-child_pid-reference.patch (rev 0)
+++ trunk/Tools/gtk/patches/at-spi2-atk-tests-fix-child_pid-reference.patch 2020-05-22 17:35:43 UTC (rev 262063)
@@ -0,0 +1,28 @@
+From f200f2f37cf732d96d3b7e5de537840c570516fa Mon Sep 17 00:00:00 2001
+From: Samuel Thibault <[email protected]>
+Date: Tue, 27 Aug 2019 13:07:26 +0200
+Subject: [PATCH] tests: fix child_pid reference
+
+180f91479e27 ("tests: Replace common variable with usual external
+variable") fixed the variable declaration, but there was no definition
+either. This adds it.
+---
+ tests/atk_test_util.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/tests/atk_test_util.c b/tests/atk_test_util.c
+index c932df8..7a73c2b 100644
+--- a/tests/atk_test_util.c
++++ b/tests/atk_test_util.c
+@@ -23,6 +23,8 @@
+ #include <signal.h>
+ #include "atk_test_util.h"
+
++pid_t child_pid;
++
+ static void assert_clean_exit (int sig)
+ {
+ kill (child_pid, SIGTERM);
+--
+2.26.2
+
Added: trunk/Tools/gtk/patches/mesa-gallium-build-fix-to-make-gcc-10-happy.patch (0 => 262063)
--- trunk/Tools/gtk/patches/mesa-gallium-build-fix-to-make-gcc-10-happy.patch (rev 0)
+++ trunk/Tools/gtk/patches/mesa-gallium-build-fix-to-make-gcc-10-happy.patch 2020-05-22 17:35:43 UTC (rev 262063)
@@ -0,0 +1,39 @@
+From b60090fcd490bd3b13b09f6609d30e08256cc06d Mon Sep 17 00:00:00 2001
+From: ChangSeok Oh <[email protected]>
+Date: Fri, 22 May 2020 04:06:49 -0400
+Subject: [PATCH] build fix to make gcc 10 happy.
+
+---
+ src/gallium/auxiliary/util/u_debug_stack.c | 2 +-
+ src/gallium/auxiliary/util/u_debug_symbol.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/gallium/auxiliary/util/u_debug_stack.c b/src/gallium/auxiliary/util/u_debug_stack.c
+index 6ddacdb362f..6a66628fd55 100644
+--- a/src/gallium/auxiliary/util/u_debug_stack.c
++++ b/src/gallium/auxiliary/util/u_debug_stack.c
+@@ -46,7 +46,7 @@
+ #include "os/os_thread.h"
+ #include "u_hash_table.h"
+
+-struct util_hash_table* symbols_hash;
++static struct util_hash_table* symbols_hash;
+ static mtx_t symbols_mutex = _MTX_INITIALIZER_NP;
+
+ static unsigned hash_ptr(void* p)
+diff --git a/src/gallium/auxiliary/util/u_debug_symbol.c b/src/gallium/auxiliary/util/u_debug_symbol.c
+index 84760430489..c38401c5bdd 100644
+--- a/src/gallium/auxiliary/util/u_debug_symbol.c
++++ b/src/gallium/auxiliary/util/u_debug_symbol.c
+@@ -270,7 +270,7 @@ debug_symbol_print(const void *addr)
+ debug_printf("\t%s\n", buf);
+ }
+
+-struct util_hash_table* symbols_hash;
++static struct util_hash_table* symbols_hash;
+ static mtx_t symbols_mutex = _MTX_INITIALIZER_NP;
+
+ static unsigned hash_ptr(void* p)
+--
+2.26.2
+
Added: trunk/Tools/gtk/patches/xserver-Fix-building-with-fno-common.patch (0 => 262063)
--- trunk/Tools/gtk/patches/xserver-Fix-building-with-fno-common.patch (rev 0)
+++ trunk/Tools/gtk/patches/xserver-Fix-building-with-fno-common.patch 2020-05-22 17:35:43 UTC (rev 262063)
@@ -0,0 +1,97 @@
+From fb8e8533a6175757deec1696c9d1c4a87a4c9eb3 Mon Sep 17 00:00:00 2001
+From: ChangSeok Oh <[email protected]>
+Date: Fri, 22 May 2020 04:43:43 -0400
+Subject: [PATCH] Fix building with `-fno-common`
+
+* GCC 10 will switch the default to `-fno-common`.
+ https://gcc.gnu.org/PR85678
+---
+ hw/dmx/config/dmxconfig.c | 2 +-
+ hw/dmx/config/xdmxconfig.c | 2 +-
+ hw/xwayland/xwayland.c | 2 +-
+ test/misc.c | 2 +-
+ test/xi2/protocol-common.c | 2 ++
+ test/xi2/protocol-common.h | 2 +-
+ 6 files changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/hw/dmx/config/dmxconfig.c b/hw/dmx/config/dmxconfig.c
+index c1a9e1cf3..85bc0dbe4 100644
+--- a/hw/dmx/config/dmxconfig.c
++++ b/hw/dmx/config/dmxconfig.c
+@@ -72,7 +72,7 @@ typedef struct DMXConfigCmdStruct {
+ DMXConfigList *xinputs;
+ } DMXConfigCmd, *DMXConfigCmdPtr;
+
+-DMXConfigEntryPtr dmxConfigEntry;
++extern DMXConfigEntryPtr dmxConfigEntry;
+ static DMXConfigCmd dmxConfigCmd;
+
+ static int dmxDisplaysFromCommandLine;
+diff --git a/hw/dmx/config/xdmxconfig.c b/hw/dmx/config/xdmxconfig.c
+index 49e4b5459..05d839688 100644
+--- a/hw/dmx/config/xdmxconfig.c
++++ b/hw/dmx/config/xdmxconfig.c
+@@ -65,7 +65,7 @@ extern FILE *yyin;
+ #define DMX_CANVAS_WIDTH 400
+ #define DMX_CANVAS_HEIGHT 500
+
+-DMXConfigEntryPtr dmxConfigEntry;
++extern DMXConfigEntryPtr dmxConfigEntry;
+ static DMXConfigVirtualPtr dmxConfigCurrent, dmxConfigNewVirtual;
+ static DMXConfigDisplayPtr dmxConfigCurrentDisplay, dmxConfigNewDisplay;
+ static int dmxConfigGrabbed, dmxConfigGrabbedFine;
+diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c
+index 939f3392c..a15b27b96 100644
+--- a/hw/xwayland/xwayland.c
++++ b/hw/xwayland/xwayland.c
+@@ -37,7 +37,7 @@
+
+ #ifdef XF86VIDMODE
+ #include <X11/extensions/xf86vmproto.h>
+-_X_EXPORT Bool noXFree86VidModeExtension;
++extern _X_EXPORT Bool noXFree86VidModeExtension;
+ #endif
+
+ void
+diff --git a/test/misc.c b/test/misc.c
+index 66330a140..069aac902 100644
+--- a/test/misc.c
++++ b/test/misc.c
+@@ -31,7 +31,7 @@
+ #include "dix.h"
+ #include "dixstruct.h"
+
+-ScreenInfo screenInfo;
++extern ScreenInfo screenInfo;
+
+ static void
+ dix_version_compare(void)
+diff --git a/test/xi2/protocol-common.c b/test/xi2/protocol-common.c
+index 9265ba390..33483e73f 100644
+--- a/test/xi2/protocol-common.c
++++ b/test/xi2/protocol-common.c
+@@ -44,6 +44,8 @@ static ClientRec server_client;
+
+ void *global_userdata;
+
++void (*reply_handler) (ClientPtr client, int len, char *data, void *userdata);
++
+ static void
+ fake_init_sprite(DeviceIntPtr dev)
+ {
+diff --git a/test/xi2/protocol-common.h b/test/xi2/protocol-common.h
+index f8504787f..d4ccb4e0a 100644
+--- a/test/xi2/protocol-common.h
++++ b/test/xi2/protocol-common.h
+@@ -97,7 +97,7 @@ extern void *global_userdata;
+ * The reply handler called from WriteToClient. Set this handler if you need
+ * to check the reply values.
+ */
+-void (*reply_handler) (ClientPtr client, int len, char *data, void *userdata);
++extern void (*reply_handler) (ClientPtr client, int len, char *data, void *userdata);
+
+ /**
+ * The default screen used for the windows. Initialized by init_simple().
+--
+2.26.2
+