git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge to kernel-2.6.20-1.2949.fc6.vs2.2.0.1
[linux-2.6.git]
/
include
/
asm-s390
/
bug.h
diff --git
a/include/asm-s390/bug.h
b/include/asm-s390/bug.h
index
a2e7430
..
8768983
100644
(file)
--- a/
include/asm-s390/bug.h
+++ b/
include/asm-s390/bug.h
@@
-4,9
+4,19
@@
#include <linux/kernel.h>
#ifdef CONFIG_BUG
#include <linux/kernel.h>
#ifdef CONFIG_BUG
+
+static inline __attribute__((noreturn)) void __do_illegal_op(void)
+{
+#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)
+ __builtin_trap();
+#else
+ asm volatile(".long 0");
+#endif
+}
+
#define BUG() do { \
#define BUG() do { \
-
printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \
-
__asm__ __volatile__(".long 0"
); \
+ printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \
+
__do_illegal_op(
); \
} while (0)
#define HAVE_ARCH_BUG
} while (0)
#define HAVE_ARCH_BUG