On Wed, Jun 12, 2024 at 01:21:26PM +0100, Daniel P. Berrangé wrote: > On Wed, Jun 12, 2024 at 01:51:31PM +0200, Paolo Bonzini wrote: > > On Wed, Jun 12, 2024 at 1:38 PM Daniel P. Berrangé <berra...@redhat.com> > > wrote: > > > This isn't anything to do with the distro installer. The use case is that > > > the distro wants all its software to be able to run on the x86_64 baseline > > > it has chosen to build with. > > > > Sure, and they can patch the packages if their wish is not shared by > > upstream. Alternatively they can live with the fact that not all users > > will be able to use all packages, which is probably already the case. > > Yep, there's almost certainly scientific packages that have done > optimizations in their builds. QEMU is slightly more special > though because it is classed as a "critical path" package for > the distro. Even the QEMU linux-user pieces are now critical path, > since they're leveraged by docker & podman for running foreign arch > containers. > > > Or drop QEMU, I guess. Has FeSCO ever expressed how strict they are > > and which of the three options they'd pick? > > I don't know - i'm going to raise this question to find out if > there's any guidance.
I learnt that FESCo approved a surprisingly loose rule saying "Libraries packaged in Fedora may require ISA extensions, however any packaged application must not crash on any officially supported architecture, either by providing a generic fallback implementation OR by cleanly exiting when the requisite hardware support is unavailable." This might suggest we could put a runtime feature check in main(), print a warning and then exit(1), however, QEMU has alot of code that is triggered from ELF constructors. If we're building the entire of QEMU codebase with extra features enabled, I worry that the constructors could potentially cause a illegal instruction crash before main() runs ? With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|