1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-30 22:43:12 +03:00
1998-03-05  Ulrich Drepper  <drepper@cygnus.com>

	* elf/rtld.c: Speed up processing of environment variables.  Do
	only one run on the environment by avoiding to call getenv.
	* sysdeps/generic/dl-sysdep.c (_dl_next_ld_env_entry): New
	function.  Used by patch above.

1998-03-05 10:25  Ulrich Drepper  <drepper@cygnus.com>

	* nss/getXXbyYY_r.c: Don't try to contact nscd every time when it
	failed.  Only do this every NSS_NSCD_RETRY times.
	* nss/nsswitch.c: Define __nss_nscd_not_available, used by above
	change.
	* nscd/nscd_getgr_r.c (__nscd_getgr_r): Return 2 if contacting the
	daemon failed.
	* nscd/nscd_getpw_r.c (__nscd_getpw_r): Likewise.

1998-03-05  Ulrich Drepper  <drepper@cygnus.com>

	* nss/nsswitch.c (nss_lookup_function): Don't modify errno if NSS
	module cannot be found.  Reported by Andreas Jaeger.

1998-03-05 11:40  Franz Sirl <Franz.Sirl-kernel@lauterbach.com>

	* nscd/nscd_getgr_r.c: Change char to int to avoid compiler warning
	on platforms which default to unsigned chars.
	* nscd/nscd_getpw_r.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/sysdep.h: Undefine L before
	defining it.

1998-03-05  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* elf/Makefile (install-bin): Change = to += for sprof to install
	ldd also.
This commit is contained in:
Ulrich Drepper
1998-03-05 14:03:24 +00:00
parent 2eb45444a7
commit ea27835442
12 changed files with 214 additions and 56 deletions

View File

@ -69,6 +69,9 @@ static struct
__libc_lock_define_initialized (static, lock)
/* Nonzero if no NSCD is available. */
int __nss_nscd_not_available;
#if !defined DO_STATIC_NSS || defined PIC
/* String with revision number of the shared object files. */
static const char *const __nss_shlib_revision = LIBNSS_FILES_SO + 15;
@ -380,7 +383,7 @@ nss_lookup_function (service_user *ni, const char *fct_name)
/* Load the shared library. */
size_t shlen = (7 + strlen (ni->library->name) + 3
+ strlen (__nss_shlib_revision) + 1);
int saved_errno = errno;
struct do_open_args args;
args.shlib_name = __alloca (shlen);
args.ni = ni;
@ -393,8 +396,11 @@ nss_lookup_function (service_user *ni, const char *fct_name)
__nss_shlib_revision);
if (nss_dlerror_run (do_open, &args) != 0)
/* Failed to load the library. */
ni->library->lib_handle = (void *) -1l;
{
/* Failed to load the library. */
ni->library->lib_handle = (void *) -1l;
__set_errno (saved_errno);
}
}
if (ni->library->lib_handle == (void *) -1l)