diff options
author | Cl?ment Chigot <clement.chigot@atos.net> | 2021-05-07 15:29:49 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2021-05-07 15:29:49 +0100 |
commit | 97834047e13bb9f30430331c27b11412a5ed6950 (patch) | |
tree | 99f794403e03440f9ed501fed952517bf98a4e9e /include | |
parent | Srop readelf's unwind decoder from complaining about x86 binaries. (diff) | |
download | binutils-gdb-97834047e13bb9f30430331c27b11412a5ed6950.tar.gz binutils-gdb-97834047e13bb9f30430331c27b11412a5ed6950.tar.bz2 binutils-gdb-97834047e13bb9f30430331c27b11412a5ed6950.zip |
Fix .dwsect generation for XCOFF. Handle .function generated with DWARF on XCOFF.
gas * config/tc-ppc.c (ppc_function): Update comment for
fifth argument.
(ppc_frob_symbol): Remove ppc_last_function check.
Make sure coff_last_function is reset.
Correctly set fsize when not provided in .function.
* testsuite/gas/ppc/aix.exp: New tests.
* testsuite/gas/ppc/xcoff-function-1-32.d: New test.
* testsuite/gas/ppc/xcoff-function-1-64.d: New test.
* testsuite/gas/ppc/xcoff-function-1.s: New test.
bfd * coff-rs6000.c (xcoff_dwsect_names): Add new DWARF
sections.
* coffgen.c (coff_pointerize_aux): Handle C_DWARF.
(coff_print_symbol): Likewise.
* libxcoff.h (XCOFF_DWSECT_NBR_NAMES): Update.
gas * config/obj-coff.c (coff_frob_symbol): Don't skip C_DWARF.
(coff_adjust_section_syms): Use corrext auxent for C_DWARF.
(coff_frob_section): Likewise.
* config/obj-coff.h (SA_GET_SECT_SCNLEN,
SA_GET_SECT_NRELOC, SA_SET_SECT_SCNLEN,
SA_SET_SECT_NRELOC) New defines.
(SET_SECTION_RELOCS): Adjust for C_DWARF.
* config/tc-ppc.c (ppc_frob_symbol): Don't skip C_DWARF.
(ppc_adjust_symtab): Reorder C_DWARF symbols.
* testsuite/gas/ppc/aix.exp: New tests.
* testsuite/gas/ppc/xcoff-dwsect-2-32.d: New test.
* testsuite/gas/ppc/xcoff-dwsect-2-64.d: New test.
* testsuite/gas/ppc/xcoff-dwsect-2.s: New test.
include * coff/internal.h (C_DWARF): New define.
* coff/xcoff.h (SSUBTYP_DWLOC, SSUBTYP_DWFRAME,
SSUBTYP_DWMAC): New defines.
Diffstat (limited to 'include')
-rw-r--r-- | include/ChangeLog | 6 | ||||
-rw-r--r-- | include/coff/internal.h | 1 | ||||
-rw-r--r-- | include/coff/xcoff.h | 3 |
3 files changed, 10 insertions, 0 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index 621045e90d7..e22f3e85452 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,9 @@ +2021-05-07 Clément Chigot <clement.chigot@atos.net> + + * coff/internal.h (C_DWARF): New define. + * coff/xcoff.h (SSUBTYP_DWLOC, SSUBTYP_DWFRAME, + SSUBTYP_DWMAC): New defines. + 2021-05-06 Stafford Horne <shorne@gmail.com> PR 21464 diff --git a/include/coff/internal.h b/include/coff/internal.h index e79bf560c6e..8d757acb333 100644 --- a/include/coff/internal.h +++ b/include/coff/internal.h @@ -348,6 +348,7 @@ struct internal_aouthdr #define C_BINCL 108 /* Marks beginning of include file */ #define C_EINCL 109 /* Marks ending of include file */ #define C_AIX_WEAKEXT 111 /* AIX definition of C_WEAKEXT. */ +#define C_DWARF 112 /* DWARF symbol */ #define C_NULL_VALUE 0x00de1e00 /* Value for a C_NULL deleted entry. */ diff --git a/include/coff/xcoff.h b/include/coff/xcoff.h index 3170542865b..2b61545d611 100644 --- a/include/coff/xcoff.h +++ b/include/coff/xcoff.h @@ -65,6 +65,9 @@ #define SSUBTYP_DWABREV 0x60000 #define SSUBTYP_DWSTR 0x70000 #define SSUBTYP_DWRNGES 0x80000 +#define SSUBTYP_DWLOC 0x90000 +#define SSUBTYP_DWFRAME 0xA0000 +#define SSUBTYP_DWMAC 0xB0000 /* XCOFF uses a special .loader section with type STYP_LOADER. */ #define STYP_LOADER 0x1000 |