2011-05-18  Tristan Gingold  <gingold@adacore.com>

	* libxcoff.h (struct xcoff_dwsect_name): New type.
	(XCOFF_DWSECT_NBR_NAMES): New macro.
	(xcoff_dwsect_names): Declare.
	* coffcode.h (sec_to_styp_flags): Handle xcoff dwarf sections.
	(styp_to_sec_flags): Ditto.
	(coff_new_section_hook): Ditto.
	(coff_slurp_symbol_table): Handle C_DWARF and C_INFO.
	* coff-rs6000.c (xcoff_dwsect_name): New variable.

gas
2011-05-18  Tristan Gingold  <gingold@adacore.com>

	* config/tc-ppc.h (ppc_tc_sy): Reorder fields.
	Put size into an union with dw.
	(OBJ_COPY_SYMBOL_ATTRIBUTES): Adjust.
	(ppc_xcoff_end): Declare.
	(md_end): Define.
	* config/tc-ppc.c: Add includes for xcoff.
	(ppc_dwsect): New function.
	(md_pseudo_table): Add dwsect.
	(struct dw_subsection): New.
	(dw_sections): New.
	(ppc_change_debug_section): New function.
	(ppc_xcoff_end): Ditto.
	(ppc_function): Adjust for ppc_tc_sy.
	(ppc_symbol_new_hook): Ditto.
	(ppc_frob_symbol): Ditto.
	(ppc_frob_section): Do not set vma for debug sections.
	(ppc_fix_adjustable): Return true for debug sections.
	* config/obj-coff.c: Add includes for xcoff.
	(coff_frob_section): Handle dwarf section.

gas/testsuite
2011-05-18  Tristan Gingold  <gingold@adacore.com>

	* gas/ppc/xcoff-dwsect-1-32.d: New test.
	* gas/ppc/xcoff-dwsect-1-64.d: Ditto.
	* gas/ppc/xcoff-dwsect-1.s: New file.
	* gas/ppc/aix.exp (do_align_test): Add tests.
This commit is contained in:
Tristan Gingold
2011-05-18 07:58:36 +00:00
parent cef6e90a3e
commit 85645aed85
13 changed files with 392 additions and 23 deletions

View File

@ -3862,6 +3862,18 @@ static unsigned long xcoff_glink_code[9] =
0x00000000, /* traceback table */
};
/* Table to convert DWARF flags to section names. */
const struct xcoff_dwsect_name xcoff_dwsect_names[] = {
{ SSUBTYP_DWINFO, ".dwinfo", TRUE },
{ SSUBTYP_DWLINE, ".dwline", TRUE },
{ SSUBTYP_DWPBNMS, ".dwpbnms", TRUE },
{ SSUBTYP_DWPBTYP, ".dwpbtyp", TRUE },
{ SSUBTYP_DWARNGE, ".dwarnge", TRUE },
{ SSUBTYP_DWABREV, ".dwabrev", FALSE },
{ SSUBTYP_DWSTR, ".dwstr", TRUE },
{ SSUBTYP_DWRNGES, ".dwrnges", TRUE }
};
static const struct xcoff_backend_data_rec bfd_xcoff_backend_data =
{