2011-06-07 Tristan Gingold <gingold@adacore.com>

* xcoffread.c (dwarf2_xcoff_names): New variable.
	(aix_process_linenos): Add a guard.
	(xcoff_symfile_finish): Free dwarf2.
	(xcoff_initial_scan): Add dwarf2 support.
This commit is contained in:
Tristan Gingold 2011-06-07 12:31:07 +00:00
parent ee6404d34e
commit 316a8b2145
2 changed files with 36 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2011-06-07 Tristan Gingold <gingold@adacore.com>
* xcoffread.c (dwarf2_xcoff_names): New variable.
(aix_process_linenos): Add a guard.
(xcoff_symfile_finish): Free dwarf2.
(xcoff_initial_scan): Add dwarf2 support.
2011-06-06 Pedro Alves <pedro@codesourcery.com>
* infcall.c (run_inferior_call): Don't mask async. Instead force

View File

@ -152,6 +152,22 @@ struct coff_symfile_info
CORE_ADDR toc_offset;
};
/* XCOFF names for dwarf sections. There is no compressed sections. */
static const struct dwarf2_debug_sections dwarf2_xcoff_names = {
{ ".dwinfo", NULL },
{ ".dwabrev", NULL },
{ ".dwline", NULL },
{ ".dwloc", NULL },
{ NULL, NULL }, /* debug_macinfo */
{ ".dwstr", NULL },
{ ".dwrnges", NULL },
{ NULL, NULL }, /* debug_types */
{ ".dwframe", NULL },
{ NULL, NULL }, /* eh_frame */
{ NULL, NULL } /* gdb_index */
};
static void
bf_notfound_complaint (void)
{
@ -757,6 +773,10 @@ return_after_cleanup:
static void
aix_process_linenos (void)
{
/* There is no linenos to read if there are only dwarf info. */
if (this_symtab_psymtab == NULL)
return;
/* Process line numbers and enter them into line vector. */
process_linenos (last_source_start_addr, cur_src_end_addr);
}
@ -1910,6 +1930,8 @@ xcoff_symfile_finish (struct objfile *objfile)
inclTable = NULL;
}
inclIndx = inclLength = inclDepth = 0;
dwarf2_free_objfile (objfile);
}
@ -3022,6 +3044,13 @@ xcoff_initial_scan (struct objfile *objfile, int symfile_flags)
install_minimal_symbols (objfile);
/* DWARF2 sections. */
if (dwarf2_has_info (objfile, &dwarf2_xcoff_names))
dwarf2_build_psymtabs (objfile);
dwarf2_build_frame_info (objfile);
do_cleanups (back_to);
}