jcs's openbsd hax
openbsd

Add __strong_alias macros for all architectures to be able to alias another symbol without weak attribute. To be used in libc and libm soon. Agreed by kettenis@, guenther@, matthew@.

martynas 06eb0ea5 e65efa0e

+86 -148
+4 -7
sys/arch/alpha/include/cdefs.h
··· 1 - /* $OpenBSD: cdefs.h,v 1.10 2006/01/10 00:04:03 millert Exp $ */ 1 + /* $OpenBSD: cdefs.h,v 1.11 2013/03/28 17:30:45 martynas Exp $ */ 2 2 3 3 /* 4 4 * Copyright (c) 1995, 1996 Carnegie-Mellon University. ··· 30 30 #ifndef _MACHINE_CDEFS_H_ 31 31 #define _MACHINE_CDEFS_H_ 32 32 33 - #if defined(lint) 34 - #define __indr_reference(sym,alias) __lint_equal__(sym,alias) 35 - #define __warn_references(sym,msg) 36 - #define __weak_alias(alias,sym) __lint_equal__(sym,alias) 37 - #elif defined(__STDC__) 33 + #define __strong_alias(alias,sym) \ 34 + __asm__(".global " __STRING(alias) " ; " \ 35 + __STRING(alias) " = " __STRING(sym)) 38 36 #define __weak_alias(alias,sym) \ 39 37 __asm__(".weak " __STRING(alias) " ; " \ 40 38 __STRING(alias) " = " __STRING(sym)) 41 39 #define __warn_references(sym,msg) \ 42 40 __asm__(".section .gnu.warning." __STRING(sym) \ 43 41 " ; .ascii \"" msg "\" ; .text") 44 - #endif 45 42 46 43 #endif /* !_MACHINE_CDEFS_H_ */
+8 -11
sys/arch/amd64/include/cdefs.h
··· 1 - /* $OpenBSD: cdefs.h,v 1.2 2005/11/24 20:46:44 deraadt Exp $ */ 1 + /* $OpenBSD: cdefs.h,v 1.3 2013/03/28 17:30:45 martynas Exp $ */ 2 2 3 3 /* 4 4 * Written by J.T. Conklin <jtc@wimsey.com> 01/17/95. ··· 8 8 #ifndef _MACHINE_CDEFS_H_ 9 9 #define _MACHINE_CDEFS_H_ 10 10 11 - #if defined(lint) 12 - #define __indr_reference(sym,alias) __lint_equal__(sym,alias) 13 - #define __warn_references(sym,msg) 14 - #define __weak_alias(alias,sym) __lint_equal__(sym,alias) 15 - #elif defined(__GNUC__) && defined(__STDC__) 16 - #define __weak_alias(alias,sym) \ 17 - __asm__(".weak " __STRING(alias) " ; " __STRING(alias) \ 11 + #define __strong_alias(alias,sym) \ 12 + __asm__(".global " __STRING(alias) " ; " __STRING(alias) \ 13 + " = " __STRING(sym)) 14 + #define __weak_alias(alias,sym) \ 15 + __asm__(".weak " __STRING(alias) " ; " __STRING(alias) \ 18 16 " = " __STRING(sym)) 19 - #define __warn_references(sym,msg) \ 20 - __asm__(".section .gnu.warning." __STRING(sym) \ 17 + #define __warn_references(sym,msg) \ 18 + __asm__(".section .gnu.warning." __STRING(sym) \ 21 19 " ; .ascii \"" msg "\" ; .text") 22 - #endif 23 20 24 21 #endif /* !_MACHINE_CDEFS_H_ */
+8 -11
sys/arch/arm/include/cdefs.h
··· 1 - /* $OpenBSD: cdefs.h,v 1.3 2011/03/23 16:54:34 pirofti Exp $ */ 1 + /* $OpenBSD: cdefs.h,v 1.4 2013/03/28 17:30:45 martynas Exp $ */ 2 2 3 3 #ifndef _ARM_CDEFS_H_ 4 4 #define _ARM_CDEFS_H_ 5 5 6 - #if defined(lint) 7 - #define __indr_reference(sym,alias) __lint_equal__(sym,alias) 8 - #define __warn_references(sym,msg) 9 - #define __weak_alias(alias,sym) __lint_equal__(sym,alias) 10 - #elif defined(__GNUC__) && defined(__STDC__) 11 - #define __weak_alias(alias,sym) \ 12 - __asm__(".weak " __STRING(alias) " ; " __STRING(alias) \ 6 + #define __strong_alias(alias,sym) \ 7 + __asm__(".global " __STRING(alias) " ; " __STRING(alias) \ 8 + " = " __STRING(sym)) 9 + #define __weak_alias(alias,sym) \ 10 + __asm__(".weak " __STRING(alias) " ; " __STRING(alias) \ 13 11 " = " __STRING(sym)) 14 - #define __warn_references(sym,msg) \ 15 - __asm__(".section .gnu.warning." __STRING(sym) \ 12 + #define __warn_references(sym,msg) \ 13 + __asm__(".section .gnu.warning." __STRING(sym) \ 16 14 " ; .ascii \"" msg "\" ; .text") 17 - #endif 18 15 19 16 #endif /* !_ARM_CDEFS_H_ */
+8 -11
sys/arch/hppa/include/cdefs.h
··· 1 - /* $OpenBSD: cdefs.h,v 1.9 2011/11/10 23:15:11 deraadt Exp $ */ 1 + /* $OpenBSD: cdefs.h,v 1.10 2013/03/28 17:30:45 martynas Exp $ */ 2 2 3 3 /* 4 4 * Copyright (c) 1995, 1996 Carnegie-Mellon University. ··· 30 30 #ifndef _MACHINE_CDEFS_H_ 31 31 #define _MACHINE_CDEFS_H_ 32 32 33 - #if defined(lint) 34 - #define __indr_reference(sym,alias) __lint_equal__(sym,alias) 35 - #define __warn_references(sym,msg) 36 - #define __weak_alias(alias,sym) __lint_equal__(sym,alias) 37 - #elif defined(__GNUC__) && defined(__STDC__) 38 - #define __weak_alias(alias,sym) \ 39 - __asm__(".export " __STRING(alias) ", entry\n\t.weak " \ 33 + #define __strong_alias(alias,sym) \ 34 + __asm__(".export " __STRING(alias) ", entry\n\t.global " \ 35 + __STRING(alias) "\n\t" __STRING(alias) " = " __STRING(sym)) 36 + #define __weak_alias(alias,sym) \ 37 + __asm__(".export " __STRING(alias) ", entry\n\t.weak " \ 40 38 __STRING(alias) "\n\t" __STRING(alias) " = " __STRING(sym)) 41 - #define __warn_references(sym,msg) \ 42 - __asm__(".section .gnu.warning." __STRING(sym) \ 39 + #define __warn_references(sym,msg) \ 40 + __asm__(".section .gnu.warning." __STRING(sym) \ 43 41 "\n\t.ascii \"" msg "\"\n\t.text") 44 - #endif 45 42 46 43 #endif /* !_MACHINE_CDEFS_H_ */
+8 -11
sys/arch/hppa64/include/cdefs.h
··· 1 - /* $OpenBSD: cdefs.h,v 1.2 2005/11/24 20:46:45 deraadt Exp $ */ 1 + /* $OpenBSD: cdefs.h,v 1.3 2013/03/28 17:30:45 martynas Exp $ */ 2 2 3 3 /* 4 4 * Copyright (c) 1995, 1996 Carnegie-Mellon University. ··· 30 30 #ifndef _MACHINE_CDEFS_H_ 31 31 #define _MACHINE_CDEFS_H_ 32 32 33 - #if defined(lint) 34 - #define __indr_reference(sym,alias) __lint_equal__(sym,alias) 35 - #define __warn_references(sym,msg) 36 - #define __weak_alias(alias,sym) __lint_equal__(sym,alias) 37 - #elif defined(__GNUC__) && defined(__STDC__) 38 - #define __weak_alias(alias,sym) \ 39 - __asm__(".export " __STRING(alias) ", entry\n\t.weak " \ 33 + #define __strong_alias(alias,sym) \ 34 + __asm__(".export " __STRING(alias) ", entry\n\t.global " \ 35 + __STRING(alias) "\n\t" __STRING(alias) " = " __STRING(sym)) 36 + #define __weak_alias(alias,sym) \ 37 + __asm__(".export " __STRING(alias) ", entry\n\t.weak " \ 40 38 __STRING(alias) "\n\t" __STRING(alias) " = " __STRING(sym)) 41 - #define __warn_references(sym,msg) \ 42 - __asm__(".section .gnu.warning." __STRING(sym) \ 39 + #define __warn_references(sym,msg) \ 40 + __asm__(".section .gnu.warning." __STRING(sym) \ 43 41 "\n\t.ascii \"" msg "\"\n\t.text") 44 - #endif 45 42 46 43 #endif /* !_MACHINE_CDEFS_H_ */
+4 -7
sys/arch/i386/include/cdefs.h
··· 1 - /* $OpenBSD: cdefs.h,v 1.9 2005/11/24 20:46:45 deraadt Exp $ */ 1 + /* $OpenBSD: cdefs.h,v 1.10 2013/03/28 17:30:45 martynas Exp $ */ 2 2 3 3 /* 4 4 * Written by J.T. Conklin <jtc@wimsey.com> 01/17/95. ··· 8 8 #ifndef _MACHINE_CDEFS_H_ 9 9 #define _MACHINE_CDEFS_H_ 10 10 11 - #if defined(lint) 12 - #define __indr_reference(sym,alias) __lint_equal__(sym,alias) 13 - #define __warn_references(sym,msg) 14 - #define __weak_alias(alias,sym) __lint_equal__(sym,alias) 15 - #elif defined(__GNUC__) && defined(__STDC__) 11 + #define __strong_alias(alias,sym) \ 12 + __asm__(".global " __STRING(alias) " ; " \ 13 + __STRING(alias) " = " __STRING(sym)) 16 14 #define __weak_alias(alias,sym) \ 17 15 __asm__(".weak " __STRING(alias) " ; " \ 18 16 __STRING(alias) " = " __STRING(sym)) 19 17 #define __warn_references(sym,msg) \ 20 18 __asm__(".section .gnu.warning." __STRING(sym) \ 21 19 " ; .ascii \"" msg "\" ; .text") 22 - #endif 23 20 24 21 #endif /* !_MACHINE_CDEFS_H_ */
+8 -11
sys/arch/ia64/include/cdefs.h
··· 1 - /* $OpenBSD: cdefs.h,v 1.1 2011/07/04 23:29:08 pirofti Exp $ */ 1 + /* $OpenBSD: cdefs.h,v 1.2 2013/03/28 17:30:45 martynas Exp $ */ 2 2 3 3 /* 4 4 * Written by J.T. Conklin <jtc@wimsey.com> 01/17/95. ··· 8 8 #ifndef _MACHINE_CDEFS_H_ 9 9 #define _MACHINE_CDEFS_H_ 10 10 11 - #if defined(lint) 12 - #define __indr_reference(sym,alias) __lint_equal__(sym,alias) 13 - #define __warn_references(sym,msg) 14 - #define __weak_alias(alias,sym) __lint_equal__(sym,alias) 15 - #elif defined(__GNUC__) && defined(__STDC__) 16 - #define __weak_alias(alias,sym) \ 17 - __asm__(".weak " __STRING(alias) " ; " __STRING(alias) \ 11 + #define __strong_alias(alias,sym) \ 12 + __asm__(".global " __STRING(alias) " ; " __STRING(alias) \ 13 + " = " __STRING(sym)) 14 + #define __weak_alias(alias,sym) \ 15 + __asm__(".weak " __STRING(alias) " ; " __STRING(alias) \ 18 16 " = " __STRING(sym)) 19 - #define __warn_references(sym,msg) \ 20 - __asm__(".section .gnu.warning." __STRING(sym) \ 17 + #define __warn_references(sym,msg) \ 18 + __asm__(".section .gnu.warning." __STRING(sym) \ 21 19 " ; .ascii \"" msg "\" ; .text") 22 - #endif 23 20 24 21 #endif /* !_MACHINE_CDEFS_H_ */
+1 -6
sys/arch/loongson/include/cdefs.h
··· 1 - /* $OpenBSD: cdefs.h,v 1.1.1.1 2009/07/31 09:28:41 miod Exp $ */ 1 + /* $OpenBSD: cdefs.h,v 1.2 2013/03/28 17:30:45 martynas Exp $ */ 2 2 /* public domain */ 3 3 #include <mips64/cdefs.h> 4 - 5 - #if defined(lint) && !defined(__MIPSEL__) 6 - #define __MIPSEL__ 7 - #undef __MIPSEB__ 8 - #endif
+4 -7
sys/arch/m68k/include/cdefs.h
··· 1 - /* $OpenBSD: cdefs.h,v 1.10 2013/02/02 13:32:06 miod Exp $ */ 1 + /* $OpenBSD: cdefs.h,v 1.11 2013/03/28 17:30:45 martynas Exp $ */ 2 2 3 3 /* 4 4 * Written by J.T. Conklin <jtc@wimsey.com> 01/17/95. ··· 8 8 #ifndef _M68K_CDEFS_H_ 9 9 #define _M68K_CDEFS_H_ 10 10 11 - #if defined(lint) 12 - #define __indr_reference(sym,alias) __lint_equal__(sym,alias) 13 - #define __warn_references(sym,msg) 14 - #define __weak_alias(alias,sym) __lint_equal__(sym,alias) 15 - #elif defined(__GNUC__) && defined(__STDC__) 11 + #define __strong_alias(alias,sym) \ 12 + __asm__(".global " __STRING(alias) " ; " \ 13 + __STRING(alias) " = " __STRING(sym)) 16 14 #define __weak_alias(alias,sym) \ 17 15 __asm__(".weak " __STRING(alias) " ; " \ 18 16 __STRING(alias) " = " __STRING(sym)) 19 17 #define __warn_references(sym,msg) \ 20 18 __asm__(".section .gnu.warning." __STRING(sym) \ 21 19 " ; .ascii \"" msg "\" ; .text") 22 - #endif 23 20 24 21 #endif /* !_M68K_CDEFS_H_ */
+4 -7
sys/arch/m88k/include/cdefs.h
··· 1 - /* $OpenBSD: cdefs.h,v 1.5 2013/01/05 11:20:56 miod Exp $ */ 1 + /* $OpenBSD: cdefs.h,v 1.6 2013/03/28 17:30:45 martynas Exp $ */ 2 2 3 3 /* 4 4 * Written by J.T. Conklin <jtc@wimsey.com> 01/17/95. ··· 8 8 #ifndef _M88K_CDEFS_H_ 9 9 #define _M88K_CDEFS_H_ 10 10 11 - #if defined(lint) 12 - #define __indr_reference(sym,alias) __lint_equal__(sym,alias) 13 - #define __warn_references(sym,msg) 14 - #define __weak_alias(alias,sym) __lint_equal__(sym,alias) 15 - #elif defined(__GNUC__) && defined(__STDC__) 11 + #define __strong_alias(alias,sym) \ 12 + __asm__(".global " __STRING(alias) " ; " \ 13 + __STRING(alias) " = " __STRING(sym)) 16 14 #define __weak_alias(alias,sym) \ 17 15 __asm__(".weak " __STRING(alias) " ; " \ 18 16 __STRING(alias) " = " __STRING(sym)) 19 17 #define __warn_references(sym,msg) \ 20 18 __asm__(".section .gnu.warning." __STRING(sym) \ 21 19 " ; .ascii \"" msg "\" ; .text") 22 - #endif 23 20 24 21 #endif /* _M88K_CDEFS_H_ */
+4 -8
sys/arch/mips64/include/cdefs.h
··· 1 - /* $OpenBSD: cdefs.h,v 1.5 2011/03/23 16:54:36 pirofti Exp $ */ 1 + /* $OpenBSD: cdefs.h,v 1.6 2013/03/28 17:30:45 martynas Exp $ */ 2 2 3 3 /* 4 4 * Copyright (c) 2002-2003 Opsycon AB (www.opsycon.se / www.opsycon.com) ··· 26 26 * 27 27 */ 28 28 29 - 30 29 #ifndef _MIPS64_CDEFS_H_ 31 30 #define _MIPS64_CDEFS_H_ 32 31 33 - #if defined(lint) 34 - #define __indr_reference(sym,alias) __lint_equal__(sym,alias) 35 - #define __warn_references(sym,msg) 36 - #define __weak_alias(alias,sym) __lint_equal__(sym,alias) 37 - #elif defined(__GNUC__) && defined(__STDC__) 32 + #define __strong_alias(alias,sym) \ 33 + __asm__(".global " __STRING(alias) " ; " \ 34 + __STRING(alias) " = " __STRING(sym)) 38 35 #define __weak_alias(alias,sym) \ 39 36 __asm__(".weak " __STRING(alias) " ; " \ 40 37 __STRING(alias) " = " __STRING(sym)) ··· 42 39 __asm__(".section .gnu.warning." __STRING(sym) \ 43 40 " ; .ascii \"" msg "\" ; .text") 44 41 #define __indr_references(sym,msg) /* nothing */ 45 - #endif 46 42 47 43 #endif /* !_MIPS64_CDEFS_H_ */
+1 -6
sys/arch/octeon/include/cdefs.h
··· 1 - /* $OpenBSD: cdefs.h,v 1.1 2010/09/20 06:32:30 syuu Exp $ */ 1 + /* $OpenBSD: cdefs.h,v 1.2 2013/03/28 17:30:45 martynas Exp $ */ 2 2 /* public domain */ 3 3 #include <mips64/cdefs.h> 4 - 5 - #if defined(lint) && !defined(__MIPSEB__) 6 - #define __MIPSEB__ 7 - #undef __MIPSEL__ 8 - #endif
+4 -7
sys/arch/powerpc/include/cdefs.h
··· 1 - /* $OpenBSD: cdefs.h,v 1.6 2006/01/10 00:04:04 millert Exp $ */ 1 + /* $OpenBSD: cdefs.h,v 1.7 2013/03/28 17:30:45 martynas Exp $ */ 2 2 3 3 /* 4 4 * Written by J.T. Conklin <jtc@wimsey.com> 01/17/95. ··· 8 8 #ifndef _POWERPC_CDEFS_H_ 9 9 #define _POWERPC_CDEFS_H_ 10 10 11 - #if defined(lint) 12 - #define __indr_reference(sym,alias) __lint_equal__(sym,alias) 13 - #define __warn_references(sym,msg) 14 - #define __weak_alias(alias,sym) __lint_equal__(sym,alias) 15 - #elif defined(__GNUC__) && defined(__STDC__) 11 + #define __strong_alias(alias,sym) \ 12 + __asm__(".global " __STRING(alias) " ; " \ 13 + __STRING(alias) " = " __STRING(sym)) 16 14 #define __weak_alias(alias,sym) \ 17 15 __asm__(".weak " __STRING(alias) " ; " \ 18 16 __STRING(alias) " = " __STRING(sym)) 19 17 #define __warn_references(sym,msg) \ 20 18 __asm__(".section .gnu.warning." __STRING(sym) \ 21 19 " ; .ascii \"" msg "\" ; .text") 22 - #endif 23 20 24 21 #endif /* !_POWERPC_CDEFS_H_ */
+1 -6
sys/arch/sgi/include/cdefs.h
··· 1 - /* $OpenBSD: cdefs.h,v 1.2 2005/11/24 20:46:48 deraadt Exp $ */ 1 + /* $OpenBSD: cdefs.h,v 1.3 2013/03/28 17:30:45 martynas Exp $ */ 2 2 3 3 /* Use Mips generic include file */ 4 4 5 5 #include <mips64/cdefs.h> 6 - 7 - #if defined(lint) && !defined(__MIPSEB__) 8 - #define __MIPSEB__ 9 - #undef __MIPSEL__ 10 - #endif
+8 -11
sys/arch/sh/include/cdefs.h
··· 1 - /* $OpenBSD: cdefs.h,v 1.1.1.1 2006/10/06 21:02:55 miod Exp $ */ 1 + /* $OpenBSD: cdefs.h,v 1.2 2013/03/28 17:30:45 martynas Exp $ */ 2 2 3 3 #ifndef _SH_CDEFS_H_ 4 4 #define _SH_CDEFS_H_ 5 5 6 - #if defined(lint) 7 - #define __indr_reference(sym,alias) __lint_equal__(sym,alias) 8 - #define __warn_references(sym,msg) 9 - #define __weak_alias(alias,sym) __lint_equal__(sym,alias) 10 - #elif defined(__GNUC__) && defined(__STDC__) 11 - #define __weak_alias(alias,sym) \ 12 - __asm__(".weak " __STRING(alias) " ; " __STRING(alias) \ 6 + #define __strong_alias(alias,sym) \ 7 + __asm__(".global " __STRING(alias) " ; " __STRING(alias) \ 8 + " = " __STRING(sym)) 9 + #define __weak_alias(alias,sym) \ 10 + __asm__(".weak " __STRING(alias) " ; " __STRING(alias) \ 13 11 " = " __STRING(sym)) 14 - #define __warn_references(sym,msg) \ 15 - __asm__(".section .gnu.warning." __STRING(sym) \ 12 + #define __warn_references(sym,msg) \ 13 + __asm__(".section .gnu.warning." __STRING(sym) \ 16 14 " ; .ascii \"" msg "\" ; .text") 17 - #endif 18 15 19 16 #endif /* !_SH_CDEFS_H_ */
+4 -7
sys/arch/sparc/include/cdefs.h
··· 1 - /* $OpenBSD: cdefs.h,v 1.10 2006/01/10 00:04:04 millert Exp $ */ 1 + /* $OpenBSD: cdefs.h,v 1.11 2013/03/28 17:30:45 martynas Exp $ */ 2 2 3 3 /* 4 4 * Written by J.T. Conklin <jtc@wimsey.com> 01/17/95. ··· 8 8 #ifndef _MACHINE_CDEFS_H_ 9 9 #define _MACHINE_CDEFS_H_ 10 10 11 - #if defined(lint) 12 - #define __indr_reference(sym,alias) __lint_equal__(sym,alias) 13 - #define __warn_references(sym,msg) 14 - #define __weak_alias(alias,sym) __lint_equal__(sym,alias) 15 - #elif defined(__GNUC__) && defined(__STDC__) 11 + #define __strong_alias(alias,sym) \ 12 + __asm__(".global " __STRING(alias) " ; " \ 13 + __STRING(alias) " = " __STRING(sym)) 16 14 #define __weak_alias(alias,sym) \ 17 15 __asm__(".weak " __STRING(alias) " ; " \ 18 16 __STRING(alias) " = " __STRING(sym)) 19 17 #define __warn_references(sym,msg) \ 20 18 __asm__(".section .gnu.warning." __STRING(sym) \ 21 19 " ; .ascii \"" msg "\" ; .text") 22 - #endif 23 20 24 21 #endif /* !_MACHINE_CDEFS_H_ */
+4 -7
sys/arch/sparc64/include/cdefs.h
··· 1 - /* $OpenBSD: cdefs.h,v 1.3 2005/11/24 20:46:48 deraadt Exp $ */ 1 + /* $OpenBSD: cdefs.h,v 1.4 2013/03/28 17:30:45 martynas Exp $ */ 2 2 3 3 #ifndef _MACHINE_CDEFS_H_ 4 4 #define _MACHINE_CDEFS_H_ 5 5 6 - #if defined(lint) 7 - #define __indr_reference(sym,alias) __lint_equal__(sym,alias) 8 - #define __warn_references(sym,msg) 9 - #define __weak_alias(alias,sym) __lint_equal__(sym,alias) 10 - #elif defined(__GNUC__) && defined(__STDC__) 6 + #define __strong_alias(alias,sym) \ 7 + __asm__(".global " __STRING(alias) " ; " \ 8 + __STRING(alias) " = " __STRING(sym)) 11 9 #define __weak_alias(alias,sym) \ 12 10 __asm__(".weak " __STRING(alias) " ; " \ 13 11 __STRING(alias) " = " __STRING(sym)) 14 12 #define __warn_references(sym,msg) \ 15 13 __asm__(".section .gnu.warning." __STRING(sym) \ 16 14 " ; .ascii \"" msg "\" ; .text") 17 - #endif 18 15 19 16 #endif /* !_MACHINE_CDEFS_H_ */
+3 -7
sys/arch/vax/include/cdefs.h
··· 1 - /* $OpenBSD: cdefs.h,v 1.7 2006/01/10 00:04:04 millert Exp $ */ 1 + /* $OpenBSD: cdefs.h,v 1.8 2013/03/28 17:30:45 martynas Exp $ */ 2 2 3 3 /* 4 4 * Written by J.T. Conklin <jtc@wimsey.com> 01/17/95. ··· 8 8 #ifndef _MACHINE_CDEFS_H_ 9 9 #define _MACHINE_CDEFS_H_ 10 10 11 - #if defined(lint) 12 - #define __indr_reference(sym,alias) __lint_equal__(sym,alias) 13 - #define __warn_references(sym,msg) 14 - #define __weak_alias(alias,sym) __lint_equal__(sym,alias) 15 - #elif defined(__GNUC__) && defined(__STDC__) 16 11 #define __indr_reference(sym,alias) \ 17 12 __asm__(".stabs \"_" #alias "\",11,0,0,0"); \ 18 13 __asm__(".stabs \"_" #sym "\",1,0,0,0") 19 14 #define __warn_references(sym,msg) \ 20 15 __asm__(".stabs \"" msg "\",30,0,0,0"); \ 21 16 __asm__(".stabs \"_" #sym "\",1,0,0,0") 17 + #define __strong_alias(alias,sym) \ 18 + __asm__(".global _" #alias "; _" #alias "= _" __STRING(sym)) 22 19 #define __weak_alias(alias,sym) \ 23 20 __asm__(".weak _" #alias "; _" #alias "= _" __STRING(sym)) 24 - #endif 25 21 26 22 #endif /* !_MACHINE_CDEFS_H_ */