diff options
author | Jakub Jelinek <jakub@redhat.com> | 2005-03-19 21:04:10 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2005-03-19 21:04:10 +0000 |
commit | 8f8ebbc438fcb4b22fba8beb3ef3d1aa59d9d7bf (patch) | |
tree | b7091affa76bbaf47e78a59dfc72b2102554eaf9 /include | |
parent | f5c3480e830e94e0e51a0bdb1053944daed8bc58 (diff) |
Updated to fedora-glibc-20050319T1907cvs/fedora-glibc-2_3_4-15
Diffstat (limited to 'include')
-rw-r--r-- | include/libc-symbols.h | 77 | ||||
-rw-r--r-- | include/link.h | 5 | ||||
-rw-r--r-- | include/wchar.h | 1 |
3 files changed, 14 insertions, 69 deletions
diff --git a/include/libc-symbols.h b/include/libc-symbols.h index f3526ca053..cdbc4ef202 100644 --- a/include/libc-symbols.h +++ b/include/libc-symbols.h @@ -583,78 +583,23 @@ for linking") # define hidden_proto(name, attrs...) \ __hidden_proto (name, __GI_##name, ##attrs) # define __hidden_proto(name, internal, attrs...) \ - extern __typeof (name) internal; \ extern __typeof (name) name __asm__ (__hidden_asmname (#internal)) \ __hidden_proto_hiddenattr (attrs); # define __hidden_asmname(name) \ __hidden_asmname1 (__USER_LABEL_PREFIX__, name) # define __hidden_asmname1(prefix, name) __hidden_asmname2(prefix, name) # define __hidden_asmname2(prefix, name) #prefix name -# ifdef HAVE_ASM_SET_DIRECTIVE -# define __hidden_def1(original, alias) \ - ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP \ - .set C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original) -# ifdef HAVE_ASM_GLOBAL_DOT_NAME -# define __hidden_dot_def1(original, alias) ASM_LINE_SEP \ - ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \ - .set C_SYMBOL_DOT_NAME (alias), C_SYMBOL_DOT_NAME (original) -# else -# define __hidden_dot_def1(original, alias) -# endif -# else -# define __hidden_def1(original, alias) \ - ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP \ - C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original) -# ifdef HAVE_ASM_GLOBAL_DOT_NAME -# define __hidden_dot_def1(original, alias) ASM_LINE_SEP \ - ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \ - C_SYMBOL_DOT_NAME (alias) = C_SYMBOL_DOT_NAME (original) -# else -# define __hidden_dot_def1(original, alias) -# endif -# endif -# define __hidden_def2(...) #__VA_ARGS__ -# define __hidden_def3(...) __hidden_def2 (__VA_ARGS__) -# define hidden_def(name) \ - __asm__ (__hidden_def3 (__hidden_def1 (__GI_##name, name) \ - __hidden_dot_def1 (__GI_##name, name))); -# define hidden_data_def(name) \ - __asm__ (__hidden_def3 (__hidden_def1 (__GI_##name, name))); -# define hidden_ver(local, name) \ - __asm__ (__hidden_def3 (__hidden_def1 (local, __GI_##name) \ - __hidden_dot_def1 (local, __GI_##name))); -# define hidden_data_ver(local, name) \ - __asm__ (__hidden_def3 (__hidden_def1 (local, __GI_##name))); -# ifdef HAVE_WEAK_SYMBOLS -# ifdef HAVE_ASM_WEAKEXT_DIRECTIVE -# define __hidden_weak1(original, alias) \ - .weakext C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original) -# ifdef HAVE_ASM_GLOBAL_DOT_NAME -# define __hidden_dot_weak1(original, alias) ASM_LINE_SEP \ - .weakext C_SYMBOL_DOT_NAME (alias), C_SYMBOL_DOT_NAME (original) -# else -# define __hidden_dot_weak1(original, alias) -# endif -# else /* ! HAVE_ASM_WEAKEXT_DIRECTIVE */ -# define __hidden_weak1(original, alias) \ - .weak C_SYMBOL_NAME (alias) ASM_LINE_SEP \ - C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original) -# ifdef HAVE_ASM_GLOBAL_DOT_NAME -# define __hidden_dot_weak1(original, alias) ASM_LINE_SEP \ - .weak C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \ - C_SYMBOL_DOT_NAME (alias) = C_SYMBOL_DOT_NAME (original) -# else -# define __hidden_dot_weak1(original, alias) -# endif -# endif -# define hidden_weak(name) \ - __asm__ (__hidden_def3 (__hidden_weak1 (__GI_##name, name) \ - __hidden_dot_weak1 (__GI_##name, name))); -# define hidden_data_weak(name) \ - __asm__ (__hidden_def3 (__hidden_weak1 (__GI_##name, name))); -# else -# define hidden_weak(name) hidden_def (name) -# endif +# define __hidden_ver1(local, internal, name) \ + extern __typeof (name) __EI_##name __asm__(__hidden_asmname (#internal)); \ + extern __typeof (name) __EI_##name \ + __attribute__((alias (__hidden_asmname (#local)))) +# define hidden_ver(local, name) __hidden_ver1(local, __GI_##name, name); +# define hidden_data_ver(local, name) hidden_ver(local, name) +# define hidden_def(name) __hidden_ver1(__GI_##name, name, name); +# define hidden_data_def(name) hidden_def(name) +# define hidden_weak(name) \ + __hidden_ver1(__GI_##name, name, name) __attribute__((weak)); +# define hidden_data_weak(name) hidden_weak(name) # else /* 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 diff --git a/include/link.h b/include/link.h index 965419126d..0c35264096 100644 --- a/include/link.h +++ b/include/link.h @@ -178,7 +178,6 @@ struct link_map Elf_Symndx l_nbuckets; const Elf_Symndx *l_buckets, *l_chain; - unsigned int l_opencount; /* Counter for direct and indirect usage. */ unsigned int l_direct_opencount; /* Reference count for dlopen/dlclose. */ enum /* Where this object came from. */ { @@ -203,6 +202,8 @@ struct link_map unsigned int l_auditing:1; /* Nonzero if the DSO is used in auditing. */ unsigned int l_audit_any_plt:1; /* Nonzero if at least one audit module is interested in the PLT interception.*/ + unsigned int l_removed:1; /* Nozero if the object cannot be used anymore + since it is removed. */ /* Array with version names. */ unsigned int l_nversions; @@ -267,7 +268,7 @@ struct link_map ElfW(Word) l_flags; /* Temporarily used in `dl_close'. */ - unsigned int l_idx; + int l_idx; struct link_map_machine l_mach; diff --git a/include/wchar.h b/include/wchar.h index 73bd4a8fef..0f91114c41 100644 --- a/include/wchar.h +++ b/include/wchar.h @@ -56,7 +56,6 @@ extern int __wcscasecmp (__const wchar_t *__s1, __const wchar_t *__s2) extern int __wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n) __attribute_pure__; -extern int __wcscoll (__const wchar_t *__s1, __const wchar_t *__s2); extern size_t __wcslen (__const wchar_t *__s) __attribute_pure__; extern size_t __wcsnlen (__const wchar_t *__s, size_t __maxlen) __attribute_pure__; |