summaryrefslogtreecommitdiff
path: root/sys/arch/sparc64
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/sparc64
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/sparc64')
-rw-r--r--sys/arch/sparc64/include/cdefs.h11
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_ */