commit 86a08e4d3dcf7c0ff728083ae2b02f83ef836a09 Author: Joel Brobecker Date: Tue May 3 17:55:06 2011 +0200 Revert "elfread.c (elf_symtab_read): Stop memory leak" It turns out that this change is not correct, and it causes a crash on sparc-solaris while trying to load ld.so. This is because the memory is actually still referenced after elf_symtab_read completes. gdb/ChangeLog: * elfread.c (elf_symtab_read): Revert the previous change that tried to stop a memory leak. diff --git a/gdb/elfread.c b/gdb/elfread.c index b9cfa13..f36c93b 100644 --- a/gdb/elfread.c +++ b/gdb/elfread.c @@ -257,7 +257,6 @@ elf_symtab_read (struct objfile *objfile, int type, char *filesymname = ""; struct dbx_symfile_info *dbx = objfile->deprecated_sym_stab_info; int stripped = (bfd_get_symcount (objfile->obfd) == 0); - struct cleanup *back_to = make_cleanup (null_cleanup, NULL); for (i = 0; i < number_of_symbols; i++) { @@ -482,7 +481,6 @@ elf_symtab_read (struct objfile *objfile, int type, + (sizeof (CORE_ADDR) * max_index)); sectinfo = (struct stab_section_info *) xmalloc (size); - make_cleanup (xfree, sectinfo); memset (sectinfo, 0, size); sectinfo->num_sections = max_index; if (filesym == NULL) @@ -591,7 +589,6 @@ elf_symtab_read (struct objfile *objfile, int type, } } } - do_cleanups (back_to); } /* Build minimal symbols named `function@got.plt' (see SYMBOL_GOT_PLT_SUFFIX)