This integrates the remaining upstream patches which had to be merged.

Index: TODO
===================================================================
--- TODO        (revision 309)
+++ TODO        (working copy)
@@ -33,17 +23,6 @@
  * patches to xc/programs/Xserver/hw/xfree86/drivers/{mga,rendition}/Imakefile
    now in patch 908
 
-   + The following need to be backported from upstream (upstream CVS revisions
-     noted):
-   xc/include/extensions/xf86mscstr.h @ 1.3
-   xc/programs/Xserver/Xext/xf86misc.c @ 1.2
-   xc/programs/Xserver/Xext/xf86misc.c @ 1.3
-   xc/programs/Xserver/hw/xfree86/common/compiler.h @ 1.5
-   xc/programs/Xserver/hw/xfree86/loader/elfloader.c @ 1.5
-
-  + Grab Thomas Winischhofer's post-6.8.2 fixes to MiscPassMessage() from CVS
-    (see Debian #285807).
-
 * Make sure xdm upgrades work properly
 
 xorg-x11 6.8.2-2 (unstable)
Index: patches/0000_backport_from_upstream.diff
===================================================================
--- patches/0000_backport_from_upstream.diff    (revision 309)
+++ patches/0000_backport_from_upstream.diff    (working copy)
@@ -42,6 +42,16 @@
        Rename XFree86CustomVersion to XorgCustomVersion in the Debian
        Maintainer section.
 
+2004-12-15  Thomas Winischhofer  <[EMAIL PROTECTED]>
+
+        * Fix MISC extension's PassMessage(). Make it actually
+          work (MsgVal was trashed) and fix memory leaks.
+        * Increase MISC extension's minor number to 9 to indicate
+          that PassMessage() is actually usable
+
+[No changelog entry, but it's Thomas Winischhofer again: message from CVS log]
+       Another fix for MiscPassMessage(): Initialize returned "status".
+
 2004-12-17  Alex Deucher  <[EMAIL PROTECTED]>
 
        * programs/Xserver/hw/xfree86/drivers/ati/r128.h:
@@ -107,6 +117,15 @@
        intended to prevent this, but it apparently is not in effect yet
        when linux.cf is parsed.)
 
+2005-04-04  Egbert Eich  <eich-at-freedesktop-dot-org>
+
+        * programs/Xserver/hw/xfree86/common/compiler.h:
+        * programs/Xserver/hw/xfree86/loader/elfloader.c:
+        (ELFCollectSections):
+        When not using dlopen ia64 needs an extra cache
+        flush to ensure the icache is coherent when modules
+        are loaded (Alex Williamson).
+
 2005-04-05  Daniel Stone  <[EMAIL PROTECTED]>
 
        * programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c:
@@ -1495,3 +1514,96 @@
      if ((image->bits_per_pixel | image->depth) == 1) {
        ibu = image->bitmap_unit;
        for (y = 0; y < height; y++)
+Index: xc/include/extensions/xf86mscstr.h
+===================================================================
+--- xc/include/extensions/xf86mscstr.h (revision 309)
++++ xc/include/extensions/xf86mscstr.h (working copy)
+@@ -14,7 +14,7 @@
+ #define XF86MISCNAME          "XFree86-Misc"
+ 
+ #define XF86MISC_MAJOR_VERSION        0       /* current version numbers */
+-#define XF86MISC_MINOR_VERSION        8
++#define XF86MISC_MINOR_VERSION        9
+ 
+ typedef struct _XF86MiscQueryVersion {
+     CARD8     reqType;                /* always XF86MiscReqCode */
+Index: xc/programs/Xserver/hw/xfree86/common/compiler.h
+===================================================================
+--- xc/programs/Xserver/hw/xfree86/common/compiler.h   (revision 309)
++++ xc/programs/Xserver/hw/xfree86/common/compiler.h   (working copy)
+@@ -478,7 +478,7 @@
+ #    ifndef __INTEL_COMPILER
+ #       define ia64_flush_cache(Addr) \
+       __asm__ __volatile__ ( \
+-              "fc %0;;;" \
++              "fc.i %0;;;" \
+               "sync.i;;;" \
+               "mf;;;" \
+               "srlz.i;;;" \
+Index: xc/programs/Xserver/hw/xfree86/loader/elfloader.c
+===================================================================
+--- xc/programs/Xserver/hw/xfree86/loader/elfloader.c  (revision 309)
++++ xc/programs/Xserver/hw/xfree86/loader/elfloader.c  (working copy)
+@@ -2785,6 +2785,14 @@
+               mprotect( (char *)elffile->lsection[j].saddr - round,
+                        SecSize(i) + round, PROT_READ | PROT_WRITE | 
PROT_EXEC);
+           }
++#ifdef __ia64__
++          {
++              int k;
++              for (k = 0; k < SecSize(i); k += 32)
++                  ia64_flush_cache(elffile->lsection[j].saddr+k);
++              ia64_flush_cache(elffile->lsection[j].saddr+SecSize(i)-1);
++          }
++#endif
+           break;
+ #endif
+       case SHT_SYMTAB:
+Index: xc/programs/Xserver/Xext/xf86misc.c
+===================================================================
+--- xc/programs/Xserver/Xext/xf86misc.c        (revision 309)
++++ xc/programs/Xserver/Xext/xf86misc.c        (working copy)
+@@ -582,20 +582,29 @@
+       strncpy(msgtype,(char*)(&stuff[1]),stuff->typelen);
+     } else return BadValue;
+     if (stuff->vallen) {
+-      if (!(msgval = xalloc(stuff->vallen)))
++      if (!(msgval = xalloc(stuff->vallen))) {
++          xfree(msgtype);
+           return BadAlloc;
+-      strncpy(msgval,(char*)(&stuff[1] + ((stuff->typelen + 3) & ~3)),
++      }
++      strncpy(msgval,(char*)((char*)&stuff[1] + ((stuff->typelen + 3) & ~3)),
+                       stuff->vallen);
+-    } else return BadValue;
++    } else {
++      xfree(msgtype);
++      return BadValue;
++    }
+ 
+-    if ((retval= MiscExtPassMessage(stuff->screen,msgtype,msgval,&retstr)) != 
0)
++    if ((retval = MiscExtPassMessage(stuff->screen,msgtype,msgval,&retstr)) 
!= 0) {
++      xfree(msgtype);
++      xfree(msgval);
+       return retval;
++    }
+ 
+     rep.type = X_Reply;
+     rep.sequenceNumber = client->sequence;
+     rep.mesglen = (retstr? strlen(retstr): 0);
+     rep.length = (SIZEOF(xXF86MiscPassMessageReply) - SIZEOF(xGenericReply) +
+                 ((rep.mesglen + 3) & ~3)) >> 2;
++    rep.status = 0;
+     
+     if (client->swapped) {
+       swaps(&rep.sequenceNumber, n);
+@@ -607,6 +616,9 @@
+     if (rep.mesglen)
+         WriteToClient(client, rep.mesglen, (char *)retstr);
+ 
++    xfree(msgtype);
++    xfree(msgval);
++    
+     return (client->noClientException);
+ }
+ 

-- 
Don't say I didn't warn you.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to