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