# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID dc3c59367403959b0ae135966c1acfe9678a8f0d
# Parent d7c99adf8a35212bfe1322b2d237907399ee788a
Clean up compiler.h to define a few more things and update
for gcc4.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
diff -r d7c99adf8a35 -r dc3c59367403 xen/arch/x86/shutdown.c
--- a/xen/arch/x86/shutdown.c Mon May 01 17:41:02 2006 +0100
+++ b/xen/arch/x86/shutdown.c Mon May 01 17:44:51 2006 +0100
@@ -41,7 +41,7 @@ static inline void kb_wait(void)
break;
}
-static void __machine_halt(void *unused) __attribute__((noreturn))
+static void __attribute__((noreturn)) __machine_halt(void *unused)
{
for ( ; ; )
__asm__ __volatile__ ( "hlt" );
diff -r d7c99adf8a35 -r dc3c59367403 xen/include/asm-ia64/config.h
--- a/xen/include/asm-ia64/config.h Mon May 01 17:41:02 2006 +0100
+++ b/xen/include/asm-ia64/config.h Mon May 01 17:44:51 2006 +0100
@@ -79,8 +79,6 @@ extern char _end[]; /* standard ELF symb
extern char _end[]; /* standard ELF symbol */
// linux/include/linux/compiler.h
-#define __attribute_const__
-#define __user
//#define __kernel
//#define __safe
#define __force
@@ -98,7 +96,6 @@ extern char _end[]; /* standard ELF symb
// xen/include/asm/config.h
//#define HZ 1000
// FIXME SMP: leave SMP for a later time
-#define barrier() __asm__ __volatile__("": : :"memory")
///////////////////////////////////////////////////////////////
// xen/include/asm/config.h
diff -r d7c99adf8a35 -r dc3c59367403 xen/include/asm-x86/config.h
--- a/xen/include/asm-x86/config.h Mon May 01 17:41:02 2006 +0100
+++ b/xen/include/asm-x86/config.h Mon May 01 17:44:51 2006 +0100
@@ -62,8 +62,6 @@
ALIGN; \
name:
#endif
-
-#define barrier() __asm__ __volatile__("": : :"memory")
/* A power-of-two value greater than or equal to number of hypercalls. */
#define NR_hypercalls 64
diff -r d7c99adf8a35 -r dc3c59367403 xen/include/asm-x86/uaccess.h
--- a/xen/include/asm-x86/uaccess.h Mon May 01 17:41:02 2006 +0100
+++ b/xen/include/asm-x86/uaccess.h Mon May 01 17:44:51 2006 +0100
@@ -7,8 +7,6 @@
#include <xen/errno.h>
#include <xen/prefetch.h>
#include <asm/page.h>
-
-#define __user
#ifdef __x86_64__
#include <asm/x86_64/uaccess.h>
diff -r d7c99adf8a35 -r dc3c59367403 xen/include/xen/compiler.h
--- a/xen/include/xen/compiler.h Mon May 01 17:41:02 2006 +0100
+++ b/xen/include/xen/compiler.h Mon May 01 17:44:51 2006 +0100
@@ -1,17 +1,21 @@
#ifndef __LINUX_COMPILER_H
#define __LINUX_COMPILER_H
-/* Somewhere in the middle of the GCC 2.96 development cycle, we implemented
- a mechanism by which the user can annotate likely branch directions and
- expect the blocks to be reordered appropriately. Define __builtin_expect
- to nothing for earlier compilers. */
-
-#if __GNUC__ == 2 && __GNUC_MINOR__ < 96
-#define __builtin_expect(x, expected_value) (x)
+#if !defined(__GNUC__) || (__GNUC__ < 3)
+#error Sorry, your compiler is too old/not recognized.
#endif
-#define likely(x) __builtin_expect((x),1)
-#define unlikely(x) __builtin_expect((x),0)
+#define barrier() __asm__ __volatile__("": : :"memory")
+
+#define likely(x) __builtin_expect((x),1)
+#define unlikely(x) __builtin_expect((x),0)
+
+#define inline __inline__
+#define always_inline __inline__ __attribute__ ((always_inline))
+#define noinline __attribute__((noinline))
+
+#define __attribute_pure__ __attribute__((pure))
+#define __attribute_const__ __attribute__((__const__))
#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)
#define __attribute_used__ __attribute__((__used__))
@@ -23,6 +27,12 @@
#define __must_check __attribute__((warn_unused_result))
#else
#define __must_check
+#endif
+
+#if __GNUC__ > 3
+#define offsetof(a,b) __builtin_offsetof(a,b)
+#else
+#define offsetof(a,b) ((unsigned long)&(((a *)0)->b))
#endif
/* This macro obfuscates arithmetic on a variable address so that gcc
diff -r d7c99adf8a35 -r dc3c59367403 xen/include/xen/config.h
--- a/xen/include/xen/config.h Mon May 01 17:41:02 2006 +0100
+++ b/xen/include/xen/config.h Mon May 01 17:44:51 2006 +0100
@@ -10,10 +10,7 @@
#include <asm/config.h>
#define EXPORT_SYMBOL(var)
-#define offsetof(_p,_f) ((unsigned long)&(((_p *)0)->_f))
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
-
-#define always_inline __inline__ __attribute__ ((always_inline))
/* Linux syslog levels. */
#define KERN_NOTICE ""
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|