Patchwork [1/2] libx11-1.4.4: Add patch makekeys_crosscompile.patch

login
register
mail settings
Submitter Xiaofeng Yan
Date Feb. 9, 2012, 8:05 a.m.
Message ID <92a87a54f47245d723727bd190c35323e66ad3ea.1328774359.git.xiaofeng.yan@windriver.com>
Download mbox | patch
Permalink /patch/21039/
State New
Headers show

Comments

Xiaofeng Yan - Feb. 9, 2012, 8:05 a.m.
From: Xiaofeng Yan <xiaofeng.yan@windriver.com>

LSB 4.1 complain a host contamination error from libx11 because of absent
patch "makekeys_crosscompile.patch" from libx11-trim-1.4.4.

[YOCTO #1970]

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
---
 .../libx11-1.4.4/makekeys_crosscompile.patch       |   45 ++++++++++++++++++++
 1 files changed, 45 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-graphics/xorg-lib/libx11-1.4.4/makekeys_crosscompile.patch
Paul Menzel - Feb. 9, 2012, 9:06 a.m.
Dear Xiaofeng,


Am Donnerstag, den 09.02.2012, 16:05 +0800 schrieb Xiaofeng Yan:
> From: Xiaofeng Yan <xiaofeng.yan@windriver.com>
> 
> LSB 4.1 complain a host contamination error from libx11 because of absent
> patch "makekeys_crosscompile.patch" from libx11-trim-1.4.4.
> 
> [YOCTO #1970]

could you squash both patches please?

Also please add the output from the cover letter to the commit message.

> Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
> ---
>  .../libx11-1.4.4/makekeys_crosscompile.patch       |   45 ++++++++++++++++++++
>  1 files changed, 45 insertions(+), 0 deletions(-)
>  create mode 100644 meta/recipes-graphics/xorg-lib/libx11-1.4.4/makekeys_crosscompile.patch
> 
> 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 0000000..e5eacf0
> --- /dev/null
> +++ b/meta/recipes-graphics/xorg-lib/libx11-1.4.4/makekeys_crosscompile.patch
> @@ -0,0 +1,45 @@
> +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". 

Trailing space at the end.

Could you also add the error message to the patch file in a *separate*
patch please. Preferably before copying it.

> +
> +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

[…]


Thanks,

Paul
Xiaofeng Yan - March 1, 2012, 6:14 a.m.
On 2012?02?09? 17:06, Paul Menzel wrote:
> Dear Xiaofeng,
>
>
> Am Donnerstag, den 09.02.2012, 16:05 +0800 schrieb Xiaofeng Yan:
>> From: Xiaofeng Yan<xiaofeng.yan@windriver.com>
>>
>> LSB 4.1 complain a host contamination error from libx11 because of absent
>> patch "makekeys_crosscompile.patch" from libx11-trim-1.4.4.
>>
>> [YOCTO #1970]
> could you squash both patches please?
>
> Also please add the output from the cover letter to the commit message.
>
>> Signed-off-by: Xiaofeng Yan<xiaofeng.yan@windriver.com>
>> ---
>>   .../libx11-1.4.4/makekeys_crosscompile.patch       |   45 ++++++++++++++++++++
>>   1 files changed, 45 insertions(+), 0 deletions(-)
>>   create mode 100644 meta/recipes-graphics/xorg-lib/libx11-1.4.4/makekeys_crosscompile.patch
>>
>> 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 0000000..e5eacf0
>> --- /dev/null
>> +++ b/meta/recipes-graphics/xorg-lib/libx11-1.4.4/makekeys_crosscompile.patch
>> @@ -0,0 +1,45 @@
>> +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".
> Trailing space at the end.
>
> Could you also add the error message to the patch file in a *separate*
> patch please. Preferably before copying it.
>
Do you mean I use an separated file to record error message?
So there are two file here. one is for  makekeys_crosscompile.patch, 
another is for a file to record error message. right?
>> +
>> +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
> […]
>
>
> Thanks,
>
> Paul
Paul Menzel - March 1, 2012, 10:38 a.m.
Am Donnerstag, den 01.03.2012, 14:14 +0800 schrieb Xiaofeng Yan:
> On 2012?02?09? 17:06, Paul Menzel wrote:

> > Am Donnerstag, den 09.02.2012, 16:05 +0800 schrieb Xiaofeng Yan:
> >> From: Xiaofeng Yan<xiaofeng.yan@windriver.com>
> >>
> >> LSB 4.1 complain a host contamination error from libx11 because of absent
> >> patch "makekeys_crosscompile.patch" from libx11-trim-1.4.4.
> >>
> >> [YOCTO #1970]
> > could you squash both patches please?
> >
> > Also please add the output from the cover letter to the commit message.
> >
> >> Signed-off-by: Xiaofeng Yan<xiaofeng.yan@windriver.com>

I just noticed. Your Thunderbird setup seems to be broken. For some
reason it deletes spaces.

> >> ---
> >>   .../libx11-1.4.4/makekeys_crosscompile.patch       |   45 ++++++++++++++++++++
> >>   1 files changed, 45 insertions(+), 0 deletions(-)
> >>   create mode 100644 meta/recipes-graphics/xorg-lib/libx11-1.4.4/makekeys_crosscompile.patch
> >>
> >> 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

Here Thunderbird removed a line break.

> >> new file mode 100644
> >> index 0000000..e5eacf0
> >> --- /dev/null
> >> +++ b/meta/recipes-graphics/xorg-lib/libx11-1.4.4/makekeys_crosscompile.patch
> >> @@ -0,0 +1,45 @@
> >> +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".
> > Trailing space at the end.
> >
> > Could you also add the error message to the patch file in a *separate*
> > patch please. Preferably before copying it.
>
> Do you mean I use an separated file to record error message?
> So there are two file here. one is for  makekeys_crosscompile.patch, 
> another is for a file to record error message. right?

Sorry, I did not understand your reply either. :/

1. Copy the error message you got when building without the patch.
2. Go to

    meta/recipes-graphics/xorg-lib/libx11-trim-1.4.4/makekeys_crosscompile.patch

and add that error message to the commit message of the patch above.
Make that the first patch.
3. Now copy this file to libx11-1.4.4 and submit as a second patch.

> >> +
> >> +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
> > […]


Thanks,

Paul

Patch

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 0000000..e5eacf0
--- /dev/null
+++ b/meta/recipes-graphics/xorg-lib/libx11-1.4.4/makekeys_crosscompile.patch
@@ -0,0 +1,45 @@ 
+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". 
+
+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 <X11/keysymdef.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <stdint.h>
+ 
+ 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;