cdefs_elf.h

来自「基于组件方式开发操作系统的OSKIT源代码」· C头文件 代码 · 共 109 行

H
109
字号
/*	$NetBSD: cdefs_elf.h,v 1.8 2000/08/07 16:35:34 kleink Exp $	*//* * Copyright (c) 1995, 1996 Carnegie-Mellon University. * All rights reserved. * * Author: Chris G. Demetriou *  * Permission to use, copy, modify and distribute this software and * its documentation is hereby granted, provided that both the copyright * notice and this permission notice appear in all copies of the * software, derivative works or modified versions, and any portions * thereof, and that both notices appear in supporting documentation. *  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND  * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. *  * Carnegie Mellon requests users of this software to return to * *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU *  School of Computer Science *  Carnegie Mellon University *  Pittsburgh PA 15213-3890 * * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. */#ifndef _SYS_CDEFS_ELF_H_#define	_SYS_CDEFS_ELF_H_#if defined(__sh3__)#define	_C_LABEL(x)	__CONCAT(_,x)#else#define	_C_LABEL(x)	x#endif#if __STDC__#define	___RENAME(x)	__asm__(___STRING(_C_LABEL(x)))#else#if defined(__sh3__)#define	___RENAME(x)	____RENAME(_/**/x)#define	____RENAME(x)	__asm__(___STRING(x))#else#define	___RENAME(x)	__asm__(___STRING(x))#endif#endif#undef	__DO_NOT_DO_WEAK__		/* NO WEAK SYMS IN LIBC YET */#ifndef __DO_NOT_DO_WEAK__#define	__indr_reference(sym,alias)	/* nada, since we do weak refs */#endif /* !__DO_NOT_DO_WEAK__ */#if __STDC__#ifndef __DO_NOT_DO_WEAK__#define	__weak_alias(alias,sym)						\    __asm__(".weak " #alias " ; " #alias " = " #sym);#endif /* !__DO_NOT_DO_WEAK__ */#define	__weak_extern(sym)						\    __asm__(".weak " #sym);#define	__warn_references(sym,msg)					\    __asm__(".section .gnu.warning." #sym " ; .ascii \"" msg "\" ; .text");#else /* !__STDC__ */#ifndef __DO_NOT_DO_WEAK__#define	__weak_alias(alias,sym)						\    __asm__(".weak alias ; alias = sym");#endif /* !__DO_NOT_DO_WEAK__ */#define	__weak_extern(sym)						\    __asm__(".weak sym");#define	__warn_references(sym,msg)					\    __asm__(".section .gnu.warning.sym ; .ascii msg ; .text");#endif /* !__STDC__ */#if __STDC__#define	__SECTIONSTRING(_sec, _str)					\	__asm__(".section " #_sec " ; .asciz \"" _str "\" ; .text")#else#define	__SECTIONSTRING(_sec, _str)					\	__asm__(".section _sec ; .asciz _str ; .text")#endif#define	__IDSTRING(_n,_s)		__SECTIONSTRING(.ident,_s)#define	__RCSID(_s)			__IDSTRING(rcsid,_s)#define	__SCCSID(_s)#define __SCCSID2(_s)#if 0	/* XXX userland __COPYRIGHTs have \ns in them */#define	__COPYRIGHT(_s)			__SECTIONSTRING(.copyright,_s)#else#define	__COPYRIGHT(_s)							\	static const char copyright[] __attribute__((__unused__)) = _s#endif#define	__KERNEL_RCSID(_n, _s)		__RCSID(_s)#define	__KERNEL_SCCSID(_n, _s)#if 0	/* XXX see above */#define	__KERNEL_COPYRIGHT(_n, _s)	__COPYRIGHT(_s)#else#define	__KERNEL_COPYRIGHT(_n, _s)	__SECTIONSTRING(.copyright, _s)#endif#endif /* !_SYS_CDEFS_ELF_H_ */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?