[Darwin] Fix PR87030 and tidy config fragments.
authorIain Sandoe <iain@sandoe.co.uk>
Tue, 23 Jul 2019 20:31:26 +0000 (20:31 +0000)
committerIain Sandoe <iains@gcc.gnu.org>
Tue, 23 Jul 2019 20:31:26 +0000 (20:31 +0000)
This is about 32/64b host and multilib support across the range of Darwin
systems.

Prior to Darwin8 (OS X 10.4), the toolchains support only PowerPC and only 32b.

On Darwin8 it is possible to target a 64b multilib, but with support limited
to a few of the main libraries on the system (not a recommended configuration).

From Darwin9 to Darwin17 (OSX 10.5 to 10.13) it is possible to have either
32 or 64b hosted toolchains, with support for a 64 or 32b multilib respectively.

On Darwin9 the kernel is 32b, but with support for 64b executables, so it's
conventional to build a 32b host toolchain supporting a 64b multilib.  However
this is not enforced (merely a convention).

There is also some platform hardware supporting Darwin10/11 which is only 32b
and for which the same situation applies.  However, from Darwin10 to Darwin17,
the majority of platform hardware supports a 64b kernel and it's conventional
to build a 64b host toolchain with support for a 32b multilib.

On/from Darwin18 (OS X 10.14), the development headers (in the SDK) no longer
expose the interfaces for the 32b multilib support (although sufficient runtime
support remains installed that the testsuite can be run for a 32b multilib).

The PR is raised against this latter situation since the absence of exposed
interfaces causes a 'default' bootstrap fail regardless of the availability of
the runtimes.  Given the number of permutations, I felt it warranted a general
solution, especially since the current scheme of target headers and t-make
fragments has become somewhat messy.

The changes here enforce the single 32b PowerPC multilib for Darwin < 8 and the
single X86 64b multilib for Darwin >= 18.  This means that there is no longer
any need to configure Darwin18+ '--disable-multilib', but also that if you want
to use the ability to continue to test the compiler's 32b multilib there, you
need to make a configuration targeting an earlier OS version (and using the
SDK from that).

gcc/

PR bootstrap/87030
* config.gcc (*-*-darwin*): Don't include CPU t-darwin here.
(i[34567]86-*-darwin*): Adjust to use biarch files. Produce
an error message if i686-darwin configuration is attempted for
Darwin >= 18.
(x86_64-*-darwin*): Switch to single multilib for Darwin >= 18.
(powerpc-*-darwin*): Use biarch files where needed.
(powerpc64-*-darwin*): Likewise.
* config/i386/darwin.h (REAL_LIBGCC_SPEC): Move to new biarch file.
(DARWIN_ARCH_SPEC, DARWIN_SUBARCH_SPEC): Revise for default single
arch case.
* config/i386/darwin32-biarch.h: New.
* config/i386/darwin64.h: Rename.
* gcc/config/i386/darwin64-biarch.h: To this.
* config/i386/t-darwin: Rename.
* gcc/config/i386/t-darwin32-biarch: To this.
* config/i386/t-darwin64: Rename.
* gcc/config/i386/t-darwin64-biarch: To this.
* config/rs6000/darwin32-biarch.h: New.
* config/rs6000/darwin64.h: Rename.
* config/rs6000/darwin64-biarch.h: To this.
(DARWIN_ARCH_SPEC, DARWIN_SUBARCH_SPEC): Revise for default single
arch case.
* config/rs6000/t-darwin8: Rename.
* config/rs6000/t-darwin32-biarch: To this.
* config/rs6000/t-darwin64 Rename.
* config/rs6000/t-darwin64-biarch: To this.

From-SVN: r273746

