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
