From b11b2969a9a507d9e42c8029cfeb06b9bc41fceb Mon Sep 17 00:00:00 2001 From: Cl?ment Chigot Date: Thu, 22 Apr 2021 12:28:50 +0100 Subject: 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. --- binutils/ChangeLog | 5 +++++ binutils/od-xcoff.c | 10 +++++----- 2 files changed, 10 insertions(+), 5 deletions(-) (limited to 'binutils') diff --git a/binutils/ChangeLog b/binutils/ChangeLog index e15d036123..9a1fd5dae0 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2021-04-22 Clément Chigot + + * od-xcoff.c (dump_xcoff32_symbols): Adapt to new + aux structures. + 2021-04-21 Nick Lott PR 27672 diff --git a/binutils/od-xcoff.c b/binutils/od-xcoff.c index f0d566b190..02264503b1 100644 --- a/binutils/od-xcoff.c +++ b/binutils/od-xcoff.c @@ -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. */ -- cgit v1.2.3