Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Jan 2024 09:14:22 -0800
From:      Mark Millard <marklmi@yahoo.com>
To:        void <void@f-m.fm>
Cc:        freebsd-arm@freebsd.org
Subject:   Re: arm64 system clang & llvm
Message-ID:  <C99B0C38-4C63-4B54-BAE8-9B63BC619733@yahoo.com>
In-Reply-To: <ZbkdblJeoPagKgz9@int21h>
References:  <ZbkdblJeoPagKgz9@int21h>

next in thread | previous in thread | raw e-mail | index | archive | help
On Jan 30, 2024, at 08:01, void <void@f-m.fm> wrote:

> context is main-n267804 arm64
>=20
> I'd like to avoid building base compilers for arches I'll never use.
> I want aarch64 *only*
>=20
> To achieve this, there's the following in /etc/src.conf
>=20
> ###
> # LLVM
> WITHOUT_LLVM_TARGET_ALL=3D
> WITH_LLVM_TARGET_AARCH64=3D
> WITHOUT_LLVM_TARGET_ARM=3D
> WITHOUT_LLVM_ASSERTIONS=3D
>=20
> But looking at buildworld output, I see what *looks* like building for =
other arches happening. Is this the case, or am I reading it wrong, or
> is the src.conf wrong?

FYI: On aarch64, for non-debug builds I use:

#Disables avoiding bootstrap: WITHOUT_LLVM_TARGET_ALL=3D
WITH_LLVM_TARGET_AARCH64=3D
WITH_LLVM_TARGET_ARM=3D
WITHOUT_LLVM_TARGET_MIPS=3D
WITHOUT_LLVM_TARGET_POWERPC=3D
WITHOUT_LLVM_TARGET_RISCV=3D
WITHOUT_LLVM_TARGET_X86=3D
MALLOC_PRODUCTION=3D
WITH_MALLOC_PRODUCTION=3D
WITHOUT_ASSERT_DEBUG=3D
WITHOUT_LLVM_ASSERTIONS=3D


(I've not validated the comment in a very long time.
There used to be the odd side effect on when bootstrap
builds happened.)

As FreeBSD main [so: 15] has lib32 support by default
these days, does your aarch64 hardware support
AArch32/armv7 code, at least for EL0? Most of the
hardware around probabaly does.  Having
WITH_LLVM_TARGET_AARCH64=3D may override any attempt
to disable code generation for the likely
hardware-supported type of code.

But, if it is possible to have aarch64 disable
armv7 code generation, you would also need:

WITHOUT_LIB32=3D

Otherwise, you would be asking for armv7 code
generation to be done in order to build lib32.

(Since AARch32/armv7 also supports armv6, that
is likely also involved. But I keep the wording
generally simpler.)


=3D=3D=3D
Mark Millard
marklmi at yahoo.com




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C99B0C38-4C63-4B54-BAE8-9B63BC619733>