[PATCH] Fix x86emu builds when using non-gnu compilers

Alan Coopersmith alan.coopersmith at sun.com
Mon Mar 22 18:03:53 PDT 2010

Before this fix, the u64 type would not be defined, causing
x86emu/sys.c to fail to build:
"sys.c", line 102: syntax error before or at: ldq_u
"sys.c", line 102: syntax error before or at: *

Since 64-bit types are now required by x86emu, assumes all platforms
either have a 64-bit long or a 64-bit long long (defined by C99).

Signed-off-by: Alan Coopersmith <alan.coopersmith at sun.com>
Acked-by: Adam Jackson <ajax at redhat.com>
Acked-by: Matt Turner <mattst88 at gmail.com>
 hw/xfree86/x86emu/x86emu/types.h |   16 ++++------------
 1 files changed, 4 insertions(+), 12 deletions(-)

diff --git a/hw/xfree86/x86emu/x86emu/types.h b/hw/xfree86/x86emu/x86emu/types.h
index c18e11c..3e315c5 100644
--- a/hw/xfree86/x86emu/x86emu/types.h
+++ b/hw/xfree86/x86emu/x86emu/types.h
@@ -61,12 +61,6 @@
 /*---------------------- Macros and type definitions ----------------------*/
-/* Currently only for Linux/32bit */
-#undef  __HAS_LONG_LONG__
-#if defined(__GNUC__) && !defined(NO_LONG_LONG)
-#define __HAS_LONG_LONG__
 /* Taken from Xmd.h */
 #undef NUM32
 #if defined (_LP64) || \
@@ -77,23 +71,21 @@
     defined(__hppa__) && defined(__LP64) || \
     defined(__amd64__) || defined(amd64) 
 #define NUM32 int
+#define NUM64 long
 #define NUM32 long
+#define NUM64 long long
 typedef unsigned char 		u8;
 typedef unsigned short 		u16;
 typedef unsigned NUM32 		u32;
-#ifdef __HAS_LONG_LONG__
-typedef unsigned long long 	u64;
+typedef unsigned NUM64 		u64;
 typedef char 				s8;
 typedef short 				s16;
 typedef NUM32 				s32;
-#ifdef __HAS_LONG_LONG__
-typedef long long 			s64;
+typedef NUM64 				s64;
 typedef unsigned int			uint;
 typedef int 				sint;

More information about the xorg-devel mailing list