General notes:

* GCC on Darwin depends on the installed “binutils”, typically provided by a 
version of “Xcode" or “Xcode command line tools”.  Unless noted otherwise, the 
bootstrap sequences here make use of the last available xcode command line 
tools and SDK for the platform version.

* Apple gcc-4.2.1 will no longer bootstrap GCC9+, the built stage1 compiler 
fails self-test with memory management errors,  given that earlier GCC versions 
produce sucessful bootstraps on other platforms, I’m not pursuing fixes to the 
gcc.4.2.1 sources.

* Two bootstrap and test sequences (where possible);
1) Using a version of GCC+Ada as the bootstrap compiler, allowing a build and 
test for Ada.
2) For Darwin11+, using the Apple clang that relates to the installed command 
line tools.

* In some cases, particularly with the earlier versions, the installed ‘atos’ 
is not really compatible with the versions of libsanitizer that are built with 
GCC8.  In that case, it’s usually better to install a version of 
llvm-symbolizer and set the ASAN_SYMBOLIZER_PATH=/path/to/llvm-symbolizer.

* I don’t have enough physical hardware to cover all of the versions directly, 
so some are (macOS hosted) VMs using VirtualBox.  In these cases, timeouts are 
not necessarily significant (noted in the relevant results).

cheers
Iain

---

Darwin19, (macOS 10.15)
xcode 11.4b3 command line tools and SDK was current

https://gcc.gnu.org/pipermail/gcc-testresults/2020-March/556983.html
https://gcc.gnu.org/pipermail/gcc-testresults/2020-March/556984.html

Darwin18 (10.14)

https://gcc.gnu.org/pipermail/gcc-testresults/2020-March/556981.html
https://gcc.gnu.org/pipermail/gcc-testresults/2020-March/556982.html

Darwin17 (10.13)

here I have used XC 9.4, to avoid the errors caused by the deprecation of m32 
flagged by later tools.
(32b multilib still works fine here)

https://gcc.gnu.org/pipermail/gcc-testresults/2020-March/556979.html
https://gcc.gnu.org/pipermail/gcc-testresults/2020-March/556980.html

Darwin16

https://gcc.gnu.org/pipermail/gcc-testresults/2020-March/556977.html
https://gcc.gnu.org/pipermail/gcc-testresults/2020-March/556978.html

Darwin15

https://gcc.gnu.org/pipermail/gcc-testresults/2020-March/556975.html
https://gcc.gnu.org/pipermail/gcc-testresults/2020-March/556976.html

Darwin14
(VM)
https://gcc.gnu.org/pipermail/gcc-testresults/2020-March/556973.html
https://gcc.gnu.org/pipermail/gcc-testresults/2020-March/556974.html

Darwin13
(VM)
https://gcc.gnu.org/pipermail/gcc-testresults/2020-March/556971.html
https://gcc.gnu.org/pipermail/gcc-testresults/2020-March/556972.html

Darwin12
(VM)
https://gcc.gnu.org/pipermail/gcc-testresults/2020-March/556969.html
https://gcc.gnu.org/pipermail/gcc-testresults/2020-March/556970.html

Darwin11
(VM)
https://gcc.gnu.org/pipermail/gcc-testresults/2020-March/556967.html
https://gcc.gnu.org/pipermail/gcc-testresults/2020-March/556968.html

Darwin10 (X86_64)

https://gcc.gnu.org/pipermail/gcc-testresults/2020-March/556966.html

Darwin10 (i686)

https://gcc.gnu.org/pipermail/gcc-testresults/2020-March/556964.html

Darwin9 (i686)

https://gcc.gnu.org/pipermail/gcc-testresults/2020-March/556961.html

Darwin9 (powerpc64)

powercp64-darwin9 will not bootstrap with the system ld64 (the binary size now 
exceeds the [buggy] branch island limit in that tool).  It is possible to make 
the bootstrap with an updated ld64 with that limit fixed, and using -Os for the 
stage1 compiler options.  There are several public branches with fixed ld64 
versions available - I used a version of https://github.com/iains/darwin-xtools

https://gcc.gnu.org/pipermail/gcc-testresults/2020-March/556963.html

Darwin9 (powerpc)

https://gcc.gnu.org/pipermail/gcc-testresults/2020-March/556962.html

Darwin8 (i686, powerpc)

Darwin8 cannot be built with the last release of XCode for the system (2.5)

At least ld64-85.2.1 is needed.
the results here were obtained with the cctools/ld64 sources from the xcode 
3.1.4 source release.

https://gcc.gnu.org/pipermail/gcc-testresults/2020-March/556959.html
https://gcc.gnu.org/pipermail/gcc-testresults/2020-March/556960.html

+ two small patches:
(1) for libstdc++

diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host
index 155a3cdea1b..d16d9519e43 100644
--- a/libstdc++-v3/configure.host
+++ b/libstdc++-v3/configure.host
@@ -240,11 +240,6 @@ case "${host_os}" in
  darwin8 | darwin8.* )
    # For 8+ compatibility is better if not -flat_namespace.
    OPT_LDFLAGS="${OPT_LDFLAGS} -Wl,-single_module"
-    case "${host_cpu}" in
-      i[34567]86 | x86_64)
-        OPTIMIZE_CXXFLAGS="${OPTIMIZE_CXXFLAGS} -fvisibility-inlines-hidden"
-        ;;
-    esac
    os_include_dir="os/bsd/darwin"
    ;;
  darwin*)

====
(2) for Ada

diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c
index 41434655865..74f843f2907 100644
--- a/gcc/ada/adaint.c
+++ b/gcc/ada/adaint.c
@@ -2351,7 +2351,10 @@ __gnat_number_of_cpus (void)
#if defined (__linux__) || defined (__sun__) || defined (_AIX) \
  || defined (__APPLE__) || defined (__FreeBSD__) || defined (__OpenBSD__) \
  || defined (__DragonFly__) || defined (__NetBSD__) || defined (__QNX__)
+
+# ifdef _SC_NPROCESSORS_ONLN
  cores = (int) sysconf (_SC_NPROCESSORS_ONLN);
+# endif

#elif defined (__hpux__)
  struct pst_dynamic psd;

Reply via email to