diff options
Diffstat (limited to 'meta/recipes-graphics/xorg-lib')
-rw-r--r-- | meta/recipes-graphics/xorg-lib/libx11-1.4.4/makekeys_crosscompile.patch | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/meta/recipes-graphics/xorg-lib/libx11-1.4.4/makekeys_crosscompile.patch b/meta/recipes-graphics/xorg-lib/libx11-1.4.4/makekeys_crosscompile.patch new file mode 100644 index 0000000000..daf3696b34 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/libx11-1.4.4/makekeys_crosscompile.patch | |||
@@ -0,0 +1,76 @@ | |||
1 | Because the size of "unsigned long" is different between 32-bit | ||
2 | and 64-bit, judge whether target is 32-bit or 64-bit and tell | ||
3 | "makekey". | ||
4 | |||
5 | The error information from LSB Test suite is as follow: | ||
6 | VSW5TESTSUITE PURPOSE 7 | ||
7 | Assertion XStringToKeysym-7.(A) | ||
8 | When the string argument is the name of a KeySym in the | ||
9 | table with the prefix XK_ removed, then a call to | ||
10 | XStringToKeysym returns that KeySym. | ||
11 | METH: For each KeySym name in table with code G: | ||
12 | METH: Call XStringToKeysym to obtain the KeySym defined for that string. | ||
13 | METH: Verify that XStringToKeysym did not return NoSymbol. | ||
14 | METH: Verify that the returned string is correct. | ||
15 | CHECK: XStringToKeysym-7 1, line 130 | ||
16 | CHECK: XStringToKeysym-7 2, line 140 | ||
17 | CHECK: XStringToKeysym-7 3, line 150 | ||
18 | CHECK: XStringToKeysym-7 4, line 160 | ||
19 | CHECK: XStringToKeysym-7 5, line 170 | ||
20 | CHECK: XStringToKeysym-7 6, line 180 | ||
21 | CHECK: XStringToKeysym-7 7, line 190 | ||
22 | CHECK: XStringToKeysym-7 8, line 200 | ||
23 | CHECK: XStringToKeysym-7 9, line 210 | ||
24 | CHECK: XStringToKeysym-7 10, line 220 | ||
25 | CHECK: XStringToKeysym-7 11, line 230 | ||
26 | CHECK: XStringToKeysym-7 12, line 240 | ||
27 | CHECK: XStringToKeysym-7 13, line 250 | ||
28 | CHECK: XStringToKeysym-7 14, line 260 | ||
29 | CHECK: XStringToKeysym-7 15, line 270 | ||
30 | CHECK: XStringToKeysym-7 16, line 280 | ||
31 | CHECK: XStringToKeysym-7 17, line 290 | ||
32 | CHECK: XStringToKeysym-7 18, line 300 | ||
33 | CHECK: XStringToKeysym-7 19, line 310 | ||
34 | CHECK: XStringToKeysym-7 20, line 320 | ||
35 | |||
36 | Upstream-Status: Pending | ||
37 | |||
38 | Signed-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; | ||