diff options
author | Ulrich Drepper <drepper@redhat.com> | 2006-10-29 21:46:32 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2006-10-29 21:46:32 +0000 |
commit | b94817f9139b92e4bde284a63b1b6ec570055d38 (patch) | |
tree | 0f26988c2722e4044ccd83ee837315ae36c92873 | |
parent | 78fbd00f39d48592d55bd4a022a909c9577b21db (diff) | |
download | glibc-b94817f9139b92e4bde284a63b1b6ec570055d38.tar glibc-b94817f9139b92e4bde284a63b1b6ec570055d38.tar.gz glibc-b94817f9139b92e4bde284a63b1b6ec570055d38.tar.bz2 glibc-b94817f9139b92e4bde284a63b1b6ec570055d38.zip |
* elf/dl-sym.c (do_sym): Use RTLD_SINGLE_THREAD_P.
* elf/dl-runtime.c (_dl_fixup, _dl_profile_fixup): Likewise.
* elf/dl-close.c (_dl_close_worker): Likewise.
* elf/dl-open.c (_dl_open_worker): Likewise.
* sysdeps/generic/sysdep-cancel.h (RTLD_SINGLE_THREAD_P): Define.
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | elf/dl-close.c | 2 | ||||
-rw-r--r-- | elf/dl-open.c | 2 | ||||
-rw-r--r-- | elf/dl-runtime.c | 8 | ||||
-rw-r--r-- | elf/dl-sym.c | 2 | ||||
-rw-r--r-- | sysdeps/generic/sysdep-cancel.h | 1 |
6 files changed, 16 insertions, 7 deletions
@@ -1,3 +1,11 @@ +2006-10-29 Jakub Jelinek <jakub@redhat.com> + + * elf/dl-sym.c (do_sym): Use RTLD_SINGLE_THREAD_P. + * elf/dl-runtime.c (_dl_fixup, _dl_profile_fixup): Likewise. + * elf/dl-close.c (_dl_close_worker): Likewise. + * elf/dl-open.c (_dl_open_worker): Likewise. + * sysdeps/generic/sysdep-cancel.h (RTLD_SINGLE_THREAD_P): Define. + 2006-10-27 Ulrich Drepper <drepper@redhat.com> * configure.in: Require assembler support for visibility, compiler diff --git a/elf/dl-close.c b/elf/dl-close.c index 47316ec7f7..df968fe649 100644 --- a/elf/dl-close.c +++ b/elf/dl-close.c @@ -399,7 +399,7 @@ _dl_close_worker (struct link_map *map) struct r_scope_elem **old = imap->l_scope; - if (SINGLE_THREAD_P) + if (RTLD_SINGLE_THREAD_P) imap->l_scope = newp; else { diff --git a/elf/dl-open.c b/elf/dl-open.c index f2f4ae2383..c997521126 100644 --- a/elf/dl-open.c +++ b/elf/dl-open.c @@ -417,7 +417,7 @@ dl_open_worker (void *a) memcpy (newp, imap->l_scope, cnt * sizeof (imap->l_scope[0])); struct r_scope_elem **old = imap->l_scope; - if (SINGLE_THREAD_P) + if (RTLD_SINGLE_THREAD_P) imap->l_scope = newp; else { diff --git a/elf/dl-runtime.c b/elf/dl-runtime.c index 0488fab8d0..afc99f6150 100644 --- a/elf/dl-runtime.c +++ b/elf/dl-runtime.c @@ -93,14 +93,14 @@ _dl_fixup ( version = NULL; } - if (l->l_type == lt_loaded && !SINGLE_THREAD_P) + if (l->l_type == lt_loaded && !RTLD_SINGLE_THREAD_P) __rtld_mrlock_lock (l->l_scope_lock); result = _dl_lookup_symbol_x (strtab + sym->st_name, l, &sym, l->l_scope, version, ELF_RTYPE_CLASS_PLT, DL_LOOKUP_ADD_DEPENDENCY, NULL); - if (l->l_type == lt_loaded && !SINGLE_THREAD_P) + if (l->l_type == lt_loaded && !RTLD_SINGLE_THREAD_P) __rtld_mrlock_unlock (l->l_scope_lock); /* Currently result contains the base load address (or link map) @@ -181,7 +181,7 @@ _dl_profile_fixup ( version = NULL; } - if (l->l_type == lt_loaded && !SINGLE_THREAD_P) + if (l->l_type == lt_loaded && !RTLD_SINGLE_THREAD_P) __rtld_mrlock_lock (l->l_scope_lock); result = _dl_lookup_symbol_x (strtab + refsym->st_name, l, &defsym, @@ -189,7 +189,7 @@ _dl_profile_fixup ( ELF_RTYPE_CLASS_PLT, DL_LOOKUP_ADD_DEPENDENCY, NULL); - if (l->l_type == lt_loaded && !SINGLE_THREAD_P) + if (l->l_type == lt_loaded && !RTLD_SINGLE_THREAD_P) __rtld_mrlock_unlock (l->l_scope_lock); /* Currently result contains the base load address (or link map) diff --git a/elf/dl-sym.c b/elf/dl-sym.c index 2081fd53f1..88a5adb0d5 100644 --- a/elf/dl-sym.c +++ b/elf/dl-sym.c @@ -113,7 +113,7 @@ do_sym (void *handle, const char *name, void *who, the initial binary. And then the more complex part where the object is dynamically loaded and the scope array can change. */ - if (match->l_type != lt_loaded || SINGLE_THREAD_P) + if (match->l_type != lt_loaded || RTLD_SINGLE_THREAD_P) result = GLRO(dl_lookup_symbol_x) (name, match, &ref, match->l_scope, vers, 0, flags | DL_LOOKUP_ADD_DEPENDENCY, diff --git a/sysdeps/generic/sysdep-cancel.h b/sysdeps/generic/sysdep-cancel.h index f07b784f2e..ba6a1e04ba 100644 --- a/sysdeps/generic/sysdep-cancel.h +++ b/sysdeps/generic/sysdep-cancel.h @@ -2,6 +2,7 @@ /* No multi-thread handling enabled. */ #define SINGLE_THREAD_P (1) +#define RTLD_SINGLE_THREAD_P (1) #define LIBC_CANCEL_ASYNC() 0 /* Just a dummy value. */ #define LIBC_CANCEL_RESET(val) ((void)(val)) /* Nothing, but evaluate it. */ #define LIBC_CANCEL_HANDLED() /* Nothing. */ |