1d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek/*	$OpenBSD: cdefs.h,v 1.2 2005/11/24 20:46:44 deraadt Exp $	*/
2d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek
3d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek#ifndef	_MACHINE_CDEFS_H_
4d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek#define	_MACHINE_CDEFS_H_
5d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek
6d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek#if defined(lint)
70d7dd222381390731151455ff06358b93d04d6d1Daniel Dunbar#define __indr_reference(sym,alias)	__lint_equal__(sym,alias)
8d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek#define __warn_references(sym,msg)
9d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek#define __weak_alias(alias,sym)		__lint_equal__(sym,alias)
10ab1889321f6f8f200f2b318ac26883ac18e49d03Ted Kremenek#elif defined(__GNUC__) && defined(__STDC__)
11ab1889321f6f8f200f2b318ac26883ac18e49d03Ted Kremenek#define __weak_alias(alias,sym)					\
12d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek	__asm__(".weak " __STRING(alias) " ; " __STRING(alias)	\
13d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek	    " = " __STRING(sym));
14d2fa56687f8bd5ac6ebf9d9468d0efd714986a54Ted Kremenek#define	__warn_references(sym,msg)				\
15ab1889321f6f8f200f2b318ac26883ac18e49d03Ted Kremenek	__asm__(".section .gnu.warning." __STRING(sym)		\
16ae99b75fbbac1deaccdcc1b326b8fb6b07a1e72dDmitri Gribenko	    " ; .ascii \"" msg "\" ; .text");
1716c440a377b7ec8b722a2e2c7c864f75c95bd305Ted Kremenek#endif
180a90d32523bfe5fa63e11b648686c9699f786d15Ted Kremenek
19ed122735639d83c10f18c28c7fd117bfcd0f62cbTed Kremenek#endif /* !_MACHINE_CDEFS_H_ */
2095f33555a6d51b6537a9ed3968c3d1c2e4991b51Ted Kremenek