aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/mach-o.c8
2 files changed, 11 insertions, 3 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 4c0c375..8acd171 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -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
diff --git a/bfd/mach-o.c b/bfd/mach-o.c
index 182f0ef..325cf61 100644
--- a/bfd/mach-o.c
+++ b/bfd/mach-o.c
@@ -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);
}