17 files changed:
gcc/ChangeLog
gcc/config/i386/darwin.h
gcc/config/i386/darwin32-biarch.h [new file with mode: 0644]
gcc/config/i386/darwin64-biarch.h [new file with mode: 0644]
gcc/config/i386/darwin64.h [deleted file]
gcc/config/i386/t-darwin [deleted file]
gcc/config/i386/t-darwin32-biarch [new file with mode: 0644]
gcc/config/i386/t-darwin64 [deleted file]
gcc/config/i386/t-darwin64-biarch [new file with mode: 0644]
gcc/config/rs6000/darwin.h
gcc/config/rs6000/darwin32-biarch.h [new file with mode: 0644]
gcc/config/rs6000/darwin64-biarch.h [new file with mode: 0644]
gcc/config/rs6000/darwin64.h [deleted file]
gcc/config/rs6000/t-darwin32-biarch [new file with mode: 0644]
gcc/config/rs6000/t-darwin64 [deleted file]
gcc/config/rs6000/t-darwin64-biarch [new file with mode: 0644]
gcc/config/rs6000/t-darwin8 [deleted file]

index c6c0f4a70af727fc54bc0fc8b1e8fe0568d76053..16dda55f8e10dd9a2653e99ba262f0c3f0029213 100644 (file)
@@ -1,3 +1,33 @@
+2019-07-23  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR bootstrap/87030
+       * config.gcc (*-*-darwin*): Don't include CPU t-darwin here.
+       (i[34567]86-*-darwin*): Adjust to use biarch files. Produce
+       an error message if i686-darwin configuration is attempted for
+       Darwin >= 18.
+       (x86_64-*-darwin*): Switch to single multilib for Darwin >= 18.
+       (powerpc-*-darwin*): Use biarch files where needed.
+       (powerpc64-*-darwin*): Likewise.
+       * config/i386/darwin.h (REAL_LIBGCC_SPEC): Move to new biarch file.
+       (DARWIN_ARCH_SPEC, DARWIN_SUBARCH_SPEC): Revise for default single
+       arch case.
+       * config/i386/darwin32-biarch.h: New.
+       * config/i386/darwin64.h: Rename.
+       * gcc/config/i386/darwin64-biarch.h: To this.
+       * config/i386/t-darwin: Rename.
+       * gcc/config/i386/t-darwin32-biarch: To this.
+       * config/i386/t-darwin64: Rename.
+       * gcc/config/i386/t-darwin64-biarch: To this.
+       * config/rs6000/darwin32-biarch.h: New.
+       * config/rs6000/darwin64.h: Rename.
+       * config/rs6000/darwin64-biarch.h: To this.
+       (DARWIN_ARCH_SPEC, DARWIN_SUBARCH_SPEC): Revise for default single
+       arch case.
+       * config/rs6000/t-darwin8: Rename.
+       * config/rs6000/t-darwin32-biarch: To this.
+       * config/rs6000/t-darwin64 Rename.
+       * config/rs6000/t-darwin64-biarch: To this.
+
 2019-07-23  Martin Sebor  <msebor@redhat.com>
 
        * configure.ac (ACX_PROG_CXX_WARNING_OPTS): Revert r273311.
index 93bd5588b8870d9f6fc66cb3ef99844640587dfb..fea3f738543524c28b9089b4c02f88496d805f1d 100644 (file)
@@ -139,9 +139,6 @@ along with GCC; see the file COPYING3.  If not see
   " ASM_OPTIONS " -force_cpusubtype_ALL \
   %{static}" ASM_MMACOSX_VERSION_MIN_SPEC
 
-#define DARWIN_ARCH_SPEC "%{m64:x86_64;:i386}"
-#define DARWIN_SUBARCH_SPEC DARWIN_ARCH_SPEC
-
 #undef ENDFILE_SPEC
 #define ENDFILE_SPEC \
   "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
@@ -149,12 +146,15 @@ along with GCC; see the file COPYING3.  If not see
    %{mpc64:crtprec64.o%s} \
    %{mpc80:crtprec80.o%s}" TM_DESTRUCTOR
 
