File: bug.h

package info (click to toggle)
linux-kernel-headers 2.5.999-test7-bk-17
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 28,268 kB
  • ctags: 214,024
  • sloc: ansic: 324,929; cpp: 783; makefile: 79; asm: 61; sh: 61
file content (44 lines) | stat: -rw-r--r-- 990 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#ifndef _SPARC_BUG_H
#define _SPARC_BUG_H

/* 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__ >= 1)
#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 BUG_ON(condition) do { \
	if (unlikely((condition)!=0)) \
		BUG(); \
} while(0)

#define PAGE_BUG(page) do { \
	BUG(); \
} while (0)

#define WARN_ON(condition) do { \
	if (unlikely((condition)!=0)) { \
		printk("Badness in %s at %s:%d\n", __FUNCTION__, __FILE__, __LINE__); \
		dump_stack(); \
	} \
} while (0)

#endif