]> code.ossystems Code Review - openembedded-core.git/commitdiff
libxxf86dga: fix compilation with x32 toolchain
authorNitin A Kamble <nitin.a.kamble@intel.com>
Wed, 4 Jan 2012 22:28:43 +0000 (14:28 -0800)
committerSaul Wold <sgw@linux.intel.com>
Tue, 10 Jan 2012 05:51:49 +0000 (21:51 -0800)
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.kamble@intel.com>
meta/recipes-graphics/xorg-lib/libxxf86dga/libxxf86dga-1.1.2_fix_for_x32.patch [new file with mode: 0644]
meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.2.bb

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 (file)
index 0000000..30692ad
--- /dev/null
@@ -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.
+
+Signed-Off-by: Nitin A Kamble <nitin.a.kamble@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);
index 8e777c3db368b1a08d8ef723db9734b252e74e50..9a1c96ffa78961bd1ee9529177223ff3fdd4e39f 100644 (file)
@@ -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"