| #ifndef _ASM_X86_BUG_H | 
 | #define _ASM_X86_BUG_H | 
 |  | 
 | #define HAVE_ARCH_BUG | 
 |  | 
 | #ifdef CONFIG_DEBUG_BUGVERBOSE | 
 |  | 
 | #ifdef CONFIG_X86_32 | 
 | # define __BUG_C0	"2:\t.long 1b, %c0\n" | 
 | #else | 
 | # define __BUG_C0	"2:\t.long 1b - 2b, %c0 - 2b\n" | 
 | #endif | 
 |  | 
 | #define BUG()							\ | 
 | do {								\ | 
 | 	asm volatile("1:\tud2\n"				\ | 
 | 		     ".pushsection __bug_table,\"a\"\n"		\ | 
 | 		     __BUG_C0					\ | 
 | 		     "\t.word %c1, 0\n"				\ | 
 | 		     "\t.org 2b+%c2\n"				\ | 
 | 		     ".popsection"				\ | 
 | 		     : : "i" (__FILE__), "i" (__LINE__),	\ | 
 | 		     "i" (sizeof(struct bug_entry)));		\ | 
 | 	unreachable();						\ | 
 | } while (0) | 
 |  | 
 | #else | 
 | #define BUG()							\ | 
 | do {								\ | 
 | 	asm volatile("ud2");					\ | 
 | 	unreachable();						\ | 
 | } while (0) | 
 | #endif | 
 |  | 
 | #include <asm-generic/bug.h> | 
 |  | 
 | #endif /* _ASM_X86_BUG_H */ |