Browse Source

hidden_strong_alias gone and won't be added back because it causes trouble

Peter S. Mazinger 19 years ago
parent
commit
64652c2a6a
1 changed files with 7 additions and 13 deletions
  1. 7 13
      include/libc-symbols.h

+ 7 - 13
include/libc-symbols.h

@@ -382,7 +382,7 @@
  * by libc_hidden_proto). The reasoning to have it after the header w/ foo's prototype is
  * by libc_hidden_proto). The reasoning to have it after the header w/ foo's prototype is
  * to get first the __REDIRECT from original header and then create the __GI_foo alias
  * to get first the __REDIRECT from original header and then create the __GI_foo alias
  * c. no versioning support, hidden[_data]_ver are noop
  * c. no versioning support, hidden[_data]_ver are noop
- * d. hidden_strong_alias() added, and hidden_def() in asm is hidden_strong_alias (not strong_alias) */
+ * d. hidden_def() in asm is _hidden_strong_alias (not strong_alias) */
 
 
 /* Arrange to hide uClibc internals */
 /* Arrange to hide uClibc internals */
 #if defined __GNUC__ && defined __GNUC_MINOR__ && \
 #if defined __GNUC__ && defined __GNUC_MINOR__ && \
@@ -396,10 +396,6 @@
 
 
 #if 1 /* SHARED */
 #if 1 /* SHARED */
 # ifndef __ASSEMBLER__
 # ifndef __ASSEMBLER__
-#  define hidden_strong_alias(name, aliasname) _hidden_strong_alias(name, aliasname)
-#  define _hidden_strong_alias(name, aliasname) \
-   extern __typeof (name) aliasname __attribute__ ((alias (#name))) attribute_hidden;
-
 #  define hidden_proto(name, attrs...) __hidden_proto (name, __GI_##name, ##attrs)
 #  define hidden_proto(name, attrs...) __hidden_proto (name, __GI_##name, ##attrs)
 #  define __hidden_proto(name, internal, attrs...) \
 #  define __hidden_proto(name, internal, attrs...) \
    extern __typeof (name) name __asm__ (__hidden_asmname (#internal)) \
    extern __typeof (name) name __asm__ (__hidden_asmname (#internal)) \
@@ -418,7 +414,7 @@
 # else /* __ASSEMBLER__ */
 # else /* __ASSEMBLER__ */
 # ifdef HAVE_ASM_SET_DIRECTIVE
 # ifdef HAVE_ASM_SET_DIRECTIVE
 #  ifdef HAVE_ASM_GLOBAL_DOT_NAME
 #  ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#   define hidden_strong_alias(original, alias)				\
+#   define _hidden_strong_alias(original, alias)				\
   ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP		\
   ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP		\
   .hidden C_SYMBOL_NAME (alias) ASM_LINE_SEP				\
   .hidden C_SYMBOL_NAME (alias) ASM_LINE_SEP				\
   .set C_SYMBOL_NAME (alias),C_SYMBOL_NAME (original) ASM_LINE_SEP	\
   .set C_SYMBOL_NAME (alias),C_SYMBOL_NAME (original) ASM_LINE_SEP	\
@@ -426,14 +422,14 @@
   .hidden C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP			\
   .hidden C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP			\
   .set C_SYMBOL_DOT_NAME (alias),C_SYMBOL_DOT_NAME (original)
   .set C_SYMBOL_DOT_NAME (alias),C_SYMBOL_DOT_NAME (original)
 #  else
 #  else
-#   define hidden_strong_alias(original, alias)				\
+#   define _hidden_strong_alias(original, alias)				\
   ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP		\
   ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP		\
   .hidden C_SYMBOL_NAME (alias) ASM_LINE_SEP				\
   .hidden C_SYMBOL_NAME (alias) ASM_LINE_SEP				\
   .set C_SYMBOL_NAME (alias),C_SYMBOL_NAME (original)
   .set C_SYMBOL_NAME (alias),C_SYMBOL_NAME (original)
 #  endif
 #  endif
 # else
 # else
 #  ifdef HAVE_ASM_GLOBAL_DOT_NAME
 #  ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#   define hidden_strong_alias(original, alias)				\
+#   define _hidden_strong_alias(original, alias)				\
   ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP		\
   ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP		\
   .hidden C_SYMBOL_NAME (alias) ASM_LINE_SEP				\
   .hidden C_SYMBOL_NAME (alias) ASM_LINE_SEP				\
   C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original) ASM_LINE_SEP		\
   C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original) ASM_LINE_SEP		\
@@ -441,7 +437,7 @@
   .hidden C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP			\
   .hidden C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP			\
   C_SYMBOL_DOT_NAME (alias) = C_SYMBOL_DOT_NAME (original)
   C_SYMBOL_DOT_NAME (alias) = C_SYMBOL_DOT_NAME (original)
 #  else
 #  else
-#   define hidden_strong_alias(original, alias)				\
+#   define _hidden_strong_alias(original, alias)				\
   ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP		\
   ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP		\
   .hidden C_SYMBOL_NAME (alias) ASM_LINE_SEP				\
   .hidden C_SYMBOL_NAME (alias) ASM_LINE_SEP				\
   C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original)
   C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original)
@@ -457,15 +453,13 @@
    but we provide it for consistency with the C usage.
    but we provide it for consistency with the C usage.
    hidden_proto doesn't make sense for assembly but the equivalent
    hidden_proto doesn't make sense for assembly but the equivalent
    is to call via the HIDDEN_JUMPTARGET macro instead of JUMPTARGET.  */
    is to call via the HIDDEN_JUMPTARGET macro instead of JUMPTARGET.  */
-#  define hidden_def(name)	hidden_strong_alias (name, __GI_##name)
+#  define hidden_def(name)	_hidden_strong_alias (name, __GI_##name)
-#  define hidden_data_def(name)	hidden_strong_alias (name, __GI_##name)
+#  define hidden_data_def(name)	_hidden_strong_alias (name, __GI_##name)
 #  define hidden_weak(name)	hidden_def (name)
 #  define hidden_weak(name)	hidden_def (name)
 #  define hidden_data_weak(name)	hidden_data_def (name)
 #  define hidden_data_weak(name)	hidden_data_def (name)
 #  define HIDDEN_JUMPTARGET(name) __GI_##name
 #  define HIDDEN_JUMPTARGET(name) __GI_##name
 # endif /* __ASSEMBLER__ */
 # endif /* __ASSEMBLER__ */
 #else /* SHARED */
 #else /* SHARED */
-# define hidden_strong_alias(name, aliasname)
-
 # ifndef __ASSEMBLER__
 # ifndef __ASSEMBLER__
 #  define hidden_proto(name, attrs...)
 #  define hidden_proto(name, attrs...)
 # else
 # else