public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] Restore XCOFF for DWARF on AIX.
@ 2022-09-07 11:45 Martin Liška
  2022-09-07 12:04 ` Richard Biener
  2022-09-07 13:43 ` David Edelsohn
  0 siblings, 2 replies; 5+ messages in thread
From: Martin Liška @ 2022-09-07 11:45 UTC (permalink / raw)
  To: gcc-patches; +Cc: David Edelsohn, Richard Biener

Hi.

The patch restores DWARF support for AIX target where XCOFF file container is used.
Verified before and after the patch, gcc119 machine (AIX) could not build any run-time library,
now it can.

Ready to be installed?
Thanks,
Martin

	PR bootstrap/106855

gcc/ChangeLog:

	* collect2.cc (scan_prog_file): Restore if XCOFF_DEBUGGING_INFO.
	* config/rs6000/rs6000.cc (rs6000_option_override_internal):
	  Restore usage of XCOFF_DEBUGGING_INFO.
	* config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Restore.
	* dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Restore support for
	  XCOFF_DEBUGGING_INFO.
	(dw2_asm_output_nstring): Likewise.
	(USE_LINKONCE_INDIRECT): Likewise.
	* dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise.
	(HAVE_XCOFF_DWARF_EXTRAS): Likewise.
	(output_fde): Likewise.
	(output_call_frame_info): Likewise.
	(have_macinfo): Likewise.
	(add_AT_loc_list): Likewise.
	(add_AT_view_list): Likewise.
	(output_compilation_unit_header): Likewise.
	(output_pubnames): Likewise.
	(output_aranges): Likewise.
	(output_line_info): Likewise.
	(output_macinfo): Likewise.
	(dwarf2out_finish): Likewise.
	(dwarf2out_early_finish): Likewise.
---
 gcc/collect2.cc             |   7 +++
 gcc/config/rs6000/rs6000.cc |   6 +++
 gcc/config/rs6000/xcoff.h   |   3 ++
 gcc/dwarf2asm.cc            |  13 +++--
 gcc/dwarf2out.cc            | 103 +++++++++++++++++++++++++-----------
 5 files changed, 97 insertions(+), 35 deletions(-)

