diff options
author | Peter S. Mazinger <ps.m@gmx.net> | 2006-02-13 06:52:14 +0000 |
---|---|---|
committer | Peter S. Mazinger <ps.m@gmx.net> | 2006-02-13 06:52:14 +0000 |
commit | 7f4d6efd2fbe9860d9931e9797eeae89d1d416a5 (patch) | |
tree | 19e43d6ab0034650bd2952d8ed7a7ca7bd171d37 | |
parent | 7e7bdbf94ca24efe3745f1cdc983f8161b0d2d03 (diff) |
Add internal hidden_weak support for asm
-rw-r--r-- | include/libc-symbols.h | 15 |
1 files changed, 13 insertions, 2 deletions
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 */ |