Home | History | Annotate | Line # | Download | only in include
cdefs.h revision 1.7
      1 /*	$NetBSD: cdefs.h,v 1.7 1998/07/01 17:14:51 tv Exp $	*/
      2 
      3 /*
      4  * Written by J.T. Conklin <jtc (at) wimsey.com> 01/17/95.
      5  * Public domain.
      6  */
      7 
      8 #ifndef	_MACHINE_CDEFS_H_
      9 #define	_MACHINE_CDEFS_H_
     10 
     11 #ifdef __ELF__
     12 #define	_C_LABEL(x)	x
     13 #else
     14 #define	_C_LABEL(x)	__CONCAT(_,x)
     15 #endif
     16 
     17 #ifdef __GNUC__
     18 #define	__RENAME(x)	__asm__(___STRING(_C_LABEL(x)))
     19 #endif
     20 
     21 #ifdef __GNUC__
     22 #ifdef __STDC__
     23 #define __indr_reference(sym,alias)	\
     24 	__asm__(".stabs \"_" #alias "\",11,0,0,0");	\
     25 	__asm__(".stabs \"_" #sym "\",1,0,0,0");
     26 #define __warn_references(sym,msg)	\
     27 	__asm__(".stabs \"" msg "\",30,0,0,0");		\
     28 	__asm__(".stabs \"_" #sym "\",1,0,0,0");
     29 #else
     30 #define __indr_reference(sym,alias)	\
     31 	__asm__(".stabs \"_/**/alias\",11,0,0,0");	\
     32 	__asm__(".stabs \"_/**/sym\",1,0,0,0");
     33 #define __warn_references(sym,msg)	\
     34 	__asm__(".stabs msg,30,0,0,0");			\
     35 	__asm__(".stabs \"_/**/sym\",1,0,0,0");
     36 #endif
     37 #else
     38 #define __indr_reference(sym,alias)
     39 #define __warn_references(sym,msg)
     40 #endif
     41 
     42 #ifdef __ELF__
     43 /* XXX: we should be able to do weak as __indr_reference, and __weak_alias. */
     44 #undef __indr_reference
     45 #undef __warn_references
     46 #define __warn_references(sym,msg)
     47 #endif
     48 
     49 #endif /* !_MACHINE_CDEFS_H_ */
     50