c8538a7aa5
This patch eliminates all kernel BUGs, trims about 35k off the typical kernel, and makes the system slightly faster. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
35 lines
747 B
C
35 lines
747 B
C
#ifndef _SPARC_BUG_H
|
|
#define _SPARC_BUG_H
|
|
|
|
#ifdef CONFIG_BUG
|
|
/* Only use the inline asm until a gcc release that can handle __builtin_trap
|
|
* -rob 2003-06-25
|
|
*
|
|
* gcc-3.3.1 and later will be OK -DaveM
|
|
*/
|
|
#if (__GNUC__ > 3) || \
|
|
(__GNUC__ == 3 && __GNUC_MINOR__ > 3) || \
|
|
(__GNUC__ == 3 && __GNUC_MINOR__ == 3 && __GNUC_PATCHLEVEL__ >= 4)
|
|
#define __bug_trap() __builtin_trap()
|
|
#else
|
|
#define __bug_trap() \
|
|
__asm__ __volatile__ ("t 0x5\n\t" : : )
|
|
#endif
|
|
|
|
#ifdef CONFIG_DEBUG_BUGVERBOSE
|
|
extern void do_BUG(const char *file, int line);
|
|
#define BUG() do { \
|
|
do_BUG(__FILE__, __LINE__); \
|
|
__bug_trap(); \
|
|
} while (0)
|
|
#else
|
|
#define BUG() __bug_trap()
|
|
#endif
|
|
|
|
#define HAVE_ARCH_BUG
|
|
#endif
|
|
|
|
#include <asm-generic/bug.h>
|
|
|
|
#endif
|