Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Jan 2024 17:17:06 -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:  <26928272-6565-4AE2-B77A-4449E03634CE@yahoo.com>
In-Reply-To: <Zblj2ul6PJxOxHhu@int21h>
References:  <ZbkdblJeoPagKgz9@int21h> <C99B0C38-4C63-4B54-BAE8-9B63BC619733@yahoo.com> <Zblj2ul6PJxOxHhu@int21h>

next in thread | previous in thread | raw e-mail | index | archive | help
On Jan 30, 2024, at 13:02, void <void@f-m.fm> 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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?26928272-6565-4AE2-B77A-4449E03634CE>