#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 |