diff options
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | dlfcn/Makefile | 3 | ||||
-rw-r--r-- | elf/dl-deps.c | 8 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/scandir64.c | 1 |
4 files changed, 17 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog index 1945002ff4..60814a83d3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -13,6 +13,16 @@ * elf/tst-initorder2.c: New file. * elf/tst-initorder2.exp: New file. +2011-08-22 Andreas Schwab <schwab@redhat.com> + + * sysdeps/unix/sysv/linux/i386/scandir64.c: Include <string.h>. + + * elf/dl-deps.c (_dl_map_object_deps): Move check for missing + dependencies back to end of function. + + * dlfcn/Makefile (LDLIBS-bug-atexit3-lib.so): Readd + $(elfobjdir)/ld.so. + 2011-08-21 Ulrich Drepper <drepper@gmail.com> * sysdeps/unix/sysv/linux/x86_64/gettimeofday.S: Removed. diff --git a/dlfcn/Makefile b/dlfcn/Makefile index 578bc3ffe3..dd4fb83dd5 100644 --- a/dlfcn/Makefile +++ b/dlfcn/Makefile @@ -124,7 +124,8 @@ $(objpfx)bug-atexit1.out: $(objpfx)bug-atexit1-lib.so $(objpfx)bug-atexit2: $(libdl) $(objpfx)bug-atexit2.out: $(objpfx)bug-atexit2-lib.so -LDLIBS-bug-atexit3-lib.so = -lstdc++ -lgcc_eh $(common-objpfx)libc_nonshared.a +LDLIBS-bug-atexit3-lib.so = -lstdc++ -lgcc_eh $(elfobjdir)/ld.so \ + $(common-objpfx)libc_nonshared.a $(objpfx)bug-atexit3: $(libdl) $(objpfx)bug-atexit3.out: $(objpfx)bug-atexit3-lib.so diff --git a/elf/dl-deps.c b/elf/dl-deps.c index cc0023d381..7fa4d691c3 100644 --- a/elf/dl-deps.c +++ b/elf/dl-deps.c @@ -491,10 +491,6 @@ _dl_map_object_deps (struct link_map *map, if (errno == 0 && errno_saved != 0) __set_errno (errno_saved); - if (errno_reason) - _dl_signal_error (errno_reason == -1 ? 0 : errno_reason, objname, - NULL, errstring); - struct link_map **old_l_initfini = NULL; if (map->l_initfini != NULL && map->l_type == lt_loaded) { @@ -691,4 +687,8 @@ Filters not supported with LD_TRACE_PRELINKING")); } if (old_l_initfini != NULL) map->l_orig_initfini = old_l_initfini; + + if (errno_reason) + _dl_signal_error (errno_reason == -1 ? 0 : errno_reason, objname, + NULL, errstring); } diff --git a/sysdeps/unix/sysv/linux/i386/scandir64.c b/sysdeps/unix/sysv/linux/i386/scandir64.c index ae1970e1c3..3953f464bf 100644 --- a/sysdeps/unix/sysv/linux/i386/scandir64.c +++ b/sysdeps/unix/sysv/linux/i386/scandir64.c @@ -35,6 +35,7 @@ versioned_symbol (libc, __scandir64, scandir64, GLIBC_2_2); #if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2) +# include <string.h> # include <errno.h> # include "olddirent.h" |