about summary refs log tree commit diff
path: root/elf
diff options
context:
space:
mode:
Diffstat (limited to 'elf')
-rw-r--r--elf/dl-close.c6
-rw-r--r--elf/dl-open.c2
2 files changed, 4 insertions, 4 deletions
diff --git a/elf/dl-close.c b/elf/dl-close.c
index eaf29ea99f..6681c5d3e7 100644
--- a/elf/dl-close.c
+++ b/elf/dl-close.c
@@ -138,14 +138,14 @@ _dl_close (void *_map)
   /* Decrement the reference count.  */
   if (map->l_opencount > 1 || map->l_type != lt_loaded)
     {
+      /* Decrement the object's reference counter, not the dependencies'.  */
+      --map->l_opencount;
+
       /* There are still references to this object.  Do nothing more.  */
       if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0))
 	_dl_debug_printf ("\nclosing file=%s; opencount=%u\n",
 			  map->l_name, map->l_opencount);
 
-      /* Decrement the object's reference counter, not the dependencies'.  */
-      --map->l_opencount;
-
       /* If the direct use counter reaches zero we have to decrement
 	 all the dependencies' usage counter.  */
       if (map->l_direct_opencount == 0)
diff --git a/elf/dl-open.c b/elf/dl-open.c
index f1fcfbcaaf..0e06ca15d5 100644
--- a/elf/dl-open.c
+++ b/elf/dl-open.c
@@ -282,7 +282,7 @@ dl_open_worker (void *a)
       /* Let the user know about the opencount.  */
       if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0))
 	_dl_debug_printf ("opening file=%s [%lu]; opencount=%u\n\n",
-			  new->l_name, new->l_ns, new->l_opencount);
+			  new->l_name, new->l_ns, new->l_opencount + 1);
 
       /* If the user requested the object to be in the global namespace
 	 but it is not so far, add it now.  */