summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/arch/i386/include/cdefs.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/sys/arch/i386/include/cdefs.h b/sys/arch/i386/include/cdefs.h
index 05a765f283d..7877a9dbe8c 100644
--- a/sys/arch/i386/include/cdefs.h
+++ b/sys/arch/i386/include/cdefs.h
@@ -10,9 +10,9 @@
#ifndef _C_LABEL
#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
#endif /* _C_LABEL */
@@ -24,6 +24,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"); \
@@ -31,13 +33,11 @@
#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 */
#endif
-#define __weak_alias(alias,sym) \
- __asm__(".weak " _C_LABEL(alias) ";" \
- _C_LABEL(alias) "=" _C_LABEL(sym))
-
#endif /* !_MACHINE_CDEFS_H_ */