Skip site navigation (1)Skip section navigation (2)
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>