2011-12-15 Iain Sandoe <iains@gcc.gnu.org>
authorTristan Gingold <gingold@adacore.com>
Thu, 15 Dec 2011 14:04:52 +0000 (14:04 +0000)
committerTristan Gingold <gingold@adacore.com>
Thu, 15 Dec 2011 14:04:52 +0000 (14:04 +0000)
* mach-o.c (bfd_mach_o_mkobject_init): Initialize dyn_reloc_cache.
(bfd_mach_o_close_and_cleanup): Only cleanup Mach-O private data
for object files.

bfd/ChangeLog
bfd/mach-o.c

index 4c0c375310d2e57b7f76f69b9a21fd2588f9bdee..8acd171c3abba37a6e59a41d9018c839c1972be8 100644 (file)
@@ -1,3 +1,9 @@
+2011-12-15  Iain Sandoe  <iains@gcc.gnu.org>
+
+       * mach-o.c (bfd_mach_o_mkobject_init): Initialize dyn_reloc_cache.
+       (bfd_mach_o_close_and_cleanup): Only cleanup Mach-O private data
+       for object files.
+
 2011-12-15  Shinichiro Hamaji  <shinichiro.hamaji@gmail.com>
 
        * mach-o.c (bfd_mach_o_canonicalize_reloc): Update relocation
index 182f0efc2dfdd1f6eaca54d5bbe1c88f434e2edd..325cf6132925d51cede45dac6faff3a4e5022508 100644 (file)
@@ -3202,6 +3202,7 @@ bfd_mach_o_mkobject_init (bfd *abfd)
   mdata->commands = NULL;
   mdata->nsects = 0;
   mdata->sections = NULL;
+  mdata->dyn_reloc_cache = NULL;
 
   return TRUE;
 }
@@ -3765,9 +3766,10 @@ bfd_mach_o_close_and_cleanup (bfd *abfd)
 {
   bfd_mach_o_data_struct *mdata = bfd_mach_o_get_data (abfd);
   if (bfd_get_format (abfd) == bfd_object && mdata != NULL)
-    _bfd_dwarf2_cleanup_debug_info (abfd, &mdata->dwarf2_find_line_info);
-
-  bfd_mach_o_free_cached_info (abfd);
+    {
+      _bfd_dwarf2_cleanup_debug_info (abfd, &mdata->dwarf2_find_line_info);
+      bfd_mach_o_free_cached_info (abfd);
+    }
 
   return _bfd_generic_close_and_cleanup (abfd);
 }