Date: Wed, 10 Oct 2018 02:56:44 -0700 From: Mark Millard <marklmi@yahoo.com> To: FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>, freebsd-arm <freebsd-arm@freebsd.org> Subject: FYI: SoftIron Overdrive 1000 (aarch64 Cortex-A57) vs. old PowerMac G5 (powerpc64) "Quad Core": a comparison of build times Message-ID: <EC9E4C02-3291-4D0C-AA62-A18EE98DC841@yahoo.com>
next in thread | raw e-mail | index | archive | help
The following is based on WITHOUT_LLVM_TARGET_ALL=3D and powerpc64 has WITH_LIB32=3D while aarch64 does not. In both cases system-clang is used to do the buildworld buildkernel, although for powerpc64 one would not normally install and try to boot and use the result for FreeBSD as things are. The builds are self-hosted, not cross builds. OverDrive 1000 buildworld buildkernel: a little under 3 hr 17 min. G5 "Quad Core" buildworld buildkernel: around 4 hr 53 min (4 hr = 14 min ignoring lib32 time). The G5 had not started building lib32 (or the kernel) until about 3 hr 28 min into its build. aarch64 has no lib32 to build. The G5 did not start on the kernel until around 4 hr 7 min. So around 4 hr 14 min when not counting lib32's time. powerpc64 is using devel/powerpc64-binutils (or devel/binutils) but aarch64 is using lld. (Last I tried lld would not let the build complete for powerpc64, if I remember right.) For powerpc64 the binutils used had been built already. What was built was (same-in-both part): (neither built a bootstrap compiler or linker) #WITH_CROSS_COMPILER=3D WITH_SYSTEM_COMPILER=3D WITH_SYSTEM_LINKER=3D # WITH_LIBCPLUSPLUS=3D WITHOUT_BINUTILS_BOOTSTRAP=3D WITH_ELFTOOLCHAIN_BOOTSTRAP=3D WITHOUT_LLVM_TARGET_ALL=3D #WITH_CLANG_BOOTSTRAP=3D WITH_CLANG=3D WITH_CLANG_IS_CC=3D WITH_CLANG_FULL=3D WITH_CLANG_EXTRAS=3D WITH_LLD=3D WITHOUT_BINUTILS=3D WITH_LLDB=3D # WITH_BOOT=3D # WITHOUT_GCC_BOOTSTRAP=3D WITHOUT_GCC=3D WITHOUT_GCC_IS_CC=3D WITHOUT_GNUCXX=3D The variations for what was built between aarch64 vs. powerpc64 were: #WITH_LLD_BOOTSTRAP=3D WITHOUT_LLD_BOOTSTRAP=3D WITH_LLD_IS_LD=3D WITHOUT_LLD_IS_LD=3D WITHOUT_LIB32=3D [This is effectively a comment: aarch64 never has = lib32] WITH_LIB32=3D powerpc64 uses: LOADER_DEFAULT_INTERP=3D4th Also, cortex-a57 used: LDFLAGS.lld+=3D -Wl,--no-threads Note: My actual powerpc64 builds are via devel/powerpc64-gcc and devel/powerpc64-binutils (or devel/binutils), but I've not built for aarch64 that way. For powerpc64 I do build clang and have clang as cc. (Clang's powerpc64 problems are tied to things special for buildworld and buildkernel .) Unfortunately, devel/powerpc64-gcc based builds are WITHOUT_LIB32=3D because for lib32 it misuses R30 in crtbeginS code (vs. the ABI for FreeBSD) and 32-bit code just produces core files from the bad dereference that results. Note: The G5 so-called "Quad Core" has 4 cores overall in the system but they are evenly split across 2 sockets: 2 dual-core processors. =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?EC9E4C02-3291-4D0C-AA62-A18EE98DC841>