From 7f4d6efd2fbe9860d9931e9797eeae89d1d416a5 Mon Sep 17 00:00:00 2001 From: "Peter S. Mazinger" Date: Mon, 13 Feb 2006 06:52:14 +0000 Subject: Add internal hidden_weak support for asm --- include/libc-symbols.h | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'include/libc-symbols.h') diff --git a/include/libc-symbols.h b/include/libc-symbols.h index e1d1b19be..e363ab641 100644 --- a/include/libc-symbols.h +++ b/include/libc-symbols.h @@ -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 */ -- cgit v1.2.3