diff options
Diffstat (limited to 'libc-symbols.h')
-rw-r--r-- | libc-symbols.h | 11 |
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. */ |