On Mon, Feb 19, 2024 at 8:01 PM Chris Ridd via illumos-developer < developer@lists.illumos.org> wrote: > > > On 19 Feb 2024, at 18:51, Peter Tribble wrote: > > I was poking around at /usr/lib/libc, and started to wonder how current it > is. > > We have 3 "optimized" copies of libc there, with capabilities, and the > "best" > one is selected by moe to be loopback-mounted over libc: > > libc_hwcap1.so.1 [SSE MMX CMOV SEP FPU] > libc_hwcap2.so.1 [SSE2 SSE MMX CMOV AMD_SYSC FPU] > libc_hwcap3.so.1 [SSE MMX CMOV FPU] > > Ok, so hwcap1 means sysenter/sysexit (ie Intel), and hwcap2 is syscall (ie > AMD). > And libc_hwcap3 is the (legacy, I guess) int 0x91. > > > A number of different x86-64 microarchitecture levels have been defined by > AMD/Intel/Red Hat/SUSE, see > https://en.wikipedia.org/wiki/X86-64#Microarchitecture_levels > > Would it be helpful to use these levels (x86-64-v1, v2, v3, v4) in > Illumos’s libc_hwcap? > > Chris > *illumos * / illumos-developer / see > discussions + participants > + delivery options > Permalink > > Well that's for 64-bit, where we don't really differentiate much at all. But I think that if we were to have differentiation - and in particular if we wanted to bump the baseline - the following established precedent makes sense. One thing that's related is the discussion in Pale Moon about the supported baseline, and Pale Moon will shortly require AVX by default https://forum.palemoon.org/viewtopic.php?f=5&t=30909 My approach for Tribblix is to retain SSE2 as the baseline - not because I have a fetish for older hardware (although I do have a reasonable amount of that), but simply because I don't like the idea that the OS will boot but some applications will mysteriously fail to run because they have different requirements. -- -Peter Tribble http://www.petertribble.co.uk/ - http://ptribble.blogspot.com/