diff options
author | Martynas Venckus <martynas@cvs.openbsd.org> | 2013-03-28 17:30:46 +0000 |
---|---|---|
committer | Martynas Venckus <martynas@cvs.openbsd.org> | 2013-03-28 17:30:46 +0000 |
commit | dd27625163090c5e5b351e017cd1ffd03a373b5f (patch) | |
tree | f866b9f603ad996d274d4f4ab20ca3a2f0f97b0c /sys/arch/arm | |
parent | fcc4d6add65a985a9353ecdcfdc4f44880982afb (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.h | 19 |
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_ */ |