aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-sparc/bug.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-sparc/bug.h')
-rw-r--r--include/asm-sparc/bug.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/include/asm-sparc/bug.h b/include/asm-sparc/bug.h
new file mode 100644
index 000000000000..0d30a67d87a3
--- /dev/null
+++ b/include/asm-sparc/bug.h
@@ -0,0 +1,31 @@
1#ifndef _SPARC_BUG_H
2#define _SPARC_BUG_H
3
4/* Only use the inline asm until a gcc release that can handle __builtin_trap
5 * -rob 2003-06-25
6 *
7 * gcc-3.3.1 and later will be OK -DaveM
8 */
9#if (__GNUC__ > 3) || \
10 (__GNUC__ == 3 && __GNUC_MINOR__ > 3) || \
11 (__GNUC__ == 3 && __GNUC_MINOR__ == 3 && __GNUC_PATCHLEVEL__ >= 4)
12#define __bug_trap() __builtin_trap()
13#else
14#define __bug_trap() \
15 __asm__ __volatile__ ("t 0x5\n\t" : : )
16#endif
17
18#ifdef CONFIG_DEBUG_BUGVERBOSE
19extern void do_BUG(const char *file, int line);
20#define BUG() do { \
21 do_BUG(__FILE__, __LINE__); \
22 __bug_trap(); \
23} while (0)
24#else
25#define BUG() __bug_trap()
26#endif
27
28#define HAVE_ARCH_BUG
29#include <asm-generic/bug.h>
30
31#endif