On Wed, Jan 4, 2012 at 5:02 PM, <nitin.a.kam...@intel.com> wrote: > From: Nitin A Kamble <nitin.a.kam...@intel.com> > > Fix type conversion for x32. For x32 the off_t is 64bit and pointers are > 32bit. > so the conversion of pointer to off_t was resulting into this error: > > | XF86DGA2.c:931:24: error: cast from pointer to integer of different > size [-Werror=pointer-to-int-cast] > | cc1: some warnings being treated as errors > | > | make[2]: *** [XF86DGA2.lo] Error 1 > > Fixed it by typecasting pointer into unsigned long 1st and then again > typecasting unsigned long to off_t. > > Signed-off-by: Nitin A Kamble <nitin.a.kam...@intel.com> > --- > .../libxxf86dga-1.1.2_fix_for_x32.patch | 30 > ++++++++++++++++++++ > .../recipes-graphics/xorg-lib/libxxf86dga_1.1.2.bb | 5 ++- > 2 files changed, 34 insertions(+), 1 deletions(-) > create mode 100644 > meta/recipes-graphics/xorg-lib/libxxf86dga/libxxf86dga-1.1.2_fix_for_x32.patch > > diff --git > a/meta/recipes-graphics/xorg-lib/libxxf86dga/libxxf86dga-1.1.2_fix_for_x32.patch > > b/meta/recipes-graphics/xorg-lib/libxxf86dga/libxxf86dga-1.1.2_fix_for_x32.patch > new file mode 100644 > index 0000000..30692ad > --- /dev/null > +++ > b/meta/recipes-graphics/xorg-lib/libxxf86dga/libxxf86dga-1.1.2_fix_for_x32.patch > @@ -0,0 +1,30 @@ > +Upstream-Status: pending > + > +Fix type conversion for x32. For x32 the off_t is 64bit and pointers are > 32bit. > +so the conversion of pointer to off_t was resulting into this error: > + > +| XF86DGA2.c:931:24: error: cast from pointer to integer of different size > [-Werror=pointer-to-int-cast] > +| cc1: some warnings being treated as errors > +| > +| make[2]: *** [XF86DGA2.lo] Error 1 > + > +Fixed it by typecasting pointer into unsigned long 1st and then again > typecasting > +unsigned long to off_t.
where is pointer here ? http://cvsweb.xfree86.org/cvsweb/xc/lib/Xxf86dga/XF86DGA2.c?rev=1.30&content-type=text/vnd.viewcvs-markup shows that base is of type mmapOffset which is #if !defined(_LP64) && defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64) typedef unsigned long long mmapOffset; #else typedef unsigned long mmapOffset; #endif and off_t is typedef'ed to long int > + > +Signed-Off-by: Nitin A Kamble <nitin.a.kam...@intel.com> > +2012/01/04 > + > + > +Index: libXxf86dga-1.1.2/src/XF86DGA2.c > +=================================================================== > +--- libXxf86dga-1.1.2.orig/src/XF86DGA2.c 2010-10-06 21:17:11.000000000 > -0700 > ++++ libXxf86dga-1.1.2/src/XF86DGA2.c 2012-01-04 14:21:36.275971172 -0800 > +@@ -928,7 +928,7 @@ DGAMapPhysical( > + if ((pMap->fd = open(name, O_RDWR)) < 0) > + return False; > + pMap->virtual = mmap(NULL, size, PROT_READ | PROT_WRITE, > +- MAP_FILE | MAP_SHARED, pMap->fd, (off_t)base); > ++ MAP_FILE | MAP_SHARED, pMap->fd, (off_t)(unsigned > long)base); > + if (pMap->virtual == (void *)-1) > + return False; > + mprotect(pMap->virtual, size, PROT_READ | PROT_WRITE); > diff --git a/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.2.bb > b/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.2.bb > index 8e777c3..9a1c96f 100644 > --- a/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.2.bb > +++ b/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.2.bb > @@ -8,7 +8,10 @@ allows relative mouse reporting, et al. It is mainly used > by games and \ > emulators for games." > > DEPENDS += "libxext xf86dgaproto" > -PR = "r1" > +PR = "r2" > + > +SRC_URI += "file://libxxf86dga-1.1.2_fix_for_x32.patch" > + > PE = "1" > > XORG_PN = "libXxf86dga" > -- > 1.7.6.4 > > > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core