Harmonize and improve auxiliary entries support for XCOFF

bfd/ChangeLog:
	* coff-rs6000.c (_bfd_xcoff_swap_aux_in): Add errors for
	unsupported storage class or auxialiry entries.
	Improve and adapt to new aux structures.
	Add C_DWARF support.
	(_bfd_xcoff_swap_aux_out): Likewise.
	* coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Likewise.
	(_bfd_xcoff64_swap_aux_out): Likewise.

binutils/ChangeLog:
	* od-xcoff.c (dump_xcoff32_symbols): Adapt to new
	aux structures.

include/ChangeLog:
	* coff/internal.h (union internal_auxent):
	 Add x_sect structure.
	* coff/rs6000.h (union external_auxent): Rework to
	match official documentation.
	* coff/rs6k64.h (union external_auxent): Likewise.
	(_AUX_SECT): New define.
This commit is contained in:
Cl?ment Chigot
2021-04-22 12:28:50 +01:00
committed by Nick Clifton
parent d018cd835c
commit b11b2969a9
9 changed files with 326 additions and 302 deletions

View File

@ -838,13 +838,13 @@ dump_xcoff32_symbols (bfd *abfd, struct xcoff_dump *data)
{
/* Function aux entry (Do not translate). */
printf (" exptr: %08x fsize: %08x lnnoptr: %08x endndx: %u\n",
(unsigned)bfd_h_get_32 (abfd, aux->x_sym.x_tagndx),
(unsigned)bfd_h_get_32 (abfd, aux->x_fcn.x_exptr),
(unsigned)bfd_h_get_32
(abfd, aux->x_sym.x_misc.x_fsize),
(abfd, aux->x_fcn.x_fsize),
(unsigned)bfd_h_get_32
(abfd, aux->x_sym.x_fcnary.x_fcn.x_lnnoptr),
(abfd, aux->x_fcn.x_lnnoptr),
(unsigned)bfd_h_get_32
(abfd, aux->x_sym.x_fcnary.x_fcn.x_endndx));
(abfd, aux->x_fcn.x_endndx));
}
else if (j == 1 || (j == 0 && s->sym.numaux == 1))
{
@ -899,7 +899,7 @@ dump_xcoff32_symbols (bfd *abfd, struct xcoff_dump *data)
case C_FCN:
printf (" lnno: %u\n",
(unsigned)bfd_h_get_16
(abfd, aux->x_sym.x_misc.x_lnsz.x_lnno));
(abfd, aux->x_sym.x_lnno));
break;
default:
/* Do not translate - generic field name. */