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/sparc64 | |
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/sparc64')
-rw-r--r-- | sys/arch/sparc64/include/cdefs.h | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/sys/arch/sparc64/include/cdefs.h b/sys/arch/sparc64/include/cdefs.h index 93df14543e5..ca866af4418 100644 --- a/sys/arch/sparc64/include/cdefs.h +++ b/sys/arch/sparc64/include/cdefs.h @@ -1,19 +1,16 @@ -/* $OpenBSD: cdefs.h,v 1.3 2005/11/24 20:46:48 deraadt Exp $ */ +/* $OpenBSD: cdefs.h,v 1.4 2013/03/28 17:30:45 martynas Exp $ */ #ifndef _MACHINE_CDEFS_H_ #define _MACHINE_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 __strong_alias(alias,sym) \ + __asm__(".global " __STRING(alias) " ; " \ + __STRING(alias) " = " __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 /* !_MACHINE_CDEFS_H_ */ |