https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78336

            Bug ID: 78336
           Summary: powerpc-darwin bootstrap broken (probably by 241930)
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: iains at gcc dot gnu.org
  Target Milestone: ---

Darwin (currently) doesn't support symbol aliases, and doesn't define SET_AS_OP
(and doesn't define ASM_OUTPUT_DEF), also we handle ASM_WEAKEN_DECL
specifically to trap attempts to use non-weak aliases.

the following work-around patch fixes bootstrap for me, but not sure of the
best long-term fix (making symbol aliases work might now be feasible, but
certainly not in the scope of 7.0).

diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index b57e41c..197e515 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -35678,6 +35678,9 @@ rs6000_xcoff_encode_section_info (tree decl, rtx rtl,
int first)
 #endif /* HAVE_AS_TLS */
 #endif /* TARGET_XCOFF */

+/* If a port doesn't support symbol aliases, then ASM_OUTPUT_DEF might not
+   be defined.  */
+#ifdef ASM_OUTPUT_DEF
 void
 rs6000_asm_weaken_decl (FILE *stream, tree decl,
                        const char *name, const char *val)
@@ -35715,7 +35718,7 @@ rs6000_asm_weaken_decl (FILE *stream, tree decl,
        }
     }
 }
-
+#endif

 /* Return true if INSN should not be copied.  */

Reply via email to