Very nicely put Zack. I agree completely; this is what I was trying to discuss with Jacob earlier but much more elegantly stated. It is also what Adam was saying.

Thanks for writing this,

John

On 9/19/23 17:58, Zack Weinberg wrote:
On Mon, Sep 18, 2023, at 8:02 PM, Po Lu wrote:
linux-musl is so named because there is no canonical name for a
Musl-based Linux system.  The "musl" represents "musl-based operating
system", not merely the libc itself.  Ditto for ulibc.
I'm gonna push back real hard on this specific aspect of what you are saying.

The terminology used by config.* was laid down at a time when it was extremely unusual 
for the kernel, the C library, the C compiler, and the base set of " user 
space" system software to be developed by four (or more!) independent organizations. 
It is now, IMHO, more appropriate to think of $host_os (the shell variable set by 
AC_CANONICAL_HOST) as specifying the part of the ABI that *isn't* defined by the ISA. 
(Ignoring historical inconsistencies about whether to specify ABI-relevant ISA variants 
in $xxx_cpu or $xxx_os.)

In particular, I claim that it is correct to use "linux-musl" to describe *any* system 
built on top of the Linux kernel and musl libc, and similarly "linux-gnu" to describe any 
system built on top of the Linux kernel and GNU libc, regardless of what other software is included.

In general, I claim that components of a complete system that do not affect its 
C ABI should not be considered *at all* in defining its canonical system name.

zw

Reply via email to