Re: arm64 system clang & llvm

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

> Hi Mark,
> 
> On Tue, Jan 30, 2024 at 09:14:22AM -0800, Mark Millard wrote:
>> 
>> #Disables avoiding bootstrap: WITHOUT_LLVM_TARGET_ALL=
> 
> this means (if it's uncommented) it doesn't avoid bootstrap?

It used to cause unnecessary bootstrap rebuils
during the overall buildworld .

>> MALLOC_PRODUCTION=
>> WITH_MALLOC_PRODUCTION=
> 
> aren't these the same thing? (for -current context)

I frequently have files designed to be allowed in
a range of FreeBSD vintages that might not recognize
newer (or even older) notations. I change before
needing the new notation. I eventually get rid of the
older notation.

So I happen to have shown both notations.

>> 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?
> 
> What's EL0?

EL: Exception Level. Suggestive are:

EL0: Unprivileged execution (user space).

In increasing execution privilege order . . .

El1: Normal operating system kernel execution.

EL2: Non-secure state of execution for Hypervior execution (virtualization)

EL3: Allows the security state associated with the execution to be changed
     between insecure and secure (for secure monitor operation)

So hardware with only EL0 for AArch32/armv7 execution can not
boot a AArch32/armv7 kernel. But the OS can allow user code
to be AArch32/armv7 and run.

I'll note that even before lib32 was implemented, a
armv7 world could be installed into a directory
tree and one could then chroot (or jail) into that
directory tree and run AArch32/armv7 user code.
Now one does not need to involved a chroot/jail
to execution AARch32/armv7 code unless one wants
to.

> WITHOUT_LIB32= is also in src.conf

WITHOUT_LIB32 does not prevent the chroot/jail
technique from being used. But it does avoid
building any AArch32/armv7 code in the
buildworld (which is what you were after).

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