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