[OE-core] [PATCH 1/1] libx11-trim: update to 1.4.4
Richard Purdie
richard.purdie at linuxfoundation.org
Wed Nov 23 23:16:39 UTC 2011
On Wed, 2011-11-23 at 14:15 -0800, Khem Raj wrote:
> On Mon, Nov 21, 2011 at 12:32 AM, Xiaofeng Yan
> <xiaofeng.yan at windriver.com> wrote:
> > +++ b/meta/recipes-graphics/xorg-lib/libx11-trim-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 at 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;
>
> why use USE32 define ? why not use compiler builtin define __LP64__ ?
> is it something a programs that needs to know the bitness of target or
> something ?
This gets run on the build system but needs to generate data for the
target...
Cheers,
Richard
More information about the Openembedded-core
mailing list