1#ifndef _SPARC_BUG_H 2#define _SPARC_BUG_H 3 4#ifdef CONFIG_BUG 5/* Only use the inline asm until a gcc release that can handle __builtin_trap 6 * -rob 2003-06-25 7 * 8 * gcc-3.3.1 and later will be OK -DaveM 9 */ 10#if (__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ > 3) || (__GNUC__ == 3 && \ 11 __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#endif 30 31#include <asm-generic/bug.h> 32 33#endif 34