diff options
author | Mike Frysinger <vapier@gentoo.org> | 2006-05-04 15:18:05 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2006-05-04 15:18:05 +0000 |
commit | e72492fd1a35ee6c2cb21ee88867b3a4e5bd4694 (patch) | |
tree | fa4dfd09eb30cfad859c722191150149a0b2e674 | |
parent | 42c18467896fd908856f9ddbfe721ad7d726a9c4 (diff) |
fix by Bernd Schmidt to support HAVE_ASM_SET_DIRECTIVE in weak_alias() macros
-rw-r--r-- | include/libc-symbols.h | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/include/libc-symbols.h b/include/libc-symbols.h index 9ef87ce47..ef1e21747 100644 --- a/include/libc-symbols.h +++ b/include/libc-symbols.h @@ -230,18 +230,31 @@ # else /* ! HAVE_ASM_WEAKEXT_DIRECTIVE */ -# ifdef HAVE_ASM_GLOBAL_DOT_NAME -# define weak_alias(original, alias) \ +# ifdef HAVE_ASM_SET_DIRECTIVE +# ifdef HAVE_ASM_GLOBAL_DOT_NAME +# define weak_alias(original, alias) \ + .weak C_SYMBOL_NAME (alias) ASM_LINE_SEP \ + .set C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original) ASM_LINE_SEP \ + .weak C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \ + .set C_SYMBOL_DOT_NAME (alias), C_SYMBOL_DOT_NAME (original) +# else +# define weak_alias(original, alias) \ + .weak C_SYMBOL_NAME (alias) ASM_LINE_SEP \ + .set C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original) +# endif +# else /* ! HAVE_ASM_SET_DIRECTIVE */ +# ifdef HAVE_ASM_GLOBAL_DOT_NAME +# define weak_alias(original, alias) \ .weak C_SYMBOL_NAME (alias) ASM_LINE_SEP \ C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original) ASM_LINE_SEP \ .weak C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \ C_SYMBOL_DOT_NAME (alias) = C_SYMBOL_DOT_NAME (original) -# else -# define weak_alias(original, alias) \ +# else +# define weak_alias(original, alias) \ .weak C_SYMBOL_NAME (alias) ASM_LINE_SEP \ C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original) +# endif # endif - # define weak_extern(symbol) \ .weak C_SYMBOL_NAME (symbol) |