summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFederico G. Schwindt <fgsch@cvs.openbsd.org>2002-02-11 20:08:59 +0000
committerFederico G. Schwindt <fgsch@cvs.openbsd.org>2002-02-11 20:08:59 +0000
commita3cd9db66af5d8461cc479ab826c2fa828a2dbb8 (patch)
tree52e0326f5107da538d1a0fcbad06166b9d6b3c99
parent13bfeeb96b2a6a265ca965e9a2682cb0f94b3947 (diff)
o add __weak_alias definition.
o _STRING -> __STRING o empty definitions if !__GNUC__ miod@ testing and ok.
-rw-r--r--sys/arch/m68k/include/cdefs.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/sys/arch/m68k/include/cdefs.h b/sys/arch/m68k/include/cdefs.h
index 49e98eb8ac7..e5bf15a06f3 100644
--- a/sys/arch/m68k/include/cdefs.h
+++ b/sys/arch/m68k/include/cdefs.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: cdefs.h,v 1.5 1996/08/05 17:17:28 niklas Exp $ */
+/* $OpenBSD: cdefs.h,v 1.6 2002/02/11 20:08:58 fgsch Exp $ */
/* $NetBSD: cdefs.h,v 1.2 1995/03/23 20:10:33 jtc Exp $ */
/*
@@ -10,9 +10,9 @@
#define _M68K_CDEFS_H_
#ifdef __STDC__
-#define _C_LABEL(x) _STRING(_ ## x)
+#define _C_LABEL(x) __STRING(_ ## x)
#else
-#define _C_LABEL(x) _STRING(_/**/x)
+#define _C_LABEL(x) __STRING(_/**/x)
#endif
#ifdef __GNUC__
@@ -23,6 +23,8 @@
#define __warn_references(sym,msg) \
__asm__(".stabs \"" msg "\",30,0,0,0"); \
__asm__(".stabs \"_" #sym "\",1,0,0,0")
+#define __weak_alias(alias,sym) \
+ __asm__(".weak _" #alias "; _" #alias "= _" __STRING(sym))
#else
#define __indr_reference(sym,alias) \
__asm__(".stabs \"_/**/alias\",11,0,0,0"); \
@@ -30,9 +32,13 @@
#define __warn_references(sym,msg) \
__asm__(".stabs msg,30,0,0,0"); \
__asm__(".stabs \"_/**/sym\",1,0,0,0")
+#define __weak_alias(alias,sym) \
+ __asm__(".weak _/**/alias; _/**/alias = _/**/sym")
#endif
#else
-#define __warn_references(sym,msg) /* nothing */
+#define __indr_reference(sym,alias)
+#define __warn_references(sym,msg)
+#define __weak_alias(alias,sym)
#endif
#endif /* !_M68K_CDEFS_H_ */