summaryrefslogtreecommitdiff
path: root/debian/patches/0002-kern-improve-assert.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/0002-kern-improve-assert.patch')
-rw-r--r--debian/patches/0002-kern-improve-assert.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/debian/patches/0002-kern-improve-assert.patch b/debian/patches/0002-kern-improve-assert.patch
new file mode 100644
index 0000000..4662e59
--- /dev/null
+++ b/debian/patches/0002-kern-improve-assert.patch
@@ -0,0 +1,35 @@
+From c2d5ad6f96746593257eb6aba02aae5de3d93664 Mon Sep 17 00:00:00 2001
+From: Justus Winter <4winter@informatik.uni-hamburg.de>
+Date: Fri, 19 Dec 2014 01:49:09 +0100
+Subject: [PATCH gnumach 2/4] kern: improve assert
+
+Use the ternary operator to implement `assert' like it is done in the
+glibc. The glibcs changelog does not mention the rationale behind
+this change, but doing the same seems to improve our IPC performance.
+
+* kern/assert.h (assert): Define macro using the ternary operator.
+---
+ kern/assert.h | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/kern/assert.h b/kern/assert.h
+index b074fbb..bd2a8be 100644
+--- a/kern/assert.h
++++ b/kern/assert.h
+@@ -39,10 +39,9 @@
+ extern void Assert(const char *exp, const char *filename, int line) __attribute__ ((noreturn));
+
+ #define assert(ex) \
+-MACRO_BEGIN \
+- if (!(ex)) \
+- Assert(#ex, __FILE__, __LINE__); \
+-MACRO_END
++ ((ex) \
++ ? (void) (0) \
++ : Assert (#ex, __FILE__, __LINE__))
+
+ #define assert_static(x) assert(x)
+
+--
+2.1.4
+