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;