about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--elf/dl-open.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/elf/dl-open.c b/elf/dl-open.c
index 1051e22971..df9f29a5e5 100644
--- a/elf/dl-open.c
+++ b/elf/dl-open.c
@@ -622,6 +622,8 @@ dl_open_worker (void *a)
   _dl_debug_state ();
   LIBC_PROBE (map_complete, 3, args->nsid, r, new);
 
+  _dl_open_check (new);
+
   /* Print scope information.  */
   if (__glibc_unlikely (GLRO(dl_debug_mask) & DL_DEBUG_SCOPES))
     _dl_show_scope (new, 0);
@@ -702,12 +704,6 @@ dl_open_worker (void *a)
 	_dl_relocate_object (l, l->l_scope, reloc_mode, 0);
     }
 
-  /* NB: Workaround for [BZ #20839] which doesn't remove the NODELETE
-     object when _dl_open_check throws an exception.  Move it after
-     relocation to avoid leaving the NODELETE object mapped without
-     relocation.  */
-  _dl_open_check (new);
-
   /* This only performs the memory allocations.  The actual update of
      the scopes happens below, after failure is impossible.  */
   resize_scopes (new);