about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@redhat.com>2011-03-21 15:00:21 +0100
committerAndreas Schwab <schwab@redhat.com>2011-09-07 11:47:10 +0200
commite9f35ea6af4b3f9dae6d28e8a306550fd9b7aeb5 (patch)
treef6c5218fabbef5950fc5060727c54e73d278d795
parent435e230ccc4d7676f8cb25a61e4db92cc341f16d (diff)
downloadglibc-e9f35ea6af4b3f9dae6d28e8a306550fd9b7aeb5.tar.gz
glibc-e9f35ea6af4b3f9dae6d28e8a306550fd9b7aeb5.tar.xz
glibc-e9f35ea6af4b3f9dae6d28e8a306550fd9b7aeb5.zip
Revert "Don't crash when dependencies are missing"
This reverts commit f2092faf2b6bd491a1891d5d5e393a8bf85d01d7.
(cherry picked from commit f55ffe58e9754e54f2de20c67613e8a26a9878df)
-rw-r--r--ChangeLog5
-rw-r--r--elf/dl-deps.c8
2 files changed, 9 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index cc3943fc47..823cf21a9b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-08-22  Andreas Schwab  <schwab@redhat.com>
+
+	* elf/dl-deps.c (_dl_map_object_deps): Move check for missing
+	dependencies back to end of function.
+
 2011-08-16  Andreas Schwab  <schwab@redhat.com>
 
 	[BZ #11724]
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);
 }