aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog7
-rw-r--r--bfd/coff-rs6000.c26
-rw-r--r--bfd/coffcode.h4
-rw-r--r--bfd/libxcoff.h5
4 files changed, 27 insertions, 15 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 4dc3d68..ff44a7e 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,10 @@
+2021-07-14 Clément Chigot <clement.chigot@atos.net>
+
+ * libxcoff.h (struct xcoff_dwsect_name): Add DWARF name.
+ * coff-rs6000.c (xcoff_dwsect_names): Update.
+ * coffcode.h (sec_to_styp_flags): Likewise.
+ (coff_new_section_hook): Likewise.
+
2021-07-10 Alan Modra <amodra@gmail.com>
* dwarf2.c (read_address): Remove accidental commit.
diff --git a/bfd/coff-rs6000.c b/bfd/coff-rs6000.c
index a1c62d4..689f9f5 100644
--- a/bfd/coff-rs6000.c
+++ b/bfd/coff-rs6000.c
@@ -4265,20 +4265,22 @@ static const unsigned long xcoff_glink_code[9] =
0x00000000, /* traceback table */
};
-/* Table to convert DWARF flags to section names. */
+/* Table to convert DWARF flags to section names.
+ Remember to update binutils/dwarf.c:debug_displays
+ if new DWARF sections are supported by XCOFF. */
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 },
- { SSUBTYP_DWLOC, ".dwloc", true },
- { SSUBTYP_DWFRAME, ".dwframe", true },
- { SSUBTYP_DWMAC, ".dwmac", true }
+ { SSUBTYP_DWINFO, ".dwinfo", ".debug_info", true },
+ { SSUBTYP_DWLINE, ".dwline", ".debug_line", true },
+ { SSUBTYP_DWPBNMS, ".dwpbnms", ".debug_pubnames", true },
+ { SSUBTYP_DWPBTYP, ".dwpbtyp", ".debug_pubtypes", true },
+ { SSUBTYP_DWARNGE, ".dwarnge", ".debug_aranges", true },
+ { SSUBTYP_DWABREV, ".dwabrev", ".debug_abbrev", false },
+ { SSUBTYP_DWSTR, ".dwstr", ".debug_str", true },
+ { SSUBTYP_DWRNGES, ".dwrnges", ".debug_ranges", true },
+ { SSUBTYP_DWLOC, ".dwloc", ".debug_loc", true },
+ { SSUBTYP_DWFRAME, ".dwframe", ".debug_frame", true },
+ { SSUBTYP_DWMAC, ".dwmac", ".debug_macro", true }
};
/* For generic entry points. */
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index f65f335..9b8798c 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -577,7 +577,7 @@ sec_to_styp_flags (const char *sec_name, flagword sec_flags)
int i;
for (i = 0; i < XCOFF_DWSECT_NBR_NAMES; i++)
- if (!strcmp (sec_name, xcoff_dwsect_names[i].name))
+ if (!strcmp (sec_name, xcoff_dwsect_names[i].xcoff_name))
{
styp_flags = STYP_DWARF | xcoff_dwsect_names[i].flag;
break;
@@ -1809,7 +1809,7 @@ coff_new_section_hook (bfd * abfd, asection * section)
for (i = 0; i < XCOFF_DWSECT_NBR_NAMES; i++)
if (strcmp (bfd_section_name (section),
- xcoff_dwsect_names[i].name) == 0)
+ xcoff_dwsect_names[i].xcoff_name) == 0)
{
section->alignment_power = 0;
sclass = C_DWARF;
diff --git a/bfd/libxcoff.h b/bfd/libxcoff.h
index 2eeb503..4556a38 100644
--- a/bfd/libxcoff.h
+++ b/bfd/libxcoff.h
@@ -244,7 +244,10 @@ struct xcoff_dwsect_name {
unsigned int flag;
/* Corresponding XCOFF section name. */
- const char *name;
+ const char *xcoff_name;
+
+ /* Corresponding DWARF section name. */
+ const char *dwarf_name;
/* True if size must be prepended. */
bool def_size;