On Wed, Aug 22, 2018 at 8:26 AM Ben Kohler <bkoh...@gentoo.org> 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.
Based on a quick test, running i686-pc-linuc-gnu-gcc without passing -march seems to be equivalent to passing "-mtune=generic -march=i686". So, you'll get code that will only run on i686, but has "generic" tuning (whatever that means). I don't think that will make a noticeable difference on user systems. Most Gentoo people probably override this to some more specific CPU model via CFLAGS in make.conf anyway. So +1 from me on removing -march=i686 from the x86 arch profile.