From 65c9de58c1fa29d623589b50f501e2d1136b263d Mon Sep 17 00:00:00 2001 From: Xiaofeng Yan Date: Sat, 3 Mar 2012 19:03:37 +0800 Subject: libx11-1.4.4: Add patch makekeys_crosscompile.patch LSB 4.1 complain a host contamination error from libx11 because of absent patch "makekeys_crosscompile.patch" from libx11-trim-1.4.4. The error from LSB Test Suite is as follow: VSW5TESTSUITE PURPOSE 7 Assertion XStringToKeysym-7.(A) When the string argument is the name of a KeySym in the table with the prefix XK_ removed, then a call to XStringToKeysym returns that KeySym. METH: For each KeySym name in table with code G: METH: Call XStringToKeysym to obtain the KeySym defined for that string. METH: Verify that XStringToKeysym did not return NoSymbol. METH: Verify that the returned string is correct. CHECK: XStringToKeysym-7 1, line 130 CHECK: XStringToKeysym-7 2, line 140 CHECK: XStringToKeysym-7 3, line 150 CHECK: XStringToKeysym-7 4, line 160 CHECK: XStringToKeysym-7 5, line 170 CHECK: XStringToKeysym-7 6, line 180 CHECK: XStringToKeysym-7 7, line 190 CHECK: XStringToKeysym-7 8, line 200 CHECK: XStringToKeysym-7 9, line 210 CHECK: XStringToKeysym-7 10, line 220 CHECK: XStringToKeysym-7 11, line 230 CHECK: XStringToKeysym-7 12, line 240 CHECK: XStringToKeysym-7 13, line 250 CHECK: XStringToKeysym-7 14, line 260 CHECK: XStringToKeysym-7 15, line 270 CHECK: XStringToKeysym-7 16, line 280 CHECK: XStringToKeysym-7 17, line 290 CHECK: XStringToKeysym-7 18, line 300 CHECK: XStringToKeysym-7 19, line 310 CHECK: XStringToKeysym-7 20, line 320 [YOCTO #1970] (From OE-Core rev: c9824083d4ab5bfd37fa1efdfbc3e93288cb47b6) Signed-off-by: Xiaofeng Yan Signed-off-by: Richard Purdie --- .../libx11-1.4.4/makekeys_crosscompile.patch | 76 ++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 meta/recipes-graphics/xorg-lib/libx11-1.4.4/makekeys_crosscompile.patch (limited to 'meta/recipes-graphics') 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 @@ +Because the size of "unsigned long" is different between 32-bit +and 64-bit, judge whether target is 32-bit or 64-bit and tell +"makekey". + +The error information from LSB Test suite is as follow: +VSW5TESTSUITE PURPOSE 7 +Assertion XStringToKeysym-7.(A) +When the string argument is the name of a KeySym in the +table with the prefix XK_ removed, then a call to +XStringToKeysym returns that KeySym. +METH: For each KeySym name in table with code G: +METH: Call XStringToKeysym to obtain the KeySym defined for that string. +METH: Verify that XStringToKeysym did not return NoSymbol. +METH: Verify that the returned string is correct. +CHECK: XStringToKeysym-7 1, line 130 +CHECK: XStringToKeysym-7 2, line 140 +CHECK: XStringToKeysym-7 3, line 150 +CHECK: XStringToKeysym-7 4, line 160 +CHECK: XStringToKeysym-7 5, line 170 +CHECK: XStringToKeysym-7 6, line 180 +CHECK: XStringToKeysym-7 7, line 190 +CHECK: XStringToKeysym-7 8, line 200 +CHECK: XStringToKeysym-7 9, line 210 +CHECK: XStringToKeysym-7 10, line 220 +CHECK: XStringToKeysym-7 11, line 230 +CHECK: XStringToKeysym-7 12, line 240 +CHECK: XStringToKeysym-7 13, line 250 +CHECK: XStringToKeysym-7 14, line 260 +CHECK: XStringToKeysym-7 15, line 270 +CHECK: XStringToKeysym-7 16, line 280 +CHECK: XStringToKeysym-7 17, line 290 +CHECK: XStringToKeysym-7 18, line 300 +CHECK: XStringToKeysym-7 19, line 310 +CHECK: XStringToKeysym-7 20, line 320 + +Upstream-Status: Pending + +Signed-off-by: dbuitenh@windriver.com + +--- libX11-1.3.4.orig/src/util/makekeys.c 2010-01-15 09:11:36.000000000 +0800 ++++ libX11-1.3.4/src/util/makekeys.c 2011-05-24 19:04:25.454774908 +0800 +@@ -33,6 +33,7 @@ + #include + #include + #include ++#include + + typedef unsigned long Signature; + +@@ -124,7 +125,12 @@ + name = info[i].name; + sig = 0; + while ((c = *name++)) +- sig = (sig << 1) + c; ++#ifdef USE32 ++ sig = (uint32_t)(sig << 1) + c; ++#else ++ sig = (uint64_t)(sig << 1) + c; ++#endif ++ + first = j = sig % z; + for (k = 0; tab[j]; k++) { + j += first + 1; +@@ -163,7 +169,11 @@ + name = info[i].name; + sig = 0; + while ((c = *name++)) +- sig = (sig << 1) + c; ++#ifdef USE32 ++ sig = (uint32_t)(sig << 1) + c; ++#else ++ sig = (uint64_t)(sig << 1) + c; ++#endif + first = j = sig % z; + while (offsets[j]) { + j += first + 1; -- cgit v1.2.3-54-g00ecf