summaryrefslogtreecommitdiff
path: root/sys/arch/arm
diff options
context:
space:
mode:
authorMartynas Venckus <martynas@cvs.openbsd.org>2013-03-28 17:30:46 +0000
committerMartynas Venckus <martynas@cvs.openbsd.org>2013-03-28 17:30:46 +0000
commitdd27625163090c5e5b351e017cd1ffd03a373b5f (patch)
treef866b9f603ad996d274d4f4ab20ca3a2f0f97b0c /sys/arch/arm
parentfcc4d6add65a985a9353ecdcfdc4f44880982afb (diff)
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@.
Diffstat (limited to 'sys/arch/arm')
-rw-r--r--sys/arch/arm/include/cdefs.h19
1 files changed, 8 insertions, 11 deletions
diff --git a/sys/arch/arm/include/cdefs.h b/sys/arch/arm/include/cdefs.h
index b903dd9d60c..34ca3f38273 100644
--- a/sys/arch/arm/include/cdefs.h
+++ b/sys/arch/arm/include/cdefs.h
@@ -1,19 +1,16 @@
-/* $OpenBSD: cdefs.h,v 1.3 2011/03/23 16:54:34 pirofti Exp $ */
+/* $OpenBSD: cdefs.h,v 1.4 2013/03/28 17:30:45 martynas Exp $ */
#ifndef _ARM_CDEFS_H_
#define _ARM_CDEFS_H_
-#if defined(lint)
-#define __indr_reference(sym,alias) __lint_equal__(sym,alias)
-#define __warn_references(sym,msg)
-#define __weak_alias(alias,sym) __lint_equal__(sym,alias)
-#elif defined(__GNUC__) && defined(__STDC__)
-#define __weak_alias(alias,sym) \
- __asm__(".weak " __STRING(alias) " ; " __STRING(alias) \
+#define __strong_alias(alias,sym) \
+ __asm__(".global " __STRING(alias) " ; " __STRING(alias) \
" = " __STRING(sym))
-#define __warn_references(sym,msg) \
- __asm__(".section .gnu.warning." __STRING(sym) \
+#define __weak_alias(alias,sym) \
+ __asm__(".weak " __STRING(alias) " ; " __STRING(alias) \
+ " = " __STRING(sym))
+#define __warn_references(sym,msg) \
+ __asm__(".section .gnu.warning." __STRING(sym) \
" ; .ascii \"" msg "\" ; .text")
-#endif
#endif /* !_ARM_CDEFS_H_ */