From 334fcf2a65f3b58867ce136da767c6c58a3d45ed Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 8 Aug 2003 07:43:03 +0000 Subject: Update. 2003-08-07 Jakub Jelinek * sysdeps/generic/ldsodefs.h (_rtld_global): Add _dl_rtld_lock_recursive and _dl_rtld_unlock_recursive. * elf/rtld.c (rtld_lock_default_lock_recursive, rtld_lock_default_unlock_recursive): New functions. (dl_main): Initialize _dl_rtld_lock_recursive and _dl_rtld_unlock_recursive. 2003-08-05 Jakub Jelinek * elf/ldconfig.c (main): Append SLIBDIR and LIBDIR to config_file directories instead of prepending. --- elf/rtld.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'elf/rtld.c') diff --git a/elf/rtld.c b/elf/rtld.c index c529094..8f9fc7c 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -588,6 +588,20 @@ _dl_initial_error_catch_tsd (void) } #endif +#if defined SHARED && defined _LIBC_REENTRANT \ + && defined __rtld_lock_default_lock_recursive +static void rtld_lock_default_lock_recursive (void *lock) +{ + __rtld_lock_default_lock_recursive (lock); +} + +static void rtld_lock_default_unlock_recursive (void *lock) +{ + __rtld_lock_default_unlock_recursive (lock); +} +#endif + + static const char *library_path; /* The library search path. */ static const char *preloadlist; /* The list preloaded objects. */ static int version_info; /* Nonzero if information about @@ -626,6 +640,12 @@ dl_main (const ElfW(Phdr) *phdr, GL(dl_init_static_tls) = &_dl_nothread_init_static_tls; #endif +#if defined SHARED && defined _LIBC_REENTRANT \ + && defined __rtld_lock_default_lock_recursive + GL(dl_rtld_lock_recursive) = rtld_lock_default_lock_recursive; + GL(dl_rtld_unlock_recursive) = rtld_lock_default_unlock_recursive; +#endif + /* Process the environment variable which control the behaviour. */ process_envvars (&mode); -- cgit v1.1