+#define DARWIN_ARCH_SPEC "x86_64"
+
+/* We default to x86_64 for single-arch builds, bi-arch overrides.  */
 #undef SUBTARGET_EXTRA_SPECS
 #define SUBTARGET_EXTRA_SPECS                                   \
   DARWIN_EXTRA_SPECS                                            \
-  { "darwin_arch", DARWIN_ARCH_SPEC },                          \
+  { "darwin_arch", DARWIN_ARCH_SPEC },                         \
   { "darwin_crt2", "" },                                        \
-  { "darwin_subarch", DARWIN_SUBARCH_SPEC },
+  { "darwin_subarch", DARWIN_ARCH_SPEC },
 
 /* The Darwin assembler mostly follows AT&T syntax.  */
 #undef ASSEMBLER_DIALECT
diff --git a/gcc/config/i386/darwin32-biarch.h b/gcc/config/i386/darwin32-biarch.h
new file mode 100644 (file)
index 0000000..b7f53bf
--- /dev/null
@@ -0,0 +1,32 @@
+/* Target definitions for i386 running Darwin.
+   Copyright (C) 2019 Free Software Foundation, Inc.
+   Contributed by Apple Computer Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3, or (at your option)
+any later version.
+
+GCC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING3.  If not see
+<http://www.gnu.org/licenses/>.  */
+
+#undef DARWIN_ARCH_SPEC
+#define DARWIN_ARCH_SPEC "%{m64:x86_64;:i386}"
+
+#undef  DARWIN_SUBARCH_SPEC
+#define DARWIN_SUBARCH_SPEC DARWIN_ARCH_SPEC
+
+#undef SUBTARGET_EXTRA_SPECS
+#define SUBTARGET_EXTRA_SPECS                                   \
+  DARWIN_EXTRA_SPECS                                            \
+  { "darwin_arch", DARWIN_ARCH_SPEC },                          \
+  { "darwin_crt2", "" },                                        \
+  { "darwin_subarch", DARWIN_SUBARCH_SPEC },
diff --git a/gcc/config/i386/darwin64-biarch.h b/gcc/config/i386/darwin64-biarch.h
new file mode 100644 (file)
index 0000000..ebd65f9
--- /dev/null
@@ -0,0 +1,58 @@
+/* Target definitions for x86_64 running Darwin.
+   Copyright (C) 2006-2019 Free Software Foundation, Inc.
+   Contributed by Apple Computer Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3, or (at your option)
+any later version.
+
+GCC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING3.  If not see
+<http://www.gnu.org/licenses/>.  */
+
+#undef  DARWIN_ARCH_SPEC
+#define DARWIN_ARCH_SPEC "%{m32:i386;:x86_64}"
+
+/* WORKAROUND pr80556:
+   For x86_64 Darwin10 and later, the unwinder is in libunwind (redirected
+   from libSystem).  This doesn't use the keymgr (see keymgr.c) and therefore
+   the calls that libgcc makes to obtain the KEYMGR_GCC3_DW2_OBJ_LIST are not
+   updated to include new images, and might not even be valid for a single
+   image.
+   Therefore, for 64b exes at least, we must use the libunwind implementation,
+   even when static-libgcc is specified.  We put libSystem first so that
+   unwinder symbols are satisfied from there. */
+#undef REAL_LIBGCC_SPEC
+#define REAL_LIBGCC_SPEC                                                  \
+   "%{static-libgcc|static:                                               \
+      %{!m32:%:version-compare(>= 10.6 mmacosx-version-min= -lSystem)}    \
+        -lgcc_eh -lgcc;                                                           \
+      shared-libgcc|fexceptions|fgnu-runtime:                             \
+       %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_s.10.4)       \
+       %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5)   \
+       %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4)     \
+       %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5)     \
+       -lgcc ;                                                            \
+      :%:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \
+       %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5)   \
+       %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4)     \
+       %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5)     \
+       -lgcc }"
+
+#undef  DARWIN_SUBARCH_SPEC
+#define DARWIN_SUBARCH_SPEC DARWIN_ARCH_SPEC
+
+#undef SUBTARGET_EXTRA_SPECS
+#define SUBTARGET_EXTRA_SPECS                                   \
+  DARWIN_EXTRA_SPECS                                            \
+  { "darwin_arch", DARWIN_ARCH_SPEC },                          \
+  { "darwin_crt2", "" },                                        \
+  { "darwin_subarch", DARWIN_SUBARCH_SPEC },
diff --git a/gcc/config/i386/darwin64.h b/gcc/config/i386/darwin64.h
deleted file mode 100644 (file)
index ebd65f9..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Target definitions for x86_64 running Darwin.
-   Copyright (C) 2006-2019 Free Software Foundation, Inc.
-   Contributed by Apple Computer Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-#undef  DARWIN_ARCH_SPEC
-#define DARWIN_ARCH_SPEC "%{m32:i386;:x86_64}"
-
-/* WORKAROUND pr80556:
-   For x86_64 Darwin10 and later, the unwinder is in libunwind (redirected
-   from libSystem).  This doesn't use the keymgr (see keymgr.c) and therefore
-   the calls that libgcc makes to obtain the KEYMGR_GCC3_DW2_OBJ_LIST are not
-   updated to include new images, and might not even be valid for a single
-   image.
-   Therefore, for 64b exes at least, we must use the libunwind implementation,
-   even when static-libgcc is specified.  We put libSystem first so that
-   unwinder symbols are satisfied from there. */
-#undef REAL_LIBGCC_SPEC
-#define REAL_LIBGCC_SPEC                                                  \
-   "%{static-libgcc|static:                                               \
-      %{!m32:%:version-compare(>= 10.6 mmacosx-version-min= -lSystem)}    \
-        -lgcc_eh -lgcc;                                                           \
-      shared-libgcc|fexceptions|fgnu-runtime:                             \
-       %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_s.10.4)       \
-       %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5)   \
-       %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4)     \
-       %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5)     \
-       -lgcc ;                                                            \
-      :%:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \
-       %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5)   \
-       %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4)     \
-       %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5)     \
-       -lgcc }"
-
-#undef  DARWIN_SUBARCH_SPEC
-#define DARWIN_SUBARCH_SPEC DARWIN_ARCH_SPEC
-
-#undef SUBTARGET_EXTRA_SPECS
-#define SUBTARGET_EXTRA_SPECS                                   \
-  DARWIN_EXTRA_SPECS                                            \
-  { "darwin_arch", DARWIN_ARCH_SPEC },                          \
-  { "darwin_crt2", "" },                                        \
-  { "darwin_subarch", DARWIN_SUBARCH_SPEC },
diff --git a/gcc/config/i386/t-darwin b/gcc/config/i386/t-darwin
deleted file mode 100644 (file)
index bf44504..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-MULTILIB_OPTIONS = m64
-MULTILIB_DIRNAMES = x86_64
diff --git a/gcc/config/i386/t-darwin32-biarch b/gcc/config/i386/t-darwin32-biarch
new file mode 100644 (file)
index 0000000..bf44504
--- /dev/null
@@ -0,0 +1,2 @@
+MULTILIB_OPTIONS = m64
+MULTILIB_DIRNAMES = x86_64
diff --git a/gcc/config/i386/t-darwin64 b/gcc/config/i386/t-darwin64
deleted file mode 100644 (file)
index 6a6b22f..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-MULTILIB_OPTIONS = m32
-MULTILIB_DIRNAMES = i386
diff --git a/gcc/config/i386/t-darwin64-biarch b/gcc/config/i386/t-darwin64-biarch
new file mode 100644 (file)
index 0000000..6a6b22f
--- /dev/null
@@ -0,0 +1,2 @@
+MULTILIB_OPTIONS = m32
+MULTILIB_DIRNAMES = i386
index 1bfb577750e105875257d2472f462d77cef909ee..ee44236961730c884727e95794c1af476de70f5f 100644 (file)
@@ -117,11 +117,10 @@ extern int darwin_emit_picsym_stub;
   %<faltivec %<fno-altivec " \
   DARWIN_CC1_SPEC
 
