[X2Go-Commits] [nx-libs] 01/06: Add 057_nx-X11-bigendian-ppc64-no-session-window.patch. Fix failures in session windows coming up on Big Endian systems like PPC64. (Fixes: #516).

git-admin at x2go.org git-admin at x2go.org
Sat Jun 21 23:21:54 CEST 2014


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch master
in repository nx-libs.

commit cfb1990d4e845201182ef254da0ae9fe0536c616
Author: Mihai Moldovan <ionic at ionic.de>
Date:   Sat Jun 21 22:29:44 2014 +0200

    Add 057_nx-X11-bigendian-ppc64-no-session-window.patch. Fix failures in session windows coming up on Big Endian systems like PPC64. (Fixes: #516).
---
 debian/changelog                                   |   12 ++++--
 ...11-bigendian-ppc64-no-session-window.full.patch |   43 ++++++++++++++++++++
 debian/patches/series                              |    1 +
 3 files changed, 52 insertions(+), 4 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 47a74ec..f6d55fb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,13 @@
 nx-libs (2:3.5.0.25-0x2go1) UNRELEASED; urgency=low
 
+  [ Mihai Moldovan ]
+  * Add 029_nxcomp_ppc64.full+lite.patch. Fix sockaddr handling on
+    Big Endian systems (like PPC64). (Fixes: #515).
+  * Add 057_nx-X11-bigendian-ppc64-no-session-window.patch. Fix
+    failures in session windows coming up on Big Endian systems
+    like PPC64. (Fixes: #516).
+
+  [ Mike Gabriel ]
   * Add 606_nx-X11_build-on-aarch64.full.patch. Build on aarch64
     architectures. (Fixes: #490).
   * Add 027_nxcomp_abstract-X11-socket.full+lite.patch. In proxy mode "server"
@@ -16,10 +24,6 @@ nx-libs (2:3.5.0.25-0x2go1) UNRELEASED; urgency=low
     test for xkb/rules/base instead of testing for deprecated file
     xkb/keymap.dir. (Fixes: #40).
 
-  [ Mihai Moldovan ]
-  * Add 029_nxcomp_ppc64.full+lite.patch. Fix sockaddr handling on
-    Big Endian systems (like PPC64). (Fixes: #515).
-
  -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Wed, 07 May 2014 09:58:10 +0200
 
 nx-libs (2:3.5.0.24-0x2go1) unstable; urgency=low
diff --git a/debian/patches/057_nx-X11-bigendian-ppc64-no-session-window.full.patch b/debian/patches/057_nx-X11-bigendian-ppc64-no-session-window.full.patch
new file mode 100644
index 0000000..eae46e1
--- /dev/null
+++ b/debian/patches/057_nx-X11-bigendian-ppc64-no-session-window.full.patch
@@ -0,0 +1,43 @@
+Description: No session window with on PPC64 builds
+Author: Mihai Moldovan <ionic at ionic.de>
+Abstract:
+ An endiannes issue was setting incorrect event masks when creating X11 windows.
+ .
+ This time, a smaller integer has been casted to a bigger one and passed to some
+ function actually setting its value.
+ .
+ This meant, that garbage from stack was attached to the smaller integer value,
+ putting unknown memory into the lower bytes of the bigger integer.
+ .
+ Fix this by creating a big, initialized temporary variable, let the function do
+ its magic on that one and pass the value back to the smaller variable -- and
+ cross your fingers the smaller variable can hold it without overrunning. (The
+ last bit is a design issue we can't really fix and has been around even before
+ this patch.)
+
+--- a/nx-X11/programs/Xserver/hw/nxagent/Window.c
++++ b/nx-X11/programs/Xserver/hw/nxagent/Window.c
+@@ -327,7 +327,10 @@
+ 
+   if (mask & CWEventMask)
+   {
+-    nxagentGetEventMask(pWin, (Mask*)&attributes.event_mask);
++    /* Assume that the mask fits in int... broken on Big Endian 64bit systems. */
++    Mask tmp_mask = attributes.event_mask;
++    nxagentGetEventMask(pWin, &tmp_mask);
++    attributes.event_mask = (int)tmp_mask;
+   }
+   #ifdef WARNING
+   else
+@@ -2891,7 +2894,10 @@
+ 
+   if (mask & CWEventMask)
+   {
+-    nxagentGetEventMask(pWin, (Mask*)&attributes.event_mask);
++    /* Assume that the mask fits in int... broken on Big Endian 64bit systems. */
++    Mask tmp_mask = attributes.event_mask;
++    nxagentGetEventMask(pWin, &tmp_mask);
++    attributes.event_mask = (int)tmp_mask;
+   }
+   #ifdef WARNING
+   else
diff --git a/debian/patches/series b/debian/patches/series
index 58a164c..5d28ae7 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -33,6 +33,7 @@
 054_nx-X11_ppc64-ftbfs.full.patch
 055_nx-X11_imake-Werror-format-security.full.patch
 056_nx-X11-Werror-format-security.full.patch
+057_nx-X11-bigendian-ppc64-no-session-window.full.patch
 101_nxagent_set-rgb-path.full.patch
 102_xserver-xext_set-securitypolicy-path.full.patch
 103_nxagent_set-X0-config-path.full.patch

--
Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/nx-libs.git


More information about the x2go-commits mailing list