svn commit: trunk/uClibc/include

psm at uclibc.org psm at uclibc.org
Mon Feb 13 06:52:15 UTC 2006


Author: psm
Date: 2006-02-12 22:52:14 -0800 (Sun, 12 Feb 2006)
New Revision: 13922

Log:
Add internal hidden_weak support for asm

Modified:
   trunk/uClibc/include/libc-symbols.h


Changeset:
Modified: trunk/uClibc/include/libc-symbols.h
===================================================================
--- trunk/uClibc/include/libc-symbols.h	2006-02-13 06:51:33 UTC (rev 13921)
+++ trunk/uClibc/include/libc-symbols.h	2006-02-13 06:52:14 UTC (rev 13922)
@@ -438,6 +438,17 @@
 #  endif
 # endif
 
+#  ifdef HAVE_ASM_GLOBAL_DOT_NAME
+#   define _hidden_weak_alias(original, alias)				\
+     .hidden C_SYMBOL_NAME (alias) ASM_LINE_SEP				\
+     .hidden C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP			\
+     weak_alias(original, alias)
+#  else
+#   define _hidden_weak_alias(original, alias)				\
+     .hidden C_SYMBOL_NAME (alias) ASM_LINE_SEP				\
+     weak_alias(original, alias)
+#  endif
+
 /* For assembly, we need to do the opposite of what we do in C:
    in assembly gcc __REDIRECT stuff is not in place, so functions
    are defined by its normal name and we need to create the
@@ -449,8 +460,8 @@
    is to call via the HIDDEN_JUMPTARGET macro instead of JUMPTARGET.  */
 #  define hidden_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_data_weak(name)	hidden_data_def (name)
+#  define hidden_weak(name)	_hidden_weak_alias (name, __GI_##name)
+#  define hidden_data_weak(name)	_hidden_weak_alias (name, __GI_##name)
 #  define HIDDEN_JUMPTARGET(name) __GI_##name
 # endif /* __ASSEMBLER__ */
 #else /* SHARED */




More information about the uClibc-cvs mailing list