This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Darwin, committed] Fix PR87030 and tidy config fragments.
- From: Iain Sandoe <iain at sandoe dot co dot uk>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Cc: Mike Stump <mrs at gcc dot gnu dot org>, Uros Bizjak <ubizjak at gmail dot com>, Segher Boessenkool <segher at kernel dot crashing dot org>, Dominique d'Humières <dominiq at lps dot ens dot fr>
- Date: Wed, 24 Jul 2019 00:58:13 +0100
- Subject: Re: [Darwin, committed] Fix PR87030 and tidy config fragments.
- References: <F1DF6443-D766-465A-A61F-A73D928FB832@sandoe.co.uk>
> On 23 Jul 2019, at 21:31, Iain Sandoe <iain@sandoe.co.uk> wrote:
>
> 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).
>
> It has been tested across a range of Darwin systems (back to Darwin9, since self-
> hosting on Darwin8 and 7 is currently in need of some tweaks).
>
> applied to mainline
> thanks
> Iain
I missed committing the changes to one file and some comments, and failed to add the
patch here too. corrected below.
Iain
>
> 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
diff --git a/gcc/config/i386/darwin.h b/gcc/config/i386/darwin.h
index 93bd5588b8..fea3f73854 100644
--- a/gcc/config/i386/darwin.h
+++ b/gcc/config/i386/darwin.h
@@ -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
index 0000000000..b7f53bf2c8
--- /dev/null
+++ b/gcc/config/i386/darwin32-biarch.h
@@ -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.h b/gcc/config/i386/darwin64-biarch.h
similarity index 100%
rename from gcc/config/i386/darwin64.h
rename to gcc/config/i386/darwin64-biarch.h
diff --git a/gcc/config/i386/t-darwin b/gcc/config/i386/t-darwin32-biarch
similarity index 100%
rename from gcc/config/i386/t-darwin
rename to gcc/config/i386/t-darwin32-biarch
diff --git a/gcc/config/i386/t-darwin64 b/gcc/config/i386/t-darwin64-biarch
similarity index 100%
rename from gcc/config/i386/t-darwin64
rename to gcc/config/i386/t-darwin64-biarch
diff --git a/gcc/config/rs6000/darwin.h b/gcc/config/rs6000/darwin.h
index 1bfb577750..ee44236961 100644
--- a/gcc/config/rs6000/darwin.h
+++ b/gcc/config/rs6000/darwin.h
@@ -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
index 0000000000..35ea0752c8
--- /dev/null
+++ b/gcc/config/rs6000/darwin32-biarch.h
@@ -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.h b/gcc/config/rs6000/darwin64-biarch.h
similarity index 74%
rename from gcc/config/rs6000/darwin64.h
rename to gcc/config/rs6000/darwin64-biarch.h
index a131ff20bb..9f72524c7e 100644
--- a/gcc/config/rs6000/darwin64.h
+++ b/gcc/config/rs6000/darwin64-biarch.h
@@ -1,4 +1,4 @@
-/* Target definitions for PowerPC running Darwin (Mac OS X).
+/* Target definitions for PowerPC64 running Darwin (Mac OS X).
Copyright (C) 2006-2019 Free Software Foundation, Inc.
Contributed by Apple Computer Inc.
@@ -25,8 +25,13 @@
#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 DARWIN_CRT2_SPEC
-#define DARWIN_CRT2_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/t-darwin8 b/gcc/config/rs6000/t-darwin32-biarch
similarity index 100%
rename from gcc/config/rs6000/t-darwin8
rename to gcc/config/rs6000/t-darwin32-biarch
diff --git a/gcc/config/rs6000/t-darwin64 b/gcc/config/rs6000/t-darwin64-biarch
similarity index 100%
rename from gcc/config/rs6000/t-darwin64
rename to gcc/config/rs6000/t-darwin64-biarch
2019-07-24 Iain Sandoe <iain@sandoe.co.uk>
gcc/
PR bootstrap/87030
* config/i386/darwin.h (REAL_LIBGCC_SPEC): Move from here...
* config/i386/darwin32-biarch.h .. to here.
* config/i386/darwin64-biarch.h: Adjust comments.
* config/rs6000/darwin32-biarch.h: Likewise.
* config/rs6000/darwin64-biarch.h: Likewise.
* config.gcc: Missed commit from r273746
(*-*-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.
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 58262e5b86..e55c67a424 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -673,7 +673,7 @@ x86_cpus="generic intel"
# Common parts for widely ported systems.
case ${target} in
*-*-darwin*)
- tmake_file="t-darwin ${cpu_type}/t-darwin"
+ tmake_file="t-darwin "
tm_file="${tm_file} darwin.h"
case ${target} in
*-*-darwin9*)
@@ -1645,16 +1645,25 @@ hppa[12]*-*-hpux11*)
dwarf2=no
fi
;;
+i[34567]86-*-darwin1[89]*)
+ echo "Error: 32bit target is not supported after Darwin17" 1>&2
+ ;;
i[34567]86-*-darwin*)
need_64bit_isa=yes
# Baseline choice for a machine that allows m64 support.
with_cpu=${with_cpu:-core2}
+ tmake_file="${tmake_file} ${cpu_type}/t-darwin32-biarch t-slibgcc"
+ tm_file="${tm_file} ${cpu_type}/darwin32-biarch.h"
+ ;;
+x86_64-*-darwin1[89]* | x86_64-*-darwin2[01]*)
+ # Only 64b from now
+ with_cpu=${with_cpu:-core2}
tmake_file="${tmake_file} t-slibgcc"
;;
x86_64-*-darwin*)
with_cpu=${with_cpu:-core2}
- tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
- tm_file="${tm_file} ${cpu_type}/darwin64.h"
+ tmake_file="${tmake_file} ${cpu_type}/t-darwin64-biarch t-slibgcc"
+ tm_file="${tm_file} ${cpu_type}/darwin64-biarch.h"
;;
i[34567]86-*-elfiamcu)
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/iamcu.h"
@@ -2616,24 +2625,31 @@ pdp11-*-*)
# extra_headers=
# ;;
powerpc-*-darwin*)
- extra_options="${extra_options} rs6000/darwin.opt"
+ extra_options="${extra_options} ${cpu_type}/darwin.opt"
case ${target} in
- *-darwin1[0-9]* | *-darwin[8-9]*)
- tmake_file="${tmake_file} rs6000/t-darwin8"
- tm_file="${tm_file} rs6000/darwin8.h"
+ *-darwin1[0-9]* | *-darwin9*)
+ tmake_file="${tmake_file} ${cpu_type}/t-darwin32-biarch"
+ tm_file="${tm_file} ${cpu_type}/darwin32-biarch.h"
+ ;;
+ *-darwin8*)
+ tmake_file="${tmake_file} ${cpu_type}/t-darwin32-biarch"
+ tm_file="${tm_file} ${cpu_type}/darwin32-biarch.h"
+ tm_file="${tm_file} ${cpu_type}/darwin8.h"
;;
*-darwin7*)
- tm_file="${tm_file} rs6000/darwin7.h"
+ tm_file="${tm_file} ${cpu_type}/darwin7.h"
;;
- *-darwin[0-6]*)
+ *-darwin[456]*)
+ # Earlier - ingle arch, with 32b only
+ # OS X 10.0, the first edition is Darwin4
;;
esac
tmake_file="${tmake_file} t-slibgcc"
;;
powerpc64-*-darwin*)
extra_options="${extra_options} ${cpu_type}/darwin.opt"
- tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc"
- tm_file="${tm_file} ${cpu_type}/darwin8.h ${cpu_type}/darwin64.h"
+ tmake_file="${tmake_file} ${cpu_type}/t-darwin64-biarch t-slibgcc"
+ tm_file="${tm_file} ${cpu_type}/darwin64-biarch.h"
;;
powerpc*-*-freebsd*)
tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h ${fbsd_tm_file} rs6000/sysv4.h"
diff --git a/gcc/config/i386/darwin.h b/gcc/config/i386/darwin.h
index fea3f73854..d9c8f200b9 100644
--- a/gcc/config/i386/darwin.h
+++ b/gcc/config/i386/darwin.h
@@ -39,32 +39,6 @@ along with GCC; see the file COPYING3. If not see
#endif
#endif
-/* 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: \
- %{m64:%: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 }"
-
/* Size of the Obj-C jump buffer. */
#define OBJC_JBLEN ((TARGET_64BIT) ? ((9 * 2) + 3 + 16) : (18))
diff --git a/gcc/config/i386/darwin32-biarch.h b/gcc/config/i386/darwin32-biarch.h
index b7f53bf2c8..8dcc4a3b0b 100644
--- a/gcc/config/i386/darwin32-biarch.h
+++ b/gcc/config/i386/darwin32-biarch.h
@@ -1,6 +1,6 @@
-/* Target definitions for i386 running Darwin.
+/* Target definitions for i386 running Darwin with a 32b host and supporting
+ a 64b multilib.
Copyright (C) 2019 Free Software Foundation, Inc.
- Contributed by Apple Computer Inc.
This file is part of GCC.
@@ -21,6 +21,32 @@ along with GCC; see the file COPYING3. If not see
#undef DARWIN_ARCH_SPEC
#define DARWIN_ARCH_SPEC "%{m64:x86_64;:i386}"
+/* 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: \
+ %{m64:%: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
diff --git a/gcc/config/i386/darwin64-biarch.h b/gcc/config/i386/darwin64-biarch.h
index ebd65f9420..5af7665c2a 100644
--- a/gcc/config/i386/darwin64-biarch.h
+++ b/gcc/config/i386/darwin64-biarch.h
@@ -1,4 +1,5 @@
-/* Target definitions for x86_64 running Darwin.
+/* Target definitions for x86_64 running Darwin with a 64b host supporting a
+ 32b multilib.
Copyright (C) 2006-2019 Free Software Foundation, Inc.
Contributed by Apple Computer Inc.
diff --git a/gcc/config/rs6000/darwin32-biarch.h b/gcc/config/rs6000/darwin32-biarch.h
index 35ea0752c8..743aabfcea 100644
--- a/gcc/config/rs6000/darwin32-biarch.h
+++ b/gcc/config/rs6000/darwin32-biarch.h
@@ -1,6 +1,6 @@
-/* Target definitions for PowerPC running Darwin (Mac OS X).
- Copyright (C) 2006-2019 Free Software Foundation, Inc.
- Contributed by Apple Computer Inc.
+/* Target definitions for PowerPC running Darwin (Mac OS X) for a 32b host
+ with a 64b miultilib.
+ Copyright (C) 2019 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/rs6000/darwin64-biarch.h b/gcc/config/rs6000/darwin64-biarch.h
index 9f72524c7e..4f789544b9 100644
--- a/gcc/config/rs6000/darwin64-biarch.h
+++ b/gcc/config/rs6000/darwin64-biarch.h
@@ -1,4 +1,5 @@
-/* Target definitions for PowerPC64 running Darwin (Mac OS X).
+/* Target definitions for PowerPC64 running Darwin (Mac OS X) for a 64b host
+ supporting a 32b multilib.
Copyright (C) 2006-2019 Free Software Foundation, Inc.
Contributed by Apple Computer Inc.