diff options
-rw-r--r-- | ChangeLog | 12 | ||||
-rw-r--r-- | elf/dl-load.c | 10 | ||||
-rw-r--r-- | include/features.h | 10 |
3 files changed, 20 insertions, 12 deletions
@@ -1,3 +1,13 @@ +2001-10-31 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-load.c (_dl_map_object): Make code a bit more compact by + avoiding unnecessary duplication. + +2001-10-31 Jakub Jelinek <jakub@redhat.com> + + * elf/dl-load.c (_dl_map_object): If library was found using + LD_LIBRARY_PATH, don't try RUNPATH list. + 2001-10-31 Martin Schwidefsky <schwidefsky@de.ibm.com> * sysdeps/unix/sysv/linux/s390/s390-32/register-dump (REGISTER_DUMP): @@ -37,7 +47,7 @@ * sysdeps/ieee754/dbl-64/mpa.h: Add prototypes for internal functions. -2001-10-29 Kevin Ryde <user42@zip.com.au> +2001-10-29 Kevin Ryde <user42@zip.com.au> * manual/stdio.texi (Integer Conversions): Corrections to sample printf output, clarify `#' behaviour on 0. diff --git a/elf/dl-load.c b/elf/dl-load.c index 3e5ddc0..c712a7e 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -1608,7 +1608,8 @@ _dl_map_object (struct link_map *loader, const char *name, int preloaded, &realname, &fb); /* Look at the RUNPATH information for this binary. */ - if (loader != NULL && loader->l_runpath_dirs.dirs != (void *) -1) + if (fd == -1 && loader != NULL + && loader->l_runpath_dirs.dirs != (void *) -1) { if (loader->l_runpath_dirs.dirs == NULL) { @@ -1622,13 +1623,10 @@ _dl_map_object (struct link_map *loader, const char *name, int preloaded, + loader->l_info[DT_RUNPATH]->d_un.d_val); decompose_rpath (&loader->l_runpath_dirs, (const char *) ptrval, loader, "RUNPATH"); - - if (loader->l_runpath_dirs.dirs != (void *) -1) - fd = open_path (name, namelen, preloaded, - &loader->l_runpath_dirs, &realname, &fb); } } - else if (loader->l_runpath_dirs.dirs != (void *) -1) + + if (loader->l_runpath_dirs.dirs != (void *) -1) fd = open_path (name, namelen, preloaded, &loader->l_runpath_dirs, &realname, &fb); } diff --git a/include/features.h b/include/features.h index 08a17bb..2e16874 100644 --- a/include/features.h +++ b/include/features.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991,92,93,95,96,97,98,99,2000,2001 Free Software Foundation, Inc. +/* Copyright (C) 1991-1993, 1995-2000, 2001 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -243,7 +243,7 @@ #define __STDC_IEC_559__ 1 #define __STDC_IEC_559_COMPLEX__ 1 -/* wchar_t uses ISO 10646-1 (2nd ed., published 2000-09-15) / Unicode 3.0. */ +/* wchar_t uses ISO 10646-1 (2nd ed., published 2000-09-15) / Unicode 3.1. */ #define __STDC_ISO_10646__ 200009L /* This macro indicates that the installed library is the GNU C Library. @@ -279,9 +279,9 @@ /* This is here only because every header file already includes this one. */ #ifndef __ASSEMBLER__ -#ifndef _SYS_CDEFS_H -# include <sys/cdefs.h> -#endif +# ifndef _SYS_CDEFS_H +# include <sys/cdefs.h> +# endif /* If we don't have __REDIRECT, prototypes will be missing if __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64]. */ |