On Wed, 2011-11-23 at 14:15 -0800, Khem Raj wrote: > On Mon, Nov 21, 2011 at 12:32 AM, Xiaofeng Yan > <[email protected]> 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: [email protected] > > + > > +--- 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 _______________________________________________ Openembedded-core mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
