From 8e16317ca5eb77f3d568598ea1afebb2f52d949a Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Sun, 6 Apr 2003 08:15:58 +0000 Subject: [PATCH] (bfd_simple_get_relocated_section_contents): Disable free that leads to GDB vs BFD memory corruption. --- bfd/ChangeLog | 5 +++++ bfd/simple.c | 11 +++++++++++ 2 files changed, 16 insertions(+) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 5428fcfde3..1264aa384d 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2003-04-06 Andrew Cagney + + * simple.c (bfd_simple_get_relocated_section_contents): Disable + free that leads to GDB vs BFD memory corruption. + 2003-04-04 Stephane Carrez * elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Also adjust diff --git a/bfd/simple.c b/bfd/simple.c index a91d118e40..a247f1153b 100644 --- a/bfd/simple.c +++ b/bfd/simple.c @@ -261,8 +261,19 @@ bfd_simple_get_relocated_section_contents (abfd, sec, outbuf, symbol_table) if (contents == NULL && data != NULL) free (data); +#if 0 + /* NOTE: cagney/2003-04-05: This free, which was introduced on + 2003-03-31 to stop a memory leak, caused a memory corruption + between GDB and BFD. The problem, which is stabs specific, can + be identified by a bunch of failures in relocate.exp vis: + + gdb.base/relocate.exp: get address of static_bar + + Details of the problem can be found on the binutils@ mailing + list, see the discussion thread: "gdb.mi/mi-cli.exp failures". */ if (storage_needed != 0) free (symbol_table); +#endif bfd_map_over_sections (abfd, simple_restore_output_info, saved_offsets); free (saved_offsets);