aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2011-08-22 16:10:16 -0400
committerUlrich Drepper <drepper@gmail.com>2011-08-22 16:10:16 -0400
commit304c6e0b2c4d10a6cc2afdb42152aad1cf432c3a (patch)
treef2697c0731253059c56256775460abd4ce7b1167
parentCorrect cycle detection during dependency sorting (diff)
parentFix missing declaration (diff)
downloadglibc-304c6e0b2c4d10a6cc2afdb42152aad1cf432c3a.tar.gz
glibc-304c6e0b2c4d10a6cc2afdb42152aad1cf432c3a.tar.bz2
glibc-304c6e0b2c4d10a6cc2afdb42152aad1cf432c3a.zip
Merge branch 'master' of ssh://sourceware.org/git/glibc
Conflicts: ChangeLog
-rw-r--r--ChangeLog10
-rw-r--r--dlfcn/Makefile3
-rw-r--r--elf/dl-deps.c8
-rw-r--r--sysdeps/unix/sysv/linux/i386/scandir64.c1
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"