summaryrefslogtreecommitdiff
path: root/debian/patches/fix-warnings0001-Avoid-re-defining-macros.patch
blob: c19a24abf8ac034562a8775ff1a40e1530b1ce84 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
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