diff options
Diffstat (limited to 'include/asm-sparc')
-rw-r--r-- | include/asm-sparc/bug.h | 18 |
1 files changed, 3 insertions, 15 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 |
20 | extern void do_BUG(const char *file, int line); | 8 | extern 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 |