Re: arm64 system clang & llvm

Mark Millard <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
On Jan 30, 2024, at 08:01, void <[email protected]> wrote:

> context is main-n267804 arm64
> 
> I'd like to avoid building base compilers for arches I'll never use.
> I want aarch64 *only*
> 
> To achieve this, there's the following in /etc/src.conf
> 
> ###
> # LLVM
> WITHOUT_LLVM_TARGET_ALL=
> WITH_LLVM_TARGET_AARCH64=
> WITHOUT_LLVM_TARGET_ARM=
> WITHOUT_LLVM_ASSERTIONS=
> 
> 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=
WITH_LLVM_TARGET_AARCH64=
WITH_LLVM_TARGET_ARM=
WITHOUT_LLVM_TARGET_MIPS=
WITHOUT_LLVM_TARGET_POWERPC=
WITHOUT_LLVM_TARGET_RISCV=
WITHOUT_LLVM_TARGET_X86=
MALLOC_PRODUCTION=
WITH_MALLOC_PRODUCTION=
WITHOUT_ASSERT_DEBUG=
WITHOUT_LLVM_ASSERTIONS=


(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= 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=

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.)


===
Mark Millard
marklmi at yahoo.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.