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