summaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/xorg-lib/libx11-trim-1.5.0/makekeys_crosscompile.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-graphics/xorg-lib/libx11-trim-1.5.0/makekeys_crosscompile.patch')
-rw-r--r--meta/recipes-graphics/xorg-lib/libx11-trim-1.5.0/makekeys_crosscompile.patch76
1 files changed, 76 insertions, 0 deletions
diff --git a/meta/recipes-graphics/xorg-lib/libx11-trim-1.5.0/makekeys_crosscompile.patch b/meta/recipes-graphics/xorg-lib/libx11-trim-1.5.0/makekeys_crosscompile.patch
new file mode 100644
index 0000000000..daf3696b34
--- /dev/null
+++ b/meta/recipes-graphics/xorg-lib/libx11-trim-1.5.0/makekeys_crosscompile.patch
@@ -0,0 +1,76 @@
1Because the size of "unsigned long" is different between 32-bit
2and 64-bit, judge whether target is 32-bit or 64-bit and tell
3"makekey".
4
5The error information from LSB Test suite is as follow:
6VSW5TESTSUITE PURPOSE 7
7Assertion XStringToKeysym-7.(A)
8When the string argument is the name of a KeySym in the
9table with the prefix XK_ removed, then a call to
10XStringToKeysym returns that KeySym.
11METH: For each KeySym name in table with code G:
12METH: Call XStringToKeysym to obtain the KeySym defined for that string.
13METH: Verify that XStringToKeysym did not return NoSymbol.
14METH: Verify that the returned string is correct.
15CHECK: XStringToKeysym-7 1, line 130
16CHECK: XStringToKeysym-7 2, line 140
17CHECK: XStringToKeysym-7 3, line 150
18CHECK: XStringToKeysym-7 4, line 160
19CHECK: XStringToKeysym-7 5, line 170
20CHECK: XStringToKeysym-7 6, line 180
21CHECK: XStringToKeysym-7 7, line 190
22CHECK: XStringToKeysym-7 8, line 200
23CHECK: XStringToKeysym-7 9, line 210
24CHECK: XStringToKeysym-7 10, line 220
25CHECK: XStringToKeysym-7 11, line 230
26CHECK: XStringToKeysym-7 12, line 240
27CHECK: XStringToKeysym-7 13, line 250
28CHECK: XStringToKeysym-7 14, line 260
29CHECK: XStringToKeysym-7 15, line 270
30CHECK: XStringToKeysym-7 16, line 280
31CHECK: XStringToKeysym-7 17, line 290
32CHECK: XStringToKeysym-7 18, line 300
33CHECK: XStringToKeysym-7 19, line 310
34CHECK: XStringToKeysym-7 20, line 320
35
36Upstream-Status: Pending
37
38Signed-off-by: dbuitenh@windriver.com
39
40--- libX11-1.3.4.orig/src/util/makekeys.c 2010-01-15 09:11:36.000000000 +0800
41+++ libX11-1.3.4/src/util/makekeys.c 2011-05-24 19:04:25.454774908 +0800
42@@ -33,6 +33,7 @@
43 #include <X11/keysymdef.h>
44 #include <stdio.h>
45 #include <stdlib.h>
46+#include <stdint.h>
47
48 typedef unsigned long Signature;
49
50@@ -124,7 +125,12 @@
51 name = info[i].name;
52 sig = 0;
53 while ((c = *name++))
54- sig = (sig << 1) + c;
55+#ifdef USE32
56+ sig = (uint32_t)(sig << 1) + c;
57+#else
58+ sig = (uint64_t)(sig << 1) + c;
59+#endif
60+
61 first = j = sig % z;
62 for (k = 0; tab[j]; k++) {
63 j += first + 1;
64@@ -163,7 +169,11 @@
65 name = info[i].name;
66 sig = 0;
67 while ((c = *name++))
68- sig = (sig << 1) + c;
69+#ifdef USE32
70+ sig = (uint32_t)(sig << 1) + c;
71+#else
72+ sig = (uint64_t)(sig << 1) + c;
73+#endif
74 first = j = sig % z;
75 while (offsets[j]) {
76 j += first + 1;