diff --git a/gcc/collect2.cc b/gcc/collect2.cc
index 9715e8eee30..d81c7f28f16 100644
--- a/gcc/collect2.cc
+++ b/gcc/collect2.cc
@@ -2784,6 +2784,13 @@ scan_prog_file (const char *prog_name, scanpass which_pass,
 		      if ((name = ldgetname (ldptr, &symbol)) == NULL)
 			continue;		/* Should never happen.  */
 
+#ifdef XCOFF_DEBUGGING_INFO
+		      /* All AIX function names have a duplicate entry
+			 beginning with a dot.  */
+		      if (*name == '.')
+			++name;
+#endif
+
 		      switch (is_ctor_dtor (name))
 			{
 #if TARGET_AIX_VERSION
diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index 8b4edd281ca..7623d69a8c0 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -3821,6 +3821,12 @@ rs6000_option_override_internal (bool global_init_p)
   if (TARGET_DEBUG_REG || TARGET_DEBUG_TARGET)
     rs6000_print_isa_options (stderr, 0, "before defaults", rs6000_isa_flags);
 
+#ifdef XCOFF_DEBUGGING_INFO
+  /* For AIX default to 64-bit DWARF.  */
+  if (!OPTION_SET_P (dwarf_offset_size))
+    dwarf_offset_size = POINTER_SIZE_UNITS;
+#endif
+
   /* Handle explicit -mno-{altivec,vsx,power8-vector,power9-vector} and turn
      off all of the options that depend on those flags.  */
   ignore_masks = rs6000_disable_incompatible_switches ();
diff --git a/gcc/config/rs6000/xcoff.h b/gcc/config/rs6000/xcoff.h
index bafc57df59a..cd0f99cb9c6 100644
--- a/gcc/config/rs6000/xcoff.h
+++ b/gcc/config/rs6000/xcoff.h
@@ -21,6 +21,9 @@
 
 #define TARGET_OBJECT_FORMAT OBJECT_XCOFF
 
+/* The RS/6000 uses the XCOFF format.  */
+#define XCOFF_DEBUGGING_INFO 1
+
 /* Define if the object format being used is COFF or a superset.  */
 #define OBJECT_FORMAT_COFF
 
diff --git a/gcc/dwarf2asm.cc b/gcc/dwarf2asm.cc
index 7eac83f7b0f..274f574f25e 100644
--- a/gcc/dwarf2asm.cc
+++ b/gcc/dwarf2asm.cc
@@ -35,6 +35,10 @@ along with GCC; see the file COPYING3.  If not see
 #include "emit-rtl.h"
 #include "fold-const.h"
 
+#ifndef XCOFF_DEBUGGING_INFO
+#define XCOFF_DEBUGGING_INFO 0
+#endif
+
 \f
 /* Output an unaligned integer with the given value and size.  Prefer not
    to print a newline, since the caller may want to add a comment.  */
@@ -380,13 +384,16 @@ dw2_asm_output_nstring (const char *str, size_t orig_len,
 
   if (flag_debug_asm && comment)
     {
-      fputs ("\t.ascii \"", asm_out_file);
+      if (XCOFF_DEBUGGING_INFO)
+	fputs ("\t.byte \"", asm_out_file);
+      else
+	fputs ("\t.ascii \"", asm_out_file);
 
       for (i = 0; i < len; i++)
 	{
 	  int c = str[i];
 	  if (c == '\"')
-	    fputc ('\\', asm_out_file);
+	    fputc (XCOFF_DEBUGGING_INFO ? '\"' : '\\', asm_out_file);
 	  else if (c == '\\')
 	    fputc ('\\', asm_out_file);
 	  if (ISPRINT (c))
@@ -906,7 +913,7 @@ static GTY(()) hash_map<const char *, tree> *indirect_pool;
 static GTY(()) int dw2_const_labelno;
 
 #if defined(HAVE_GAS_HIDDEN)
-# define USE_LINKONCE_INDIRECT (SUPPORTS_ONE_ONLY)
+# define USE_LINKONCE_INDIRECT (SUPPORTS_ONE_ONLY && !XCOFF_DEBUGGING_INFO)
 #else
 # define USE_LINKONCE_INDIRECT 0
 #endif
diff --git a/gcc/dwarf2out.cc b/gcc/dwarf2out.cc
index e4183607ff8..2df75904022 100644
--- a/gcc/dwarf2out.cc
+++ b/gcc/dwarf2out.cc
@@ -105,6 +105,14 @@ static rtx_insn *cached_next_real_insn;
 static void dwarf2out_decl (tree);
 static bool is_redundant_typedef (const_tree);
 
+#ifndef XCOFF_DEBUGGING_INFO
+#define XCOFF_DEBUGGING_INFO 0
+#endif
+
+#ifndef HAVE_XCOFF_DWARF_EXTRAS
+#define HAVE_XCOFF_DWARF_EXTRAS 0
+#endif
+
 #ifdef VMS_DEBUGGING_INFO
 int vms_file_stats_name (const char *, long long *, long *, char *, int *);
 
@@ -600,11 +608,14 @@ output_fde (dw_fde_ref fde, bool for_eh, bool second,
 				  for_eh + j);
   ASM_GENERATE_INTERNAL_LABEL (l1, FDE_AFTER_SIZE_LABEL, for_eh + j);
   ASM_GENERATE_INTERNAL_LABEL (l2, FDE_END_LABEL, for_eh + j);
-  if (DWARF_INITIAL_LENGTH_SIZE - dwarf_offset_size == 4 && !for_eh)
-    dw2_asm_output_data (4, 0xffffffff, "Initial length escape value"
-			 " indicating 64-bit DWARF extension");
-  dw2_asm_output_delta (for_eh ? 4 : dwarf_offset_size, l2, l1,
-			"FDE Length");
+  if (!XCOFF_DEBUGGING_INFO || for_eh)
+    {
+      if (DWARF_INITIAL_LENGTH_SIZE - dwarf_offset_size == 4 && !for_eh)
+	dw2_asm_output_data (4, 0xffffffff, "Initial length escape value"
+			     " indicating 64-bit DWARF extension");
+      dw2_asm_output_delta (for_eh ? 4 : dwarf_offset_size, l2, l1,
+			    "FDE Length");
+    }
   ASM_OUTPUT_LABEL (asm_out_file, l1);
 
   if (for_eh)
@@ -801,11 +812,14 @@ output_call_frame_info (int for_eh)
   /* Output the CIE.  */
   ASM_GENERATE_INTERNAL_LABEL (l1, CIE_AFTER_SIZE_LABEL, for_eh);
   ASM_GENERATE_INTERNAL_LABEL (l2, CIE_END_LABEL, for_eh);
-  if (DWARF_INITIAL_LENGTH_SIZE - dwarf_offset_size == 4 && !for_eh)
-    dw2_asm_output_data (4, 0xffffffff,
-			 "Initial length escape value indicating 64-bit DWARF extension");
-  dw2_asm_output_delta (for_eh ? 4 : dwarf_offset_size, l2, l1,
-			"Length of Common Information Entry");
+  if (!XCOFF_DEBUGGING_INFO || for_eh)
+    {
+      if (DWARF_INITIAL_LENGTH_SIZE - dwarf_offset_size == 4 && !for_eh)
+	dw2_asm_output_data (4, 0xffffffff,
+	  "Initial length escape value indicating 64-bit DWARF extension");
+      dw2_asm_output_delta (for_eh ? 4 : dwarf_offset_size, l2, l1,
+			    "Length of Common Information Entry");
+    }
   ASM_OUTPUT_LABEL (asm_out_file, l1);
 
   /* Now that the CIE pointer is PC-relative for EH,
@@ -3665,7 +3679,8 @@ static GTY (()) vec<macinfo_entry, va_gc> *macinfo_table;
 /* True if .debug_macinfo or .debug_macros section is going to be
    emitted.  */
 #define have_macinfo \
-   (debug_info_level >= DINFO_LEVEL_VERBOSE \
+  ((!XCOFF_DEBUGGING_INFO || HAVE_XCOFF_DWARF_EXTRAS) \
+   && debug_info_level >= DINFO_LEVEL_VERBOSE \
    && !macinfo_table->is_empty ())
 
 /* Vector of dies for which we should generate .debug_ranges info.  */
@@ -4967,6 +4982,9 @@ add_AT_loc_list (dw_die_ref die, enum dwarf_attribute attr_kind, dw_loc_list_ref
 {
   dw_attr_node attr;
 
+  if (XCOFF_DEBUGGING_INFO && !HAVE_XCOFF_DWARF_EXTRAS)
+    return;
+
   attr.dw_attr = attr_kind;
   attr.dw_attr_val.val_class = dw_val_class_loc_list;
   attr.dw_attr_val.val_entry = NULL;
@@ -4990,6 +5008,9 @@ add_AT_view_list (dw_die_ref die, enum dwarf_attribute attr_kind)
 {
   dw_attr_node attr;
 
+  if (XCOFF_DEBUGGING_INFO && !HAVE_XCOFF_DWARF_EXTRAS)
+    return;
+
   attr.dw_attr = attr_kind;
   attr.dw_attr_val.val_class = dw_val_class_view_list;
   attr.dw_attr_val.val_entry = NULL;
@@ -11145,12 +11166,15 @@ output_dwarf_version ()
 static void
 output_compilation_unit_header (enum dwarf_unit_type ut)
 {
-  if (DWARF_INITIAL_LENGTH_SIZE - dwarf_offset_size == 4)
-    dw2_asm_output_data (4, 0xffffffff,
-      "Initial length escape value indicating 64-bit DWARF extension");
-  dw2_asm_output_data (dwarf_offset_size,
-		       next_die_offset - DWARF_INITIAL_LENGTH_SIZE,
-		       "Length of Compilation Unit Info");
+  if (!XCOFF_DEBUGGING_INFO)
+    {
+      if (DWARF_INITIAL_LENGTH_SIZE - dwarf_offset_size == 4)
+	dw2_asm_output_data (4, 0xffffffff,
+	  "Initial length escape value indicating 64-bit DWARF extension");
+      dw2_asm_output_data (dwarf_offset_size,
+			   next_die_offset - DWARF_INITIAL_LENGTH_SIZE,
+			   "Length of Compilation Unit Info");
+    }
 
   output_dwarf_version ();
   if (dwarf_version >= 5)
@@ -11659,11 +11683,14 @@ output_pubnames (vec<pubname_entry, va_gc> *names)
   unsigned long pubnames_length = size_of_pubnames (names);
   pubname_entry *pub;
 
-  if (DWARF_INITIAL_LENGTH_SIZE - dwarf_offset_size == 4)
-    dw2_asm_output_data (4, 0xffffffff,
-			 "Initial length escape value indicating 64-bit DWARF extension");
-  dw2_asm_output_data (dwarf_offset_size, pubnames_length,
-		       "Pub Info Length");
+  if (!XCOFF_DEBUGGING_INFO)
+    {
+      if (DWARF_INITIAL_LENGTH_SIZE - dwarf_offset_size == 4)
+	dw2_asm_output_data (4, 0xffffffff,
+	  "Initial length escape value indicating 64-bit DWARF extension");
+      dw2_asm_output_data (dwarf_offset_size, pubnames_length,
+			   "Pub Info Length");
+    }
 
   /* Version number for pubnames/pubtypes is independent of dwarf version.  */
   dw2_asm_output_data (2, 2, "DWARF pubnames/pubtypes version");
@@ -11738,11 +11765,14 @@ output_aranges (void)
   unsigned i;
   unsigned long aranges_length = size_of_aranges ();
   
-  if (DWARF_INITIAL_LENGTH_SIZE - dwarf_offset_size == 4)
-    dw2_asm_output_data (4, 0xffffffff,
-			 "Initial length escape value indicating 64-bit DWARF extension");
-  dw2_asm_output_data (dwarf_offset_size, aranges_length,
-		       "Length of Address Ranges Info");
+  if (!XCOFF_DEBUGGING_INFO)
+    {
+      if (DWARF_INITIAL_LENGTH_SIZE - dwarf_offset_size == 4)
+	dw2_asm_output_data (4, 0xffffffff,
+	  "Initial length escape value indicating 64-bit DWARF extension");
+      dw2_asm_output_data (dwarf_offset_size, aranges_length,
+			   "Length of Address Ranges Info");
+    }
 
   /* Version number for aranges is still 2, even up to DWARF5.  */
   dw2_asm_output_data (2, 2, "DWARF aranges version");
@@ -13036,11 +13066,14 @@ output_line_info (bool prologue_only)
   ASM_GENERATE_INTERNAL_LABEL (p2, LN_PROLOG_END_LABEL,
 			       output_line_info_generation++);
 
-  if (DWARF_INITIAL_LENGTH_SIZE - dwarf_offset_size == 4)
-    dw2_asm_output_data (4, 0xffffffff,
-			 "Initial length escape value indicating 64-bit DWARF extension");
-  dw2_asm_output_delta (dwarf_offset_size, l2, l1,
-			"Length of Source Line Info");
+  if (!XCOFF_DEBUGGING_INFO)
+    {
+      if (DWARF_INITIAL_LENGTH_SIZE - dwarf_offset_size == 4)
+	dw2_asm_output_data (4, 0xffffffff,
+	  "Initial length escape value indicating 64-bit DWARF extension");
+      dw2_asm_output_delta (dwarf_offset_size, l2, l1,
+			    "Length of Source Line Info");
+    }
 
   ASM_OUTPUT_LABEL (asm_out_file, l1);
 
@@ -29111,6 +29144,8 @@ output_macinfo (const char *debug_line_label, bool early_lto_debug)
   /* AIX Assembler inserts the length, so adjust the reference to match the
      offset expected by debuggers.  */
   strcpy (dl_section_ref, debug_line_label);
+  if (XCOFF_DEBUGGING_INFO)
+    strcat (dl_section_ref, DWARF_INITIAL_LENGTH_SIZE_STR);
 
   /* For .debug_macro emit the section header.  */
   if (!dwarf_strict || dwarf_version >= 5)
@@ -32315,6 +32350,8 @@ dwarf2out_finish (const char *filename)
   /* AIX Assembler inserts the length, so adjust the reference to match the
      offset expected by debuggers.  */
   strcpy (dl_section_ref, debug_line_section_label);
+  if (XCOFF_DEBUGGING_INFO)
+    strcat (dl_section_ref, DWARF_INITIAL_LENGTH_SIZE_STR);
 
   if (debug_info_level >= DINFO_LEVEL_TERSE)
     add_AT_lineptr (main_comp_unit_die, DW_AT_stmt_list,
@@ -33030,6 +33067,8 @@ dwarf2out_early_finish (const char *filename)
   /* AIX Assembler inserts the length, so adjust the reference to match the
      offset expected by debuggers.  */
   strcpy (dl_section_ref, debug_line_section_label);
+  if (XCOFF_DEBUGGING_INFO)
+    strcat (dl_section_ref, DWARF_INITIAL_LENGTH_SIZE_STR);
 
   if (debug_info_level >= DINFO_LEVEL_TERSE)
     add_AT_lineptr (comp_unit_die (), DW_AT_stmt_list, dl_section_ref);
-- 
2.37.3


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Restore XCOFF for DWARF on AIX.
  2022-09-07 11:45 [PATCH] Restore XCOFF for DWARF on AIX Martin Liška
@ 2022-09-07 12:04 ` Richard Biener
  2022-09-07 13:43 ` David Edelsohn
  1 sibling, 0 replies; 5+ messages in thread
From: Richard Biener @ 2022-09-07 12:04 UTC (permalink / raw)
  To: Martin Liška; +Cc: GCC Patches, David Edelsohn

On Wed, Sep 7, 2022 at 1:45 PM Martin Liška <mliska@suse.cz> wrote:
>
> Hi.
>
> The patch restores DWARF support for AIX target where XCOFF file container is used.
> Verified before and after the patch, gcc119 machine (AIX) could not build any run-time library,
> now it can.
>
> Ready to be installed?

OK.

Thanks,
Richard.

> Thanks,
> Martin
>
>         PR bootstrap/106855
>
> gcc/ChangeLog:
>
>         * collect2.cc (scan_prog_file): Restore if XCOFF_DEBUGGING_INFO.
>         * config/rs6000/rs6000.cc (rs6000_option_override_internal):
>           Restore usage of XCOFF_DEBUGGING_INFO.
>         * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Restore.
>         * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Restore support for
>           XCOFF_DEBUGGING_INFO.
>         (dw2_asm_output_nstring): Likewise.
>         (USE_LINKONCE_INDIRECT): Likewise.
>         * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise.
>         (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
>         (output_fde): Likewise.
>         (output_call_frame_info): Likewise.
>         (have_macinfo): Likewise.
>         (add_AT_loc_list): Likewise.
>         (add_AT_view_list): Likewise.
>         (output_compilation_unit_header): Likewise.
>         (output_pubnames): Likewise.
>         (output_aranges): Likewise.
>         (output_line_info): Likewise.
>         (output_macinfo): Likewise.
>         (dwarf2out_finish): Likewise.
>         (dwarf2out_early_finish): Likewise.
> ---
>  gcc/collect2.cc             |   7 +++
>  gcc/config/rs6000/rs6000.cc |   6 +++
>  gcc/config/rs6000/xcoff.h   |   3 ++
>  gcc/dwarf2asm.cc            |  13 +++--
>  gcc/dwarf2out.cc            | 103 +++++++++++++++++++++++++-----------
>  5 files changed, 97 insertions(+), 35 deletions(-)
>
> diff --git a/gcc/collect2.cc b/gcc/collect2.cc
> index 9715e8eee30..d81c7f28f16 100644
> --- a/gcc/collect2.cc
> +++ b/gcc/collect2.cc
> @@ -2784,6 +2784,13 @@ scan_prog_file (const char *prog_name, scanpass which_pass,
>                       if ((name = ldgetname (ldptr, &symbol)) == NULL)
>                         continue;               /* Should never happen.  */
>
> +#ifdef XCOFF_DEBUGGING_INFO
> +                     /* All AIX function names have a duplicate entry
> +                        beginning with a dot.  */
> +                     if (*name == '.')
> +                       ++name;
> +#endif
> +
>                       switch (is_ctor_dtor (name))
>                         {
>  #if TARGET_AIX_VERSION
> diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
> index 8b4edd281ca..7623d69a8c0 100644
> --- a/gcc/config/rs6000/rs6000.cc
> +++ b/gcc/config/rs6000/rs6000.cc
> @@ -3821,6 +3821,12 @@ rs6000_option_override_internal (bool global_init_p)
>    if (TARGET_DEBUG_REG || TARGET_DEBUG_TARGET)
>      rs6000_print_isa_options (stderr, 0, "before defaults", rs6000_isa_flags);
>
> +#ifdef XCOFF_DEBUGGING_INFO
> +  /* For AIX default to 64-bit DWARF.  */
> +  if (!OPTION_SET_P (dwarf_offset_size))
> +    dwarf_offset_size = POINTER_SIZE_UNITS;
> +#endif
> +
>    /* Handle explicit -mno-{altivec,vsx,power8-vector,power9-vector} and turn
>       off all of the options that depend on those flags.  */
>    ignore_masks = rs6000_disable_incompatible_switches ();
> diff --git a/gcc/config/rs6000/xcoff.h b/gcc/config/rs6000/xcoff.h
> index bafc57df59a..cd0f99cb9c6 100644
> --- a/gcc/config/rs6000/xcoff.h
> +++ b/gcc/config/rs6000/xcoff.h
> @@ -21,6 +21,9 @@
>
>  #define TARGET_OBJECT_FORMAT OBJECT_XCOFF
>
> +/* The RS/6000 uses the XCOFF format.  */
> +#define XCOFF_DEBUGGING_INFO 1
> +
>  /* Define if the object format being used is COFF or a superset.  */
>  #define OBJECT_FORMAT_COFF
>
> diff --git a/gcc/dwarf2asm.cc b/gcc/dwarf2asm.cc
> index 7eac83f7b0f..274f574f25e 100644
> --- a/gcc/dwarf2asm.cc
> +++ b/gcc/dwarf2asm.cc
> @@ -35,6 +35,10 @@ along with GCC; see the file COPYING3.  If not see
>  #include "emit-rtl.h"
>  #include "fold-const.h"
>
> +#ifndef XCOFF_DEBUGGING_INFO
> +#define XCOFF_DEBUGGING_INFO 0
> +#endif
> +
>
>  /* Output an unaligned integer with the given value and size.  Prefer not
>     to print a newline, since the caller may want to add a comment.  */
> @@ -380,13 +384,16 @@ dw2_asm_output_nstring (const char *str, size_t orig_len,
>
>    if (flag_debug_asm && comment)
>      {
> -      fputs ("\t.ascii \"", asm_out_file);
> +      if (XCOFF_DEBUGGING_INFO)
> +       fputs ("\t.byte \"", asm_out_file);
> +      else
> +       fputs ("\t.ascii \"", asm_out_file);
>
>        for (i = 0; i < len; i++)
>         {
>           int c = str[i];
>           if (c == '\"')
> -           fputc ('\\', asm_out_file);
> +           fputc (XCOFF_DEBUGGING_INFO ? '\"' : '\\', asm_out_file);
>           else if (c == '\\')
>             fputc ('\\', asm_out_file);
>           if (ISPRINT (c))
> @@ -906,7 +913,7 @@ static GTY(()) hash_map<const char *, tree> *indirect_pool;
>  static GTY(()) int dw2_const_labelno;
>
>  #if defined(HAVE_GAS_HIDDEN)
> -# define USE_LINKONCE_INDIRECT (SUPPORTS_ONE_ONLY)
> +# define USE_LINKONCE_INDIRECT (SUPPORTS_ONE_ONLY && !XCOFF_DEBUGGING_INFO)
>  #else
>  # define USE_LINKONCE_INDIRECT 0
>  #endif
> diff --git a/gcc/dwarf2out.cc b/gcc/dwarf2out.cc
> index e4183607ff8..2df75904022 100644
> --- a/gcc/dwarf2out.cc
> +++ b/gcc/dwarf2out.cc
> @@ -105,6 +105,14 @@ static rtx_insn *cached_next_real_insn;
>  static void dwarf2out_decl (tree);
>  static bool is_redundant_typedef (const_tree);
>
> +#ifndef XCOFF_DEBUGGING_INFO
> +#define XCOFF_DEBUGGING_INFO 0
> +#endif
> +
> +#ifndef HAVE_XCOFF_DWARF_EXTRAS
> +#define HAVE_XCOFF_DWARF_EXTRAS 0
> +#endif
> +
>  #ifdef VMS_DEBUGGING_INFO
>  int vms_file_stats_name (const char *, long long *, long *, char *, int *);
>
> @@ -600,11 +608,14 @@ output_fde (dw_fde_ref fde, bool for_eh, bool second,
>                                   for_eh + j);
>    ASM_GENERATE_INTERNAL_LABEL (l1, FDE_AFTER_SIZE_LABEL, for_eh + j);
>    ASM_GENERATE_INTERNAL_LABEL (l2, FDE_END_LABEL, for_eh + j);
> -  if (DWARF_INITIAL_LENGTH_SIZE - dwarf_offset_size == 4 && !for_eh)
> -    dw2_asm_output_data (4, 0xffffffff, "Initial length escape value"
> -                        " indicating 64-bit DWARF extension");
> -  dw2_asm_output_delta (for_eh ? 4 : dwarf_offset_size, l2, l1,
> -                       "FDE Length");
> +  if (!XCOFF_DEBUGGING_INFO || for_eh)
> +    {
> +      if (DWARF_INITIAL_LENGTH_SIZE - dwarf_offset_size == 4 && !for_eh)
> +       dw2_asm_output_data (4, 0xffffffff, "Initial length escape value"
> +                            " indicating 64-bit DWARF extension");
> +      dw2_asm_output_delta (for_eh ? 4 : dwarf_offset_size, l2, l1,
> +                           "FDE Length");
> +    }
>    ASM_OUTPUT_LABEL (asm_out_file, l1);
>
>    if (for_eh)
> @@ -801,11 +812,14 @@ output_call_frame_info (int for_eh)
>    /* Output the CIE.  */
>    ASM_GENERATE_INTERNAL_LABEL (l1, CIE_AFTER_SIZE_LABEL, for_eh);
>    ASM_GENERATE_INTERNAL_LABEL (l2, CIE_END_LABEL, for_eh);
> -  if (DWARF_INITIAL_LENGTH_SIZE - dwarf_offset_size == 4 && !for_eh)
> -    dw2_asm_output_data (4, 0xffffffff,
> -                        "Initial length escape value indicating 64-bit DWARF extension");
> -  dw2_asm_output_delta (for_eh ? 4 : dwarf_offset_size, l2, l1,
> -                       "Length of Common Information Entry");
> +  if (!XCOFF_DEBUGGING_INFO || for_eh)
> +    {
> +      if (DWARF_INITIAL_LENGTH_SIZE - dwarf_offset_size == 4 && !for_eh)
> +       dw2_asm_output_data (4, 0xffffffff,
> +         "Initial length escape value indicating 64-bit DWARF extension");
> +      dw2_asm_output_delta (for_eh ? 4 : dwarf_offset_size, l2, l1,
> +                           "Length of Common Information Entry");
> +    }
>    ASM_OUTPUT_LABEL (asm_out_file, l1);
>
>    /* Now that the CIE pointer is PC-relative for EH,
> @@ -3665,7 +3679,8 @@ static GTY (()) vec<macinfo_entry, va_gc> *macinfo_table;
>  /* True if .debug_macinfo or .debug_macros section is going to be
>     emitted.  */
>  #define have_macinfo \
> -   (debug_info_level >= DINFO_LEVEL_VERBOSE \
> +  ((!XCOFF_DEBUGGING_INFO || HAVE_XCOFF_DWARF_EXTRAS) \
> +   && debug_info_level >= DINFO_LEVEL_VERBOSE \
>     && !macinfo_table->is_empty ())
>
>  /* Vector of dies for which we should generate .debug_ranges info.  */
> @@ -4967,6 +4982,9 @@ add_AT_loc_list (dw_die_ref die, enum dwarf_attribute attr_kind, dw_loc_list_ref
>  {
>    dw_attr_node attr;
>
> +  if (XCOFF_DEBUGGING_INFO && !HAVE_XCOFF_DWARF_EXTRAS)
> +    return;
> +
>    attr.dw_attr = attr_kind;
>    attr.dw_attr_val.val_class = dw_val_class_loc_list;
>    attr.dw_attr_val.val_entry = NULL;
> @@ -4990,6 +5008,9 @@ add_AT_view_list (dw_die_ref die, enum dwarf_attribute attr_kind)
>  {
>    dw_attr_node attr;
>
> +  if (XCOFF_DEBUGGING_INFO && !HAVE_XCOFF_DWARF_EXTRAS)
> +    return;
> +
>    attr.dw_attr = attr_kind;
>    attr.dw_attr_val.val_class = dw_val_class_view_list;
>    attr.dw_attr_val.val_entry = NULL;
> @@ -11145,12 +11166,15 @@ output_dwarf_version ()
>  static void
>  output_compilation_unit_header (enum dwarf_unit_type ut)
>  {
> -  if (DWARF_INITIAL_LENGTH_SIZE - dwarf_offset_size == 4)
> -    dw2_asm_output_data (4, 0xffffffff,
> -      "Initial length escape value indicating 64-bit DWARF extension");
> -  dw2_asm_output_data (dwarf_offset_size,
> -                      next_die_offset - DWARF_INITIAL_LENGTH_SIZE,
> -                      "Length of Compilation Unit Info");
> +  if (!XCOFF_DEBUGGING_INFO)
> +    {
> +      if (DWARF_INITIAL_LENGTH_SIZE - dwarf_offset_size == 4)
> +       dw2_asm_output_data (4, 0xffffffff,
> +         "Initial length escape value indicating 64-bit DWARF extension");
> +      dw2_asm_output_data (dwarf_offset_size,
> +                          next_die_offset - DWARF_INITIAL_LENGTH_SIZE,
> +                          "Length of Compilation Unit Info");
> +    }
>
>    output_dwarf_version ();
>    if (dwarf_version >= 5)
> @@ -11659,11 +11683,14 @@ output_pubnames (vec<pubname_entry, va_gc> *names)
>    unsigned long pubnames_length = size_of_pubnames (names);
>    pubname_entry *pub;
>
> -  if (DWARF_INITIAL_LENGTH_SIZE - dwarf_offset_size == 4)
> -    dw2_asm_output_data (4, 0xffffffff,
> -                        "Initial length escape value indicating 64-bit DWARF extension");
> -  dw2_asm_output_data (dwarf_offset_size, pubnames_length,
> -                      "Pub Info Length");
> +  if (!XCOFF_DEBUGGING_INFO)
> +    {
> +      if (DWARF_INITIAL_LENGTH_SIZE - dwarf_offset_size == 4)
> +       dw2_asm_output_data (4, 0xffffffff,
> +         "Initial length escape value indicating 64-bit DWARF extension");
> +      dw2_asm_output_data (dwarf_offset_size, pubnames_length,
> +                          "Pub Info Length");
> +    }
>
>    /* Version number for pubnames/pubtypes is independent of dwarf version.  */
>    dw2_asm_output_data (2, 2, "DWARF pubnames/pubtypes version");
> @@ -11738,11 +11765,14 @@ output_aranges (void)
>    unsigned i;
>    unsigned long aranges_length = size_of_aranges ();
>
> -  if (DWARF_INITIAL_LENGTH_SIZE - dwarf_offset_size == 4)
> -    dw2_asm_output_data (4, 0xffffffff,
> -                        "Initial length escape value indicating 64-bit DWARF extension");
> -  dw2_asm_output_data (dwarf_offset_size, aranges_length,
> -                      "Length of Address Ranges Info");
> +  if (!XCOFF_DEBUGGING_INFO)
> +    {
> +      if (DWARF_INITIAL_LENGTH_SIZE - dwarf_offset_size == 4)
> +       dw2_asm_output_data (4, 0xffffffff,
> +         "Initial length escape value indicating 64-bit DWARF extension");
> +      dw2_asm_output_data (dwarf_offset_size, aranges_length,
> +                          "Length of Address Ranges Info");
> +    }
>
>    /* Version number for aranges is still 2, even up to DWARF5.  */
>    dw2_asm_output_data (2, 2, "DWARF aranges version");
> @@ -13036,11 +13066,14 @@ output_line_info (bool prologue_only)
>    ASM_GENERATE_INTERNAL_LABEL (p2, LN_PROLOG_END_LABEL,
>                                output_line_info_generation++);
>
> -  if (DWARF_INITIAL_LENGTH_SIZE - dwarf_offset_size == 4)
> -    dw2_asm_output_data (4, 0xffffffff,
> -                        "Initial length escape value indicating 64-bit DWARF extension");
> -  dw2_asm_output_delta (dwarf_offset_size, l2, l1,
> -                       "Length of Source Line Info");
> +  if (!XCOFF_DEBUGGING_INFO)
> +    {
> +      if (DWARF_INITIAL_LENGTH_SIZE - dwarf_offset_size == 4)
> +       dw2_asm_output_data (4, 0xffffffff,
> +         "Initial length escape value indicating 64-bit DWARF extension");
> +      dw2_asm_output_delta (dwarf_offset_size, l2, l1,
> +                           "Length of Source Line Info");
> +    }
>
>    ASM_OUTPUT_LABEL (asm_out_file, l1);
>
> @@ -29111,6 +29144,8 @@ output_macinfo (const char *debug_line_label, bool early_lto_debug)
>    /* AIX Assembler inserts the length, so adjust the reference to match the
>       offset expected by debuggers.  */
>    strcpy (dl_section_ref, debug_line_label);
> +  if (XCOFF_DEBUGGING_INFO)
> +    strcat (dl_section_ref, DWARF_INITIAL_LENGTH_SIZE_STR);
>
>    /* For .debug_macro emit the section header.  */
>    if (!dwarf_strict || dwarf_version >= 5)
> @@ -32315,6 +32350,8 @@ dwarf2out_finish (const char *filename)
>    /* AIX Assembler inserts the length, so adjust the reference to match the
>       offset expected by debuggers.  */
>    strcpy (dl_section_ref, debug_line_section_label);
> +  if (XCOFF_DEBUGGING_INFO)
> +    strcat (dl_section_ref, DWARF_INITIAL_LENGTH_SIZE_STR);
>
>    if (debug_info_level >= DINFO_LEVEL_TERSE)
>      add_AT_lineptr (main_comp_unit_die, DW_AT_stmt_list,
> @@ -33030,6 +33067,8 @@ dwarf2out_early_finish (const char *filename)
>    /* AIX Assembler inserts the length, so adjust the reference to match the
>       offset expected by debuggers.  */
>    strcpy (dl_section_ref, debug_line_section_label);
> +  if (XCOFF_DEBUGGING_INFO)
> +    strcat (dl_section_ref, DWARF_INITIAL_LENGTH_SIZE_STR);
>
>    if (debug_info_level >= DINFO_LEVEL_TERSE)
>      add_AT_lineptr (comp_unit_die (), DW_AT_stmt_list, dl_section_ref);
> --
> 2.37.3
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Restore XCOFF for DWARF on AIX.
  2022-09-07 11:45 [PATCH] Restore XCOFF for DWARF on AIX Martin Liška
  2022-09-07 12:04 ` Richard Biener
@ 2022-09-07 13:43 ` David Edelsohn
  2022-09-07 14:37   ` Martin Liška
  1 sibling, 1 reply; 5+ messages in thread
From: David Edelsohn @ 2022-09-07 13:43 UTC (permalink / raw)
  To: Martin Liška; +Cc: GCC Patches, Richard Biener

[-- Attachment #1: Type: text/plain, Size: 1815 bytes --]

On Wed, Sep 7, 2022 at 7:45 AM Martin Liška <mliska@suse.cz> wrote:

> Hi.
>
> The patch restores DWARF support for AIX target where XCOFF file container
> is used.
> Verified before and after the patch, gcc119 machine (AIX) could not build
> any run-time library,
> now it can.
>
> Ready to be installed?
> Thanks,
> Martin
>
>         PR bootstrap/106855
>
> gcc/ChangeLog:
>
>         * collect2.cc (scan_prog_file): Restore if XCOFF_DEBUGGING_INFO.
>         * config/rs6000/rs6000.cc (rs6000_option_override_internal):
>           Restore usage of XCOFF_DEBUGGING_INFO.
>         * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Restore.
>         * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Restore support for
>           XCOFF_DEBUGGING_INFO.
>         (dw2_asm_output_nstring): Likewise.
>         (USE_LINKONCE_INDIRECT): Likewise.
>         * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise.
>         (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
>         (output_fde): Likewise.
>         (output_call_frame_info): Likewise.
>         (have_macinfo): Likewise.
>         (add_AT_loc_list): Likewise.
>         (add_AT_view_list): Likewise.
>         (output_compilation_unit_header): Likewise.
>         (output_pubnames): Likewise.
>         (output_aranges): Likewise.
>         (output_line_info): Likewise.
>         (output_macinfo): Likewise.
>         (dwarf2out_finish): Likewise.
>         (dwarf2out_early_finish): Likewise.
>

Hi, Martin

Thanks for the quick patch to fix this.  This restores bootstrap, but does
not completely restore functionality.  This patch did not restore the
gcc/configure test for AIX assembler XCOFF feature support that defines
HAVE_XCOFF_DWARF_EXTRAS.  That part of the removal patch also needs to be
reverted.

Thanks, David

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Restore XCOFF for DWARF on AIX.
  2022-09-07 13:43 ` David Edelsohn
@ 2022-09-07 14:37   ` Martin Liška
  2022-09-07 15:49     ` Richard Biener
  0 siblings, 1 reply; 5+ messages in thread
From: Martin Liška @ 2022-09-07 14:37 UTC (permalink / raw)
  To: David Edelsohn; +Cc: GCC Patches, Richard Biener

[-- Attachment #1: Type: text/plain, Size: 2175 bytes --]

On 9/7/22 15:43, David Edelsohn wrote:
> On Wed, Sep 7, 2022 at 7:45 AM Martin Liška <mliska@suse.cz <mailto:mliska@suse.cz>> wrote:
> 
>     Hi.
> 
>     The patch restores DWARF support for AIX target where XCOFF file container is used.
>     Verified before and after the patch, gcc119 machine (AIX) could not build any run-time library,
>     now it can.
> 
>     Ready to be installed?
>     Thanks,
>     Martin
> 
>             PR bootstrap/106855
> 
>     gcc/ChangeLog:
> 
>             * collect2.cc (scan_prog_file): Restore if XCOFF_DEBUGGING_INFO.
>             * config/rs6000/rs6000.cc (rs6000_option_override_internal):
>               Restore usage of XCOFF_DEBUGGING_INFO.
>             * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Restore.
>             * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Restore support for
>               XCOFF_DEBUGGING_INFO.
>             (dw2_asm_output_nstring): Likewise.
>             (USE_LINKONCE_INDIRECT): Likewise.
>             * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise.
>             (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
>             (output_fde): Likewise.
>             (output_call_frame_info): Likewise.
>             (have_macinfo): Likewise.
>             (add_AT_loc_list): Likewise.
>             (add_AT_view_list): Likewise.
>             (output_compilation_unit_header): Likewise.
>             (output_pubnames): Likewise.
>             (output_aranges): Likewise.
>             (output_line_info): Likewise.
>             (output_macinfo): Likewise.
>             (dwarf2out_finish): Likewise.
>             (dwarf2out_early_finish): Likewise.
> 
> 
> Hi, Martin
> 
> Thanks for the quick patch to fix this.  This restores bootstrap, but does not completely restore functionality.  This patch did not restore the gcc/configure test for AIX assembler XCOFF feature support that defines HAVE_XCOFF_DWARF_EXTRAS.  That part of the removal patch also needs to be reverted.

Ohh! Sorry about that, should be restored by the following patch.

Ready for master?
Thanks,
Martin

> 
> Thanks, David
>  

[-- Attachment #2: 0001-Restore-detection-of-HAVE_XCOFF_DWARF_EXTRAS.patch --]
[-- Type: text/x-patch, Size: 3417 bytes --]

From d5f346c60157c4d2461ad9a77a47c9c5feebfaf2 Mon Sep 17 00:00:00 2001
From: Martin Liska <mliska@suse.cz>
Date: Wed, 7 Sep 2022 16:33:59 +0200
Subject: [PATCH] Restore detection of HAVE_XCOFF_DWARF_EXTRAS

gcc/ChangeLog:

	* configure.ac: Restore detection of  HAVE_XCOFF_DWARF_EXTRAS.
	* config/rs6000/rs6000.cc (HAVE_XCOFF_DWARF_EXTRAS): Reset it.
	* configure: Regenerate.
	* config.in: Regenerate.
---
 gcc/config.in               |  7 +++++++
 gcc/config/rs6000/rs6000.cc |  5 +++++
 gcc/configure               | 35 +++++++++++++++++++++++++++++++++++
 gcc/configure.ac            |  9 +++++++++
 4 files changed, 56 insertions(+)

diff --git a/gcc/config.in b/gcc/config.in
index 9c53319b544..6ac17be189e 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -2099,6 +2099,13 @@
 #endif
 
 
+/* Define if your assembler supports AIX debug frame section label reference.
+   */
+#ifndef USED_FOR_TARGET
+#undef HAVE_XCOFF_DWARF_EXTRAS
+#endif
+
+
 /* Define if you have a working <zstd.h> header file. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_ZSTD_H
diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index 7623d69a8c0..a656cb32a47 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -20946,6 +20946,11 @@ rs6000_elf_file_end (void)
 
 #if TARGET_XCOFF
 
+#ifndef HAVE_XCOFF_DWARF_EXTRAS
+#define HAVE_XCOFF_DWARF_EXTRAS 0
+#endif
+
+
 /* Names of bss and data sections.  These should be unique names for each
    compilation unit.  */
 
diff --git a/gcc/configure b/gcc/configure
index 39f7ed129a4..817d765568e 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -28142,6 +28142,41 @@ if test $gcc_cv_as_aix_ref = yes; then
 
 $as_echo "#define HAVE_AS_REF 1" >>confdefs.h
 
+fi
+
+
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for AIX DWARF location lists section support" >&5
+$as_echo_n "checking assembler for AIX DWARF location lists section support... " >&6; }
+if ${gcc_cv_as_aix_dwloc+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  gcc_cv_as_aix_dwloc=no
+  if test x$gcc_cv_as != x; then
+    $as_echo '	.dwsect 0xA0000
+	Lframe..0:
+		.vbyte 4,Lframe..0
+	  ' > conftest.s
+    if { ac_try='$gcc_cv_as $gcc_cv_as_flags  -o conftest.o conftest.s >&5'
+  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }
+    then
+	gcc_cv_as_aix_dwloc=yes
+    else
+      echo "configure: failed program was" >&5
+      cat conftest.s >&5
+    fi
+    rm -f conftest.o conftest.s
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_aix_dwloc" >&5
+$as_echo "$gcc_cv_as_aix_dwloc" >&6; }
+if test $gcc_cv_as_aix_dwloc = yes; then
+
+$as_echo "#define HAVE_XCOFF_DWARF_EXTRAS 1" >>confdefs.h
+
 fi
 
 	;;
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 50bb61c1b61..59f205a1781 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -5066,6 +5066,15 @@ LCF0:
 	  ],,
 	  [AC_DEFINE(HAVE_AS_REF, 1,
 	    [Define if your assembler supports .ref])])
+
+	gcc_GAS_CHECK_FEATURE([AIX DWARF location lists section support],
+	  gcc_cv_as_aix_dwloc,,
+	  [	.dwsect 0xA0000
+	Lframe..0:
+		.vbyte 4,Lframe..0
+	  ],,
+	  [AC_DEFINE(HAVE_XCOFF_DWARF_EXTRAS, 1,
+	    [Define if your assembler supports AIX debug frame section label reference.])])
 	;;
     esac
     ;;
-- 
2.37.3


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Restore XCOFF for DWARF on AIX.
  2022-09-07 14:37   ` Martin Liška
@ 2022-09-07 15:49     ` Richard Biener
  0 siblings, 0 replies; 5+ messages in thread
From: Richard Biener @ 2022-09-07 15:49 UTC (permalink / raw)
  To: Martin Liška; +Cc: David Edelsohn, GCC Patches



> Am 07.09.2022 um 16:37 schrieb Martin Liška <mliska@suse.cz>:
> 
> On 9/7/22 15:43, David Edelsohn wrote:
>> On Wed, Sep 7, 2022 at 7:45 AM Martin Liška <mliska@suse.cz <mailto:mliska@suse.cz>> wrote:
>> 
>>    Hi.
>> 
>>    The patch restores DWARF support for AIX target where XCOFF file container is used.
>>    Verified before and after the patch, gcc119 machine (AIX) could not build any run-time library,
>>    now it can.
>> 
>>    Ready to be installed?
>>    Thanks,
>>    Martin
>> 
>>            PR bootstrap/106855
>> 
>>    gcc/ChangeLog:
>> 
>>            * collect2.cc (scan_prog_file): Restore if XCOFF_DEBUGGING_INFO.
>>            * config/rs6000/rs6000.cc (rs6000_option_override_internal):
>>              Restore usage of XCOFF_DEBUGGING_INFO.
>>            * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Restore.
>>            * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Restore support for
>>              XCOFF_DEBUGGING_INFO.
>>            (dw2_asm_output_nstring): Likewise.
>>            (USE_LINKONCE_INDIRECT): Likewise.
>>            * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise.
>>            (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
>>            (output_fde): Likewise.
>>            (output_call_frame_info): Likewise.
>>            (have_macinfo): Likewise.
>>            (add_AT_loc_list): Likewise.
>>            (add_AT_view_list): Likewise.
>>            (output_compilation_unit_header): Likewise.
>>            (output_pubnames): Likewise.
>>            (output_aranges): Likewise.
>>            (output_line_info): Likewise.
>>            (output_macinfo): Likewise.
>>            (dwarf2out_finish): Likewise.
>>            (dwarf2out_early_finish): Likewise.
>> 
>> 
>> Hi, Martin
>> 
>> Thanks for the quick patch to fix this.  This restores bootstrap, but does not completely restore functionality.  This patch did not restore the gcc/configure test for AIX assembler XCOFF feature support that defines HAVE_XCOFF_DWARF_EXTRAS.  That part of the removal patch also needs to be reverted.
> 
> Ohh! Sorry about that, should be restored by the following patch.
> 
> Ready for master?

Ok.

Richard 


> Thanks,
> Martin
> 
>> 
>> Thanks, David
>>  
> <0001-Restore-detection-of-HAVE_XCOFF_DWARF_EXTRAS.patch>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-09-07 15:49 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-07 11:45 [PATCH] Restore XCOFF for DWARF on AIX Martin Liška
2022-09-07 12:04 ` Richard Biener
2022-09-07 13:43 ` David Edelsohn
2022-09-07 14:37   ` Martin Liška
2022-09-07 15:49     ` Richard Biener

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).