summaryrefslogtreecommitdiff
path: root/debian/patches/fix-warnings0001-Avoid-re-defining-macros.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/fix-warnings0001-Avoid-re-defining-macros.patch')
-rw-r--r--debian/patches/fix-warnings0001-Avoid-re-defining-macros.patch78
1 files changed, 78 insertions, 0 deletions
diff --git a/debian/patches/fix-warnings0001-Avoid-re-defining-macros.patch b/debian/patches/fix-warnings0001-Avoid-re-defining-macros.patch
new file mode 100644
index 0000000..c19a24a
--- /dev/null
+++ b/debian/patches/fix-warnings0001-Avoid-re-defining-macros.patch
@@ -0,0 +1,78 @@
+From 2cdb55a93f5dbf032fab0102758c40b08dc9dab8 Mon Sep 17 00:00:00 2001
+From: Justus Winter <4winter@informatik.uni-hamburg.de>
+Date: Sat, 15 Aug 2015 11:53:01 +0200
+Subject: [PATCH gnumach 1/3] 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.
+---
+ kern/macros.h | 8 ++++++++
+ linux/src/include/linux/compiler-gcc.h | 2 ++
+ 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 fb8dc5e..7cc579d 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 59e4028..b1a0be0 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 320d6c9..eb3dd94 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 */
+--
+2.1.4
+