diff --git a/u_kdrive-UnregisterFd-Fix-off-by-one.patch b/U_kdrive-UnregisterFd-Fix-off-by-one.patch similarity index 100% rename from u_kdrive-UnregisterFd-Fix-off-by-one.patch rename to U_kdrive-UnregisterFd-Fix-off-by-one.patch diff --git a/U_modesetting-should-not-reference-gbm-when-it-s-not-d.patch b/U_modesetting-should-not-reference-gbm-when-it-s-not-d.patch new file mode 100644 index 0000000..2312dac --- /dev/null +++ b/U_modesetting-should-not-reference-gbm-when-it-s-not-d.patch @@ -0,0 +1,61 @@ +From fe8562f5316d8c74ca074ad145295c65ddff5fc2 Mon Sep 17 00:00:00 2001 +From: Alan Coopersmith +Date: Fri, 1 Jan 2016 18:10:08 -0800 +Subject: [PATCH] modesetting should not reference gbm when it's not defined + +Fixes build errors of: +present.c: In function 'ms_do_pageflip': +present.c:410:17: error: 'drmmode_bo' has no member named 'gbm' + new_front_bo.gbm = glamor_gbm_bo_from_pixmap(screen, new_front); + ^ +present.c:412:22: error: 'drmmode_bo' has no member named 'gbm' + if (!new_front_bo.gbm) { + ^ +present.c: In function 'ms_present_check_flip': +present.c:536:36: error: 'drmmode_bo' has no member named 'gbm' + if (drmmode_crtc->rotate_bo.gbm) + ^ +Introduced by commit 13c7d53d + +Reviewed-by: Adam Jackson +Signed-off-by: Alan Coopersmith +--- + hw/xfree86/drivers/modesetting/present.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/hw/xfree86/drivers/modesetting/present.c b/hw/xfree86/drivers/modesetting/present.c +index bb2976b..d65c8c8 100644 +--- a/hw/xfree86/drivers/modesetting/present.c ++++ b/hw/xfree86/drivers/modesetting/present.c +@@ -398,6 +398,9 @@ ms_do_pageflip(ScreenPtr screen, + int ref_crtc_vblank_pipe, + Bool async) + { ++#ifndef GLAMOR_HAS_GBM ++ return FALSE; ++#else + ScrnInfoPtr scrn = xf86ScreenToScrn(screen); + modesettingPtr ms = modesettingPTR(scrn); + xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn); +@@ -505,6 +508,7 @@ error_out: + flipdata->flip_count--; + + return FALSE; ++#endif /* GLAMOR_HAS_GBM */ + } + + /* +@@ -533,8 +537,10 @@ ms_present_check_flip(RRCrtcPtr crtc, + drmmode_crtc_private_ptr drmmode_crtc = config->crtc[i]->driver_private; + + /* Don't do pageflipping if CRTCs are rotated. */ ++#ifdef GLAMOR_HAS_GBM + if (drmmode_crtc->rotate_bo.gbm) + return FALSE; ++#endif + + if (ms_crtc_on(config->crtc[i])) + num_crtcs_on++; +-- +2.6.2 + diff --git a/u_busfault_sigaction-Only-initialize-pointer-when-matched.patch b/u_busfault_sigaction-Only-initialize-pointer-when-matched.patch new file mode 100644 index 0000000..09a961e --- /dev/null +++ b/u_busfault_sigaction-Only-initialize-pointer-when-matched.patch @@ -0,0 +1,42 @@ +From: Egbert Eich +Date: Mon Jan 11 21:48:15 2016 +0100 +Subject: [PATCH]busfault_sigaction: Only initialize pointer when matched +Patch-mainline: to be upstreamed + +References: boo#961439 +Signed-off-by: Egbert Eich + +When looping over the registered map ranges, don't use +the variable holding the final result as loop variable - +It would always be initialized, on an empty list or +when we run past the end of the list when no entry was +found. + +Signed-off-by: Egbert Eich +--- + os/busfault.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/os/busfault.c b/os/busfault.c +index d4afa6d..53f02e6 100644 +--- a/os/busfault.c ++++ b/os/busfault.c +@@ -98,13 +98,15 @@ static void + busfault_sigaction(int sig, siginfo_t *info, void *param) + { + void *fault = info->si_addr; +- struct busfault *busfault = NULL; ++ struct busfault *tmp, *busfault = NULL; + void *new_addr; + + /* Locate the faulting address in our list of shared segments + */ +- xorg_list_for_each_entry(busfault, &busfaults, list) { +- if ((char *) busfault->addr <= (char *) fault && (char *) fault < (char *) busfault->addr + busfault->size) { ++ xorg_list_for_each_entry(tmp, &busfaults, list) { ++ if ((char *) tmp->addr <= (char *) fault && ++ (char *) fault < (char *) tmp->addr + tmp->size) { ++ busfault = tmp; + break; + } + } diff --git a/xorg-x11-server.changes b/xorg-x11-server.changes index 2b550a4..35ec793 100644 --- a/xorg-x11-server.changes +++ b/xorg-x11-server.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Tue Jan 12 13:19:06 UTC 2016 - fcrozat@suse.com + +- U_modesetting-should-not-reference-gbm-when-it-s-not-d.patch: fix + build when gbm is not defined. + +------------------------------------------------------------------- +Mon Jan 11 21:48:00 UTC 2016 - eich@suse.com + +- u_busfault_sigaction-Only-initialize-pointer-when-matched.patch + Only initialize pointer when matched (boo#961439). +- u_kdrive-UnregisterFd-Fix-off-by-one.patch -> + U_kdrive-UnregisterFd-Fix-off-by-one.patch + ------------------------------------------------------------------- Sun Jan 10 18:59:29 UTC 2016 - eich@suse.com diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 492db15..95fb388 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -181,7 +181,9 @@ Patch117: xorg-x11-server-byte-order.patch Patch160: u_vesa-Add-VBEDPMSGetCapabilities-VBEDPMSGet.patch Patch204: U_systemd-logind-do-not-rely-on-directed-signals.patch -Patch205: u_kdrive-UnregisterFd-Fix-off-by-one.patch +Patch205: U_kdrive-UnregisterFd-Fix-off-by-one.patch +Patch206: u_busfault_sigaction-Only-initialize-pointer-when-matched.patch +Patch207: U_modesetting-should-not-reference-gbm-when-it-s-not-d.patch Patch1000: n_xserver-optimus-autoconfig-hack.patch @@ -288,6 +290,8 @@ cp %{SOURCE90} . %patch204 -p1 %patch205 -p1 +%patch206 -p1 +%patch207 -p1 %patch1000 -p1