about summary refs log tree commit diff
path: root/libc-symbols.h
diff options
context:
space:
mode:
Diffstat (limited to 'libc-symbols.h')
-rw-r--r--libc-symbols.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/libc-symbols.h b/libc-symbols.h
index be88e7601b..a173b4d66d 100644
--- a/libc-symbols.h
+++ b/libc-symbols.h
@@ -80,6 +80,7 @@ Cambridge, MA 02139, USA.  */
 #endif
 
 /* Define ALIAS as a strong alias for ORIGINAL.  */
+#ifdef HAVE_ASM_SET_DIRECTIVE
 #define strong_alias_asm(original, alias)	\
   .set C_SYMBOL_NAME (alias),C_SYMBOL_NAME (original)
 #ifdef ASSEMBLER
@@ -88,6 +89,16 @@ Cambridge, MA 02139, USA.  */
 #define strong_alias(original, alias)	\
   asm (".set " __SYMBOL_PREFIX #alias "," __SYMBOL_PREFIX #original);
 #endif
+#else
+#define strong_alias_asm(original, alias)	\
+  C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original)
+#ifdef ASSEMBLER
+#define strong_alias(original, alias)	strong_alias_asm (original, alias)
+#else
+#define strong_alias(original, alias)	\
+  asm (__SYMBOL_PREFIX #alias " = " __SYMBOL_PREFIX #original);
+#endif
+#endif
 
 /* Define ALIAS as a weak alias for ORIGINAL.
    If weak aliases are not available, this defines a strong alias.  */