Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
at v2.6.21-rc2 37 lines 758 B view raw
1#ifndef _I386_BUG_H 2#define _I386_BUG_H 3 4 5/* 6 * Tell the user there is some problem. 7 * The offending file and line are encoded encoded in the __bug_table section. 8 */ 9 10#ifdef CONFIG_BUG 11#define HAVE_ARCH_BUG 12 13#ifdef CONFIG_DEBUG_BUGVERBOSE 14#define BUG() \ 15 do { \ 16 asm volatile("1:\tud2\n" \ 17 ".pushsection __bug_table,\"a\"\n" \ 18 "2:\t.long 1b, %c0\n" \ 19 "\t.word %c1, 0\n" \ 20 "\t.org 2b+%c2\n" \ 21 ".popsection" \ 22 : : "i" (__FILE__), "i" (__LINE__), \ 23 "i" (sizeof(struct bug_entry))); \ 24 for(;;) ; \ 25 } while(0) 26 27#else 28#define BUG() \ 29 do { \ 30 asm volatile("ud2"); \ 31 for(;;) ; \ 32 } while(0) 33#endif 34#endif 35 36#include <asm-generic/bug.h> 37#endif