-#define DARWIN_ARCH_SPEC "%{m64:ppc64;:ppc}"
+/* Default to PPC for single arch builds.  */
+#define DARWIN_ARCH_SPEC "ppc"
 
 #define DARWIN_SUBARCH_SPEC "                  \
- %{m64: ppc64}                                 \
- %{!m64:                                       \
  %{mcpu=601:ppc601;                            \
    mcpu=603:ppc603;                            \
    mcpu=603e:ppc603;                           \
@@ -136,7 +135,7 @@ extern int darwin_emit_picsym_stub;
    mcpu=970:ppc970;                            \
    mcpu=power4:ppc970;                         \
    mcpu=G5:ppc970;                             \
-   :ppc}}"
+   :ppc}"
 
 /* We need to jam the crt to 10.5 for 10.6 (Rosetta) use.  */
 #undef DARWIN_CRT1_SPEC
diff --git a/gcc/config/rs6000/darwin32-biarch.h b/gcc/config/rs6000/darwin32-biarch.h
new file mode 100644 (file)
index 0000000..35ea075
--- /dev/null
@@ -0,0 +1,49 @@
+/* Target definitions for PowerPC running Darwin (Mac OS X).
+   Copyright (C) 2006-2019 Free Software Foundation, Inc.
+   Contributed by Apple Computer Inc.
+
+   This file is part of GCC.
+
+   GCC is free software; you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published
+   by the Free Software Foundation; either version 3, or (at your
+   option) any later version.
+
+   GCC is distributed in the hope that it will be useful, but WITHOUT
+   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
+   License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with GCC; see the file COPYING3.  If not see
+   <http://www.gnu.org/licenses/>.  */
+
+#undef DARWIN_ARCH_SPEC
+#define DARWIN_ARCH_SPEC "%{m64:ppc64;:ppc}"
+
+#undef DARWIN_SUBARCH_SPEC
+#define DARWIN_SUBARCH_SPEC "                  \
+ %{m64: ppc64}                                 \
+ %{!m64:                                       \
+ %{mcpu=601:ppc601;                            \
+   mcpu=603:ppc603;                            \
+   mcpu=603e:ppc603;                           \
+   mcpu=604:ppc604;                            \
+   mcpu=604e:ppc604e;                          \
+   mcpu=740:ppc750;                            \
+   mcpu=750:ppc750;                            \
+   mcpu=G3:ppc750;                             \
+   mcpu=7400:ppc7400;                          \
+   mcpu=G4:ppc7400;                            \
+   mcpu=7450:ppc7450;                          \
+   mcpu=970:ppc970;                            \
+   mcpu=power4:ppc970;                         \
+   mcpu=G5:ppc970;                             \
+   :ppc}}"
+
+#undef SUBTARGET_EXTRA_SPECS
+#define SUBTARGET_EXTRA_SPECS                  \
+  DARWIN_EXTRA_SPECS                            \
+  { "darwin_arch", DARWIN_ARCH_SPEC },         \
+  { "darwin_crt2", DARWIN_CRT2_SPEC },         \
+  { "darwin_subarch", DARWIN_SUBARCH_SPEC },
diff --git a/gcc/config/rs6000/darwin64-biarch.h b/gcc/config/rs6000/darwin64-biarch.h
new file mode 100644 (file)
index 0000000..9f72524
--- /dev/null
@@ -0,0 +1,37 @@
+/* Target definitions for PowerPC64 running Darwin (Mac OS X).
+   Copyright (C) 2006-2019 Free Software Foundation, Inc.
+   Contributed by Apple Computer Inc.
+
+   This file is part of GCC.
+
+   GCC is free software; you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published
+   by the Free Software Foundation; either version 3, or (at your
+   option) any later version.
+
+   GCC is distributed in the hope that it will be useful, but WITHOUT
+   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
+   License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with GCC; see the file COPYING3.  If not see
+   <http://www.gnu.org/licenses/>.  */
+
+#undef  TARGET_DEFAULT
+#define TARGET_DEFAULT (MASK_POWERPC64 | MASK_64BIT \
+                       | MASK_MULTIPLE | MASK_PPC_GFXOPT)
+
+#undef DARWIN_ARCH_SPEC
+#define DARWIN_ARCH_SPEC "%{m32:ppc;:ppc64}"
+
+/* Actually, there's really only 970 as an active option.  */
+#undef DARWIN_SUBARCH_SPEC
+#define DARWIN_SUBARCH_SPEC DARWIN_ARCH_SPEC
+
+#undef SUBTARGET_EXTRA_SPECS
+#define SUBTARGET_EXTRA_SPECS                  \
+  DARWIN_EXTRA_SPECS                            \
+  { "darwin_arch", DARWIN_ARCH_SPEC },         \
+  { "darwin_crt2", "" },                       \
+  { "darwin_subarch", DARWIN_SUBARCH_SPEC },
diff --git a/gcc/config/rs6000/darwin64.h b/gcc/config/rs6000/darwin64.h
deleted file mode 100644 (file)
index a131ff2..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Target definitions for PowerPC running Darwin (Mac OS X).
-   Copyright (C) 2006-2019 Free Software Foundation, Inc.
-   Contributed by Apple Computer Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 3, or (at your
-   option) any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING3.  If not see
-   <http://www.gnu.org/licenses/>.  */
-
-#undef  TARGET_DEFAULT
-#define TARGET_DEFAULT (MASK_POWERPC64 | MASK_64BIT \
-                       | MASK_MULTIPLE | MASK_PPC_GFXOPT)
-
-#undef DARWIN_ARCH_SPEC
-#define DARWIN_ARCH_SPEC "%{m32:ppc;:ppc64}"
-
-#undef DARWIN_SUBARCH_SPEC
-#define DARWIN_SUBARCH_SPEC DARWIN_ARCH_SPEC
-
-#undef DARWIN_CRT2_SPEC
-#define DARWIN_CRT2_SPEC ""
diff --git a/gcc/config/rs6000/t-darwin32-biarch b/gcc/config/rs6000/t-darwin32-biarch
new file mode 100644 (file)
index 0000000..2f3bb32
--- /dev/null
@@ -0,0 +1,3 @@
+# 64-bit libraries can only be built in Darwin 8.x or later.
+MULTILIB_OPTIONS = m64
+MULTILIB_DIRNAMES = ppc64
diff --git a/gcc/config/rs6000/t-darwin64 b/gcc/config/rs6000/t-darwin64
deleted file mode 100644 (file)
index b0a04c7..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-MULTILIB_OPTIONS = m32
-MULTILIB_DIRNAMES = ppc
diff --git a/gcc/config/rs6000/t-darwin64-biarch b/gcc/config/rs6000/t-darwin64-biarch
new file mode 100644 (file)
index 0000000..b0a04c7
--- /dev/null
@@ -0,0 +1,2 @@
+MULTILIB_OPTIONS = m32
+MULTILIB_DIRNAMES = ppc
diff --git a/gcc/config/rs6000/t-darwin8 b/gcc/config/rs6000/t-darwin8
deleted file mode 100644 (file)
index 2f3bb32..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-# 64-bit libraries can only be built in Darwin 8.x or later.
-MULTILIB_OPTIONS = m64
-MULTILIB_DIRNAMES = ppc64