[Xquartz-changes] xserver: Branch 'server-1.17-branch' - 5 commits

Jeremy Huddleston jeremyhu at freedesktop.org
Thu Oct 29 12:14:36 PDT 2015


Rebased ref, commits from common ancestor:
commit c077714c05c21dbf5b3a1559e8fcdf0229c40c3e
Author: Adam Jackson <ajax at redhat.com>
Date:   Wed Oct 21 12:15:34 2015 -0400

    xfree86: Use same inb/outb asm code for i386 amd64 and ia64
    
    This matches the GCCUSESGAS path from the old monolith build (where that
    macro was actually set), and fixes the build on modern OSX.
    
    Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
    Signed-off-by: Adam Jackson <ajax at redhat.com>
    (cherry picked from commit 47b00fa4bf3b67736957296492310f7fdd6c0a25)

diff --git a/hw/xfree86/common/compiler.h b/hw/xfree86/common/compiler.h
index 1653574..6707598 100644
--- a/hw/xfree86/common/compiler.h
+++ b/hw/xfree86/common/compiler.h
@@ -286,7 +286,7 @@ extern _X_EXPORT unsigned int inl(unsigned int port);
 #include <machine/pio.h>
 #endif                          /* __NetBSD__ */
 
-#elif defined(__amd64__)
+#elif defined(__amd64__) || defined(__i386__) || defined(__ia64__)
 
 #include <inttypes.h>
 
@@ -967,53 +967,6 @@ inl(unsigned PORT_SIZE port)
 
 #endif                          /* NDS32_MMIO_SWAP */
 
-#elif defined(__i386__) || defined(__ia64__)
-
-static __inline__ void
-outb(unsigned short port, unsigned char val)
-{
-    __asm__ __volatile__("out%B0 (%1)"::"a"(val), "d"(port));
-}
-
-static __inline__ void
-outw(unsigned short port, unsigned short val)
-{
-    __asm__ __volatile__("out%W0 (%1)"::"a"(val), "d"(port));
-}
-
-static __inline__ void
-outl(unsigned short port, unsigned int val)
-{
-    __asm__ __volatile__("out%L0 (%1)"::"a"(val), "d"(port));
-}
-
-static __inline__ unsigned int
-inb(unsigned short port)
-{
-    unsigned char ret;
-    __asm__ __volatile__("in%B0 (%1)":"=a"(ret):"d"(port));
-
-    return ret;
-}
-
-static __inline__ unsigned int
-inw(unsigned short port)
-{
-    unsigned short ret;
-    __asm__ __volatile__("in%W0 (%1)":"=a"(ret):"d"(port));
-
-    return ret;
-}
-
-static __inline__ unsigned int
-inl(unsigned short port)
-{
-    unsigned int ret;
-    __asm__ __volatile__("in%L0 (%1)":"=a"(ret):"d"(port));
-
-    return ret;
-}
-
 #endif                          /* arch madness */
 
 #else                           /* !GNUC */
commit 2c7fa2a423ee3d2b9b4c1c63d90ecdfc9eb3b359
Author: Adam Jackson <ajax at redhat.com>
Date:   Wed Oct 28 12:30:44 2015 -0400

    xserver 1.17.4

