From ff6b355183abf835dc5355e01e6ca742eaff3a12 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Thu, 19 Mar 2020 14:13:07 -0700 Subject: x11-base/xorg-server: Add patch to build with -fno-common Closes: https://bugs.gentoo.org/705880 Signed-off-by: Matt Turner --- ...erver-1.20.7-Fix-building-with-fno-common.patch | 254 +++++++++++++++++++++ x11-base/xorg-server/xorg-server-1.20.7.ebuild | 1 + 2 files changed, 255 insertions(+) create mode 100644 x11-base/xorg-server/files/xorg-server-1.20.7-Fix-building-with-fno-common.patch (limited to 'x11-base/xorg-server') diff --git a/x11-base/xorg-server/files/xorg-server-1.20.7-Fix-building-with-fno-common.patch b/x11-base/xorg-server/files/xorg-server-1.20.7-Fix-building-with-fno-common.patch new file mode 100644 index 000000000000..d3011fcb255e --- /dev/null +++ b/x11-base/xorg-server/files/xorg-server-1.20.7-Fix-building-with-fno-common.patch @@ -0,0 +1,254 @@ +From 1610ef1d6b5ba99da9d1a639f3b65b2e61514a7d Mon Sep 17 00:00:00 2001 +From: David Seifert +Date: Fri, 24 Jan 2020 12:49:44 +0100 +Subject: [PATCH xserver] Fix building with `-fno-common` + +* GCC 10 will switch the default to `-fno-common`. + https://gcc.gnu.org/PR85678 + +Bug: https://bugs.gentoo.org/705880 +Signed-off-by: Matt Turner +--- + hw/dmx/config/dmxconfig.c | 2 +- + hw/dmx/config/xdmxconfig.c | 2 +- + hw/dmx/glxProxy/glxext.c | 2 -- + hw/xwayland/xwayland.c | 2 +- + test/misc.c | 2 +- + test/xi1/protocol-xchangedevicecontrol.c | 2 +- + test/xi2/protocol-common.c | 2 ++ + test/xi2/protocol-common.h | 2 +- + test/xi2/protocol-xigetclientpointer.c | 2 +- + test/xi2/protocol-xigetselectedevents.c | 2 +- + test/xi2/protocol-xipassivegrabdevice.c | 2 +- + test/xi2/protocol-xiquerydevice.c | 2 +- + test/xi2/protocol-xiquerypointer.c | 2 +- + test/xi2/protocol-xiqueryversion.c | 2 +- + test/xi2/protocol-xiselectevents.c | 2 +- + test/xi2/protocol-xisetclientpointer.c | 2 +- + test/xi2/protocol-xiwarppointer.c | 2 +- + 17 files changed, 17 insertions(+), 17 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/dmx/glxProxy/glxext.c b/hw/dmx/glxProxy/glxext.c +index 49848bbff..ca9780f99 100644 +--- a/hw/dmx/glxProxy/glxext.c ++++ b/hw/dmx/glxProxy/glxext.c +@@ -47,8 +47,6 @@ + #include "extinit.h" + #include "glx_extinit.h" + +-int noGlxExtension; +- + /* + ** Forward declarations. + */ +diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c +index feb1058b7..5fefa5923 100644 +--- a/hw/xwayland/xwayland.c ++++ b/hw/xwayland/xwayland.c +@@ -40,7 +40,7 @@ + + #ifdef XF86VIDMODE + #include +-_X_EXPORT Bool noXFree86VidModeExtension; ++extern _X_EXPORT Bool noXFree86VidModeExtension; + #endif + + #ifdef XWL_HAS_GLAMOR +diff --git a/test/misc.c b/test/misc.c +index 3c669b677..f1f76cccd 100644 +--- a/test/misc.c ++++ b/test/misc.c +@@ -33,7 +33,7 @@ + + #include "tests-common.h" + +-ScreenInfo screenInfo; ++extern ScreenInfo screenInfo; + + static void + dix_version_compare(void) +diff --git a/test/xi1/protocol-xchangedevicecontrol.c b/test/xi1/protocol-xchangedevicecontrol.c +index 57a15c407..54f1f67cb 100644 +--- a/test/xi1/protocol-xchangedevicecontrol.c ++++ b/test/xi1/protocol-xchangedevicecontrol.c +@@ -37,7 +37,7 @@ + + #include "protocol-common.h" + +-ClientRec client_window; ++extern ClientRec client_window; + static ClientRec client_request; + + static void +diff --git a/test/xi2/protocol-common.c b/test/xi2/protocol-common.c +index 8cd85dd05..05dd3c4e7 100644 +--- a/test/xi2/protocol-common.c ++++ b/test/xi2/protocol-common.c +@@ -45,6 +45,8 @@ static ClientRec server_client; + + void *global_userdata; + ++void (*reply_handler) (ClientPtr client, int len, char *data, void *userdata); ++ + int enable_GrabButton_wrap = 1; + int enable_XISetEventMask_wrap = 1; + +diff --git a/test/xi2/protocol-common.h b/test/xi2/protocol-common.h +index 8490529ad..742ce348f 100644 +--- a/test/xi2/protocol-common.h ++++ b/test/xi2/protocol-common.h +@@ -99,7 +99,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(). +diff --git a/test/xi2/protocol-xigetclientpointer.c b/test/xi2/protocol-xigetclientpointer.c +index 9c38bd720..244e8438f 100644 +--- a/test/xi2/protocol-xigetclientpointer.c ++++ b/test/xi2/protocol-xigetclientpointer.c +@@ -46,7 +46,7 @@ static struct { + int win; + } test_data; + +-ClientRec client_window; ++extern ClientRec client_window; + static ClientRec client_request; + + static void +diff --git a/test/xi2/protocol-xigetselectedevents.c b/test/xi2/protocol-xigetselectedevents.c +index 9a0fac5d4..b14100224 100644 +--- a/test/xi2/protocol-xigetselectedevents.c ++++ b/test/xi2/protocol-xigetselectedevents.c +@@ -60,7 +60,7 @@ static struct { + int mask_len; + } test_data; + +-ClientRec client_window; ++extern ClientRec client_window; + + /* AddResource is called from XISetSEventMask, we don't need this */ + Bool +diff --git a/test/xi2/protocol-xipassivegrabdevice.c b/test/xi2/protocol-xipassivegrabdevice.c +index c703a1ee8..142bcecb7 100644 +--- a/test/xi2/protocol-xipassivegrabdevice.c ++++ b/test/xi2/protocol-xipassivegrabdevice.c +@@ -41,7 +41,7 @@ + + #include "protocol-common.h" + +-ClientRec client_window; ++extern ClientRec client_window; + static ClientRec client_request; + + #define N_MODS 7 +diff --git a/test/xi2/protocol-xiquerydevice.c b/test/xi2/protocol-xiquerydevice.c +index a068038fd..6ee8a80fc 100644 +--- a/test/xi2/protocol-xiquerydevice.c ++++ b/test/xi2/protocol-xiquerydevice.c +@@ -54,7 +54,7 @@ struct test_data { + int num_devices_in_reply; + }; + +-ClientRec client_window; ++extern ClientRec client_window; + + static void reply_XIQueryDevice_data(ClientPtr client, int len, char *data, + void *closure); +diff --git a/test/xi2/protocol-xiquerypointer.c b/test/xi2/protocol-xiquerypointer.c +index ed75d7910..0f5a2b57a 100644 +--- a/test/xi2/protocol-xiquerypointer.c ++++ b/test/xi2/protocol-xiquerypointer.c +@@ -41,7 +41,7 @@ + + #include "protocol-common.h" + +-ClientRec client_window; ++extern ClientRec client_window; + static ClientRec client_request; + static void reply_XIQueryPointer_data(ClientPtr client, int len, + char *data, void *closure); +diff --git a/test/xi2/protocol-xiqueryversion.c b/test/xi2/protocol-xiqueryversion.c +index 3ce758faa..c7ddbfc10 100644 +--- a/test/xi2/protocol-xiqueryversion.c ++++ b/test/xi2/protocol-xiqueryversion.c +@@ -58,7 +58,7 @@ struct test_data { + int minor_expected; + }; + +-ClientRec client_window; ++extern ClientRec client_window; + + static void + reply_XIQueryVersion(ClientPtr client, int len, char *data, void *closure) +diff --git a/test/xi2/protocol-xiselectevents.c b/test/xi2/protocol-xiselectevents.c +index f136c23d0..06050ade7 100644 +--- a/test/xi2/protocol-xiselectevents.c ++++ b/test/xi2/protocol-xiselectevents.c +@@ -62,7 +62,7 @@ + + static unsigned char *data[4096 * 20]; /* the request data buffer */ + +-ClientRec client_window; ++extern ClientRec client_window; + + int + __real_XISetEventMask(DeviceIntPtr dev, WindowPtr win, ClientPtr client, +diff --git a/test/xi2/protocol-xisetclientpointer.c b/test/xi2/protocol-xisetclientpointer.c +index 6584bb9cc..ddc9f0000 100644 +--- a/test/xi2/protocol-xisetclientpointer.c ++++ b/test/xi2/protocol-xisetclientpointer.c +@@ -48,7 +48,7 @@ + + #include "protocol-common.h" + +-ClientRec client_window; ++extern ClientRec client_window; + static ClientRec client_request; + + static void +diff --git a/test/xi2/protocol-xiwarppointer.c b/test/xi2/protocol-xiwarppointer.c +index 8484d54e5..e5c2f31ea 100644 +--- a/test/xi2/protocol-xiwarppointer.c ++++ b/test/xi2/protocol-xiwarppointer.c +@@ -44,7 +44,7 @@ + static int expected_x = SPRITE_X; + static int expected_y = SPRITE_Y; + +-ClientRec client_window; ++extern ClientRec client_window; + + /** + * This function overrides the one in the screen rec. +-- +2.24.1 + diff --git a/x11-base/xorg-server/xorg-server-1.20.7.ebuild b/x11-base/xorg-server/xorg-server-1.20.7.ebuild index 794466e2d513..33eb1762fd00 100644 --- a/x11-base/xorg-server/xorg-server-1.20.7.ebuild +++ b/x11-base/xorg-server/xorg-server-1.20.7.ebuild @@ -118,6 +118,7 @@ REQUIRED_USE="!minimal? ( xephyr? ( kdrive )" UPSTREAMED_PATCHES=( + "${FILESDIR}"/${P}-Fix-building-with-fno-common.patch ) PATCHES=( -- cgit v1.2.3-18-g5258