Call _close_and_cleanup in bfd_close_all_done
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 30 Aug 2017 13:17:28 +0000 (06:17 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 30 Aug 2017 13:22:52 +0000 (06:22 -0700)
PR binutils/22032
* opncls.c (bfd_close_all_done): Call _close_and_cleanup.

bfd/ChangeLog
bfd/opncls.c

index bf509b6c5067087b413b6af10149f40dfbe59c00..488226077a22c0537059bcca35007d6ee93dadf6 100644 (file)
@@ -1,3 +1,8 @@
+2017-08-30  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/22032
+       * opncls.c (bfd_close_all_done): Call _close_and_cleanup.
+
 2017-08-30  H.J. Lu  <hongjiu.lu@intel.com>
 
        * elf64-x86-64.c (elf_x86_64_next_tls_desc_index): Removed.
index 913341c9ffc371fb2f22cd3ea37b359d33ce110e..b99ae728c07b48ff356dc51f782cbb426f979fd3 100644 (file)
@@ -776,6 +776,9 @@ bfd_close_all_done (bfd *abfd)
 
   ret = bfd_cache_close (abfd);
 
+  if (! BFD_SEND (abfd, _close_and_cleanup, (abfd)))
+    return FALSE;
+
   if (ret)
     _maybe_make_executable (abfd);