diff --git a/configure.ac b/configure.ac
index 16832c2..2f48b90 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,9 +26,9 @@ dnl
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ(2.60)
-AC_INIT([xorg-server], 1.17.3, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
-RELEASE_DATE="2015-10-26"
-RELEASE_NAME="Pumpkin Spice Latte"
+AC_INIT([xorg-server], 1.17.4, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+RELEASE_DATE="2015-10-28"
+RELEASE_NAME="Cider Donut"
 AC_CONFIG_SRCDIR([Makefile.am])
 AC_CONFIG_MACRO_DIR([m4])
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
commit bbf1893cc039155432a960b61d55978f1b706295
Author: Martin Peres <martin.peres at linux.intel.com>
Date:   Mon Jul 20 10:37:30 2015 +0300

    os: make sure the clientsWritable fd_set is initialized before use
    
    In WaitForSomething(), the fd_set clientsWritable may be used
    unitialized when the boolean AnyClientsWriteBlocked is set in the
    WakeupHandler(). This leads to a crash in FlushAllOutput() after
    x11proto's commit 2c94cdb453bc641246cc8b9a876da9799bee1ce7.
    
    The problem did not manifest before because both the XFD_SIZE and the
    maximum number of clients were set to 256. As the connectionTranslation
    table was initalized for the 256 clients to 0, the test on the index not
    being 0 was aborting before dereferencing the client #0.
    
    As of commit 2c94cdb453bc641246cc8b9a876da9799bee1ce7 in x11proto, the
    XFD_SIZE got bumped to 512. This lead the OutputPending fd_set to have
    any fd above 256 to be uninitialized which in turns lead to reading an
    index after the end of the ConnectionTranslation table. This index would
    then be used to find the client corresponding to the fd marked as
    pending writes and would also result to an out-of-bound access which
    would usually be the fatal one.
    
    Fix this by zeroing the clientsWritable fd_set at the beginning of
    WaitForSomething(). In this case, the bottom part of the loop, which
    would indirectly call FlushAllOutput, will not do any work but the next
    call to select will result in the execution of the right codepath. This
    is exactly what we want because we need to know the writable clients
    before handling them. In the end, it also makes sure that the fds above
    MaxClient are initialized, preventing the crash in FlushAllOutput().
    
    Thanks to everyone involved in tracking this one down!
    
    Reported-by: Karol Herbst <freedesktop at karolherbst.de>
    Reported-by: Tobias Klausmann <tobias.klausmann at mni.thm.de>
    Signed-off-by: Martin Peres <martin.peres at linux.intel.com>
    Tested-by: Tobias Klausmann <tobias.klausmann at mni.thm.de>
    Tested-by: Martin Peres <martin.peres at linux.intel.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91316
    Cc: Ilia Mirkin  <imirkin at alum.mit.edu>
    Cc: Olivier Fourdan <ofourdan at redhat.com
    Cc: Adam Jackson <ajax at redhat.com>
    Cc: Alan Coopersmith <alan.coopersmith at oracle.com
    Cc: Chris Wilson <chris at chris-wilson.co.uk>
    Reviewed-by: Alan Coopersmith <alan.coopersmith at oracle.com>

diff --git a/os/WaitFor.c b/os/WaitFor.c
index 431f1a6..993c14e 100644
--- a/os/WaitFor.c
+++ b/os/WaitFor.c
@@ -158,6 +158,7 @@ WaitForSomething(int *pClientsReady)
     Bool someReady = FALSE;
 
     FD_ZERO(&clientsReadable);
+    FD_ZERO(&clientsWritable);
 
     if (nready)
         SmartScheduleStopTimer();
commit 6e3892045e57808b18d053288330306119ca2252
Author: Julien Cristau <jcristau at debian.org>
Date:   Tue Oct 27 13:23:13 2015 +0100

    Xext: fix build with --disable-xace
    
    Regression from 990cf5b2828f73dc7a07f1e38f608af39acfd81d
    
    Signed-off-by: Julien Cristau <jcristau at debian.org>
    Cc: Andrew Eikum <aeikum at codeweavers.com>
    Cc: Peter Hutterer <peter.hutterer at who-t.net>
    Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
    (cherry picked from commit 524844c8c18e226aad30feb371b19ef491d83449)

diff --git a/Xext/xace.h b/Xext/xace.h
index 3303f76..6a8d0c4 100644
--- a/Xext/xace.h
+++ b/Xext/xace.h
@@ -112,6 +112,7 @@ extern _X_EXPORT void XaceCensorImage(ClientPtr client,
 
 #ifdef __GNUC__
 #define XaceHook(args...) Success
+#define XaceHookIsSet(args...) 0
 #define XaceHookDispatch(args...) Success
 #define XaceHookPropertyAccess(args...) Success
 #define XaceHookSelectionAccess(args...) Success
@@ -119,6 +120,7 @@ extern _X_EXPORT void XaceCensorImage(ClientPtr client,
 #define XaceCensorImage(args...) { ; }
 #else
 #define XaceHook(...) Success
+#define XaceHookIsSet(...) 0
 #define XaceHookDispatch(...) Success
 #define XaceHookPropertyAccess(...) Success
 #define XaceHookSelectionAccess(...) Success
commit bf003230f93b2a537b01ab976b7ced83d053e0eb
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Tue Oct 27 11:51:49 2015 +0900

    DRI2: Sync radeonsi_pci_ids.h from Mesa
    
    Fixes DRI2 client driver name mapping for newer AMD GPUs with the
    modesetting driver, allowing the DRI2 extension to initialize.
    
    Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
    (cherry picked from commit ac2f27f1a9fa8cd88c5dbe7ec0f96238eecf2c3e)

diff --git a/hw/xfree86/dri2/pci_ids/radeonsi_pci_ids.h b/hw/xfree86/dri2/pci_ids/radeonsi_pci_ids.h
index 571e863..bcf15a1 100644
--- a/hw/xfree86/dri2/pci_ids/radeonsi_pci_ids.h
+++ b/hw/xfree86/dri2/pci_ids/radeonsi_pci_ids.h
@@ -63,6 +63,7 @@ CHIPSET(0x6608, OLAND_6608, OLAND)
 CHIPSET(0x6610, OLAND_6610, OLAND)
 CHIPSET(0x6611, OLAND_6611, OLAND)
 CHIPSET(0x6613, OLAND_6613, OLAND)
+CHIPSET(0x6617, OLAND_6617, OLAND)
 CHIPSET(0x6620, OLAND_6620, OLAND)
 CHIPSET(0x6621, OLAND_6621, OLAND)
 CHIPSET(0x6623, OLAND_6623, OLAND)
@@ -85,6 +86,7 @@ CHIPSET(0x6651, BONAIRE_6651, BONAIRE)
 CHIPSET(0x6658, BONAIRE_6658, BONAIRE)
 CHIPSET(0x665C, BONAIRE_665C, BONAIRE)
 CHIPSET(0x665D, BONAIRE_665D, BONAIRE)
+CHIPSET(0x665F, BONAIRE_665F, BONAIRE)
 
 CHIPSET(0x9830, KABINI_9830, KABINI)
 CHIPSET(0x9831, KABINI_9831, KABINI)
@@ -155,3 +157,29 @@ CHIPSET(0x67B8, HAWAII_67B8, HAWAII)
 CHIPSET(0x67B9, HAWAII_67B9, HAWAII)
 CHIPSET(0x67BA, HAWAII_67BA, HAWAII)
 CHIPSET(0x67BE, HAWAII_67BE, HAWAII)
+
+CHIPSET(0x6900, ICELAND_, ICELAND)
+CHIPSET(0x6901, ICELAND_, ICELAND)
+CHIPSET(0x6902, ICELAND_, ICELAND)
+CHIPSET(0x6903, ICELAND_, ICELAND)
+CHIPSET(0x6907, ICELAND_, ICELAND)
+
+CHIPSET(0x6920, TONGA_, TONGA)
+CHIPSET(0x6921, TONGA_, TONGA)
+CHIPSET(0x6928, TONGA_, TONGA)
+CHIPSET(0x6929, TONGA_, TONGA)
+CHIPSET(0x692B, TONGA_, TONGA)
+CHIPSET(0x692F, TONGA_, TONGA)
+CHIPSET(0x6930, TONGA_, TONGA)
+CHIPSET(0x6938, TONGA_, TONGA)
+CHIPSET(0x6939, TONGA_, TONGA)
+
+CHIPSET(0x9870, CARRIZO_, CARRIZO)
+CHIPSET(0x9874, CARRIZO_, CARRIZO)
+CHIPSET(0x9875, CARRIZO_, CARRIZO)
+CHIPSET(0x9876, CARRIZO_, CARRIZO)
+CHIPSET(0x9877, CARRIZO_, CARRIZO)
+
+CHIPSET(0x7300, FIJI_, FIJI)
+
+CHIPSET(0x98E4, STONEY_, STONEY)


More information about the Xquartz-changes mailing list