xref: /openbsd-src/sys/arch/i386/include/cdefs.h (revision b2ea75c1b17e1a9a339660e7ed45cd24946b230e)
1 /*	$OpenBSD: cdefs.h,v 1.6 2000/08/05 22:07:31 niklas Exp $	*/
2 /*	$NetBSD: cdefs.h,v 1.2 1995/03/23 20:10:26 jtc Exp $	*/
3 
4 /*
5  * Written by J.T. Conklin <jtc@wimsey.com> 01/17/95.
6  * Public domain.
7  */
8 
9 #ifndef	_MACHINE_CDEFS_H_
10 #define	_MACHINE_CDEFS_H_
11 
12 #ifndef	_C_LABEL
13 #ifdef __STDC__
14 #define _C_LABEL(x)	__STRING(_ ## x)
15 #else
16 #define _C_LABEL(x)	__STRING(_/**/x)
17 #endif
18 #endif /* _C_LABEL */
19 
20 #ifdef __GNUC__
21 #ifdef __STDC__
22 #define __indr_reference(sym,alias)	\
23 	__asm__(".stabs \"_" #alias "\",11,0,0,0");	\
24 	__asm__(".stabs \"_" #sym "\",1,0,0,0")
25 #define __warn_references(sym,msg)	\
26 	__asm__(".stabs \"" msg "\",30,0,0,0");		\
27 	__asm__(".stabs \"_" #sym "\",1,0,0,0")
28 #define __weak_alias(alias,sym)				\
29 	__asm__(".weak _" #alias "; _" #alias "= _" __STRING(sym))
30 #else
31 #define __indr_reference(sym,alias)	\
32 	__asm__(".stabs \"_/**/alias\",11,0,0,0");	\
33 	__asm__(".stabs \"_/**/sym\",1,0,0,0")
34 #define __warn_references(sym,msg)	\
35 	__asm__(".stabs msg,30,0,0,0");			\
36 	__asm__(".stabs \"_/**/sym\",1,0,0,0")
37 #define __weak_alias(alias,sym)				\
38 	__asm__(".weak _/**/alias; _/**/alias = _/**/sym")
39 #endif
40 #else
41 #define	__warn_references(sym,msg)	/* nothing */
42 #endif
43 
44 #endif /* !_MACHINE_CDEFS_H_ */
45