diff options
author | Roland McGrath <roland@gnu.org> | 1995-11-16 02:37:06 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1995-11-16 02:37:06 +0000 |
commit | 8738e7f8b0c6d6254a31450dc528bddc8bdae0f7 (patch) | |
tree | 5e7e75d0e75996d699cfdeb09575a4fcb6e57c59 /elf/dl-lookup.c | |
parent | ec967c06ac7474fa58266ea309d6488ee3c53851 (diff) | |
download | glibc-8738e7f8b0c6d6254a31450dc528bddc8bdae0f7.tar.gz glibc-8738e7f8b0c6d6254a31450dc528bddc8bdae0f7.tar.xz glibc-8738e7f8b0c6d6254a31450dc528bddc8bdae0f7.zip |
* elf/dl-lookup.c (_dl_lookup_symbol): Undefined symbol is no cvs/libc-951116
error if weak. * elf/Makefile (default-rpath): New variable. (CPPFLAGS): Append -DDEFAULT_RPATH=.... * elf/dl-load.c (_dl_map_object): Use DEFAULT_RPATH instead of hard-coded "/lib:/usr/lib".
Diffstat (limited to 'elf/dl-lookup.c')
-rw-r--r-- | elf/dl-lookup.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/elf/dl-lookup.c b/elf/dl-lookup.c index 62802ddea7..cb337d47cd 100644 --- a/elf/dl-lookup.c +++ b/elf/dl-lookup.c @@ -22,7 +22,7 @@ Cambridge, MA 02139, USA. */ #include <link.h> #include <assert.h> -/* Search loaded objects' symbol tables for a definition of +/* Search loaded objects' symbol tables for a definition of the symbol UNDEF_NAME. If NOSELF is nonzero, then *REF cannot satisfy the reference itself; some different binding must be found. */ @@ -100,7 +100,7 @@ _dl_lookup_symbol (const char *undef_name, const Elf32_Sym **ref, } } - if (weak_value.s == NULL) + if (weak_value.s == NULL && ELF32_ST_BIND ((*ref)->st_info) != STB_WEAK) { const char msg[] = "undefined symbol: "; char buf[sizeof msg + strlen (undef_name)]; |