diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2015-08-15 11:53:01 +0200 |
---|---|---|
committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2015-08-15 12:07:12 +0200 |
commit | 2cdb55a93f5dbf032fab0102758c40b08dc9dab8 (patch) | |
tree | 1c76ce291e969381e6b5df4567721798c9a60669 | |
parent | 3db15a3f80f193826e144b1944727a65c13340fe (diff) | |
download | gnumach-2cdb55a93f5dbf032fab0102758c40b08dc9dab8.tar.gz gnumach-2cdb55a93f5dbf032fab0102758c40b08dc9dab8.tar.bz2 gnumach-2cdb55a93f5dbf032fab0102758c40b08dc9dab8.zip |
Avoid re-defining macros
* kern/macros.h: Avoid re-defining macros.
* linux/src/include/linux/compiler-gcc.h: Likewise.
* linux/src/include/linux/compiler.h: Likewise.
-rw-r--r-- | kern/macros.h | 8 | ||||
-rw-r--r-- | linux/src/include/linux/compiler-gcc.h | 2 | ||||
-rw-r--r-- | linux/src/include/linux/compiler.h | 8 |
3 files changed, 16 insertions, 2 deletions
diff --git a/kern/macros.h b/kern/macros.h index fb8dc5e1..7cc579d1 100644 --- a/kern/macros.h +++ b/kern/macros.h @@ -54,15 +54,23 @@ #define alignof(x) __alignof__(x) +#ifndef likely #define likely(expr) __builtin_expect(!!(expr), 1) +#endif /* likely */ +#ifndef unlikely #define unlikely(expr) __builtin_expect(!!(expr), 0) +#endif /* unlikely */ +#ifndef barrier #define barrier() asm volatile("" : : : "memory") +#endif /* barrier */ #define __noreturn __attribute__((noreturn)) #define __aligned(x) __attribute__((aligned(x))) #define __always_inline inline __attribute__((always_inline)) +#ifndef __section #define __section(x) __attribute__((section(x))) +#endif /* __section */ #define __packed __attribute__((packed)) #define __alias(x) __attribute__((alias(x))) diff --git a/linux/src/include/linux/compiler-gcc.h b/linux/src/include/linux/compiler-gcc.h index 59e4028e..b1a0be0c 100644 --- a/linux/src/include/linux/compiler-gcc.h +++ b/linux/src/include/linux/compiler-gcc.h @@ -9,7 +9,9 @@ /* Optimization barrier */ /* The "volatile" is due to gcc bugs */ +#ifndef barrier #define barrier() __asm__ __volatile__("": : :"memory") +#endif /* barrier */ /* * This macro obfuscates arithmetic on a variable address so that gcc diff --git a/linux/src/include/linux/compiler.h b/linux/src/include/linux/compiler.h index 320d6c94..eb3dd949 100644 --- a/linux/src/include/linux/compiler.h +++ b/linux/src/include/linux/compiler.h @@ -143,8 +143,12 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect); #endif /* CONFIG_PROFILE_ALL_BRANCHES */ #else -# define likely(x) __builtin_expect(!!(x), 1) -# define unlikely(x) __builtin_expect(!!(x), 0) +# ifndef likely +# define likely(x) __builtin_expect(!!(x), 1) +# endif /* likely */ +# ifndef unlikely +# define unlikely(x) __builtin_expect(!!(x), 0) +# endif /* unlikely */ #endif /* Optimization barrier */ |