summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@gnat.com>2012-10-16 22:46:59 +0000
committerJoel Brobecker <brobecker@gnat.com>2012-10-16 22:46:59 +0000
commit4aaf9487109548e6fd708e71ed4cf8fe243e2551 (patch)
tree66d20dc69d6cb619f78f6e75ecca9be6e9e4805a
parentfcb2731c82ebeaa3f2e4f29cf49d96523bafe544 (diff)
downloadbinutils-redhat-4aaf9487109548e6fd708e71ed4cf8fe243e2551.tar.gz
Dangling bfd pointer in archive cache.
This dandling pointer eventually leads to a crash when trying to run on ppc-aix a program using threading... bfd/ChangeLog: * coff-rs6000.c (rs6000coff_vec): Set _close_and_cleanup field to _bfd_archive_close_and_cleanup. (pmac_xcoff_vec): Likewise.
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/coff-rs6000.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 29cb5c6797..da4262b7ae 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2012-10-16 Joel Brobecker <brobecker@adacore.com>
+
+ * coff-rs6000.c (rs6000coff_vec): Set _close_and_cleanup
+ field to _bfd_archive_close_and_cleanup.
+ (pmac_xcoff_vec): Likewise.
+
2012-10-16 Sofiane Naci <sofiane.naci@arm.com>
* elf64-aarch64.c (elf64_aarch64_tls_howto_table): Fix shift value for
diff --git a/bfd/coff-rs6000.c b/bfd/coff-rs6000.c
index edbef95e15..0945aca0ef 100644
--- a/bfd/coff-rs6000.c
+++ b/bfd/coff-rs6000.c
@@ -4076,7 +4076,7 @@ const bfd_target rs6000coff_vec =
},
/* Generic */
- bfd_true,
+ _bfd_archive_close_and_cleanup,
bfd_true,
coff_new_section_hook,
_bfd_generic_get_section_contents,
@@ -4332,7 +4332,7 @@ const bfd_target pmac_xcoff_vec =
},
/* Generic */
- bfd_true,
+ _bfd_archive_close_and_cleanup,
bfd_true,
coff_new_section_hook,
_bfd_generic_get_section_contents,