On 08/22/2018 08:26 AM, Ben Kohler wrote: > Hi guys, > > For some time now, we've been shipping broken i486 stage3s that do not > run on pre-i686 hardware [1]. Due to a change in catalyst [2], we no > longer set CXXFLAGS in the default make.conf, so the x86 profiles' (imho > wrong/broken) defaults [3] kick in. > > I'd like to get this fixed, and I see 3 possible solutions, listed in > order of my own preference: > > 1) Adjust x86 profile defaults to drop the problematic -march=i686. This > would be more in line with amd64 profiles (et al), which set no -march > value so it can run on any hardware for this arch. > > 2) Patch catalyst to start setting CXXFLAGS again. Rather than roll > back to exactly CXXFLAGS="${CFLAGS}" again, it's been suggested that we > start setting COMMON_FLAGS, and CFLAGS="${COMMON_FLAGS}" > CXXFLAGS=${COMMON_FLAGS}" etc. I prepared such a patch a while back > [4], which seems to work but may need a bit of updating. > > 3) Drop i486 support. We're only pretending to have support now, we > could officially stop building these broken stages completely. > > Personally I think #1 is the most technically correct and least amount > of work. The only result will be slightly less optimized builds for > people who choose not to customize *FLAGS at all in make.conf. But this > is correct behavior. What we have now is akin to setting -march=core2 > on amd64 stage3 and saying "oops it doesn't work on early 64bit AMD > cpus, but oh well most people have newer and will appreciate the > optimization". Agreed. > > Thoughts? > > -Ben > > [1] https://bugs.gentoo.org/654080 > [2] > https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=b409bd9bb4b50f69a555e4e148057ade86a7ed16 > > [3] > https://gitweb.gentoo.org/repo/gentoo.git/tree/profiles/arch/x86/make.defaults > > [4] https://bugs.gentoo.org/575446#c4 >
signature.asc
Description: OpenPGP digital signature