at v2.6.17 747 B view raw
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) || \ 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 19#ifdef CONFIG_DEBUG_BUGVERBOSE 20extern void do_BUG(const char *file, int line); 21#define BUG() do { \ 22 do_BUG(__FILE__, __LINE__); \ 23 __bug_trap(); \ 24} while (0) 25#else 26#define BUG() __bug_trap() 27#endif 28 29#define HAVE_ARCH_BUG 30#endif 31 32#include <asm-generic/bug.h> 33 34#endif