On Wed, Aug 27, 2008 at 05:55:19PM +0000, Joseph S. Myers wrote: > On Wed, 27 Aug 2008, Joe Buck wrote: > > > Joseph again: > > > > operations. (And I hold that i686-* should mean -march=i686 default not > > > > -mcpu=i386 and similarly x86_64-* -m32 should default to -march=x86_64, > > > > subject to --with-arch etc. in both cases.) > > > > I'm not keen on moving the default -march all the way to i686, as there > > are still enough old machines out there that this could cause > > inconvenience. > > Users of those systems should configure for i586-linux-gnu or > i486-linux-gnu not i686-linux-gnu. config.guess should select such a > target automatically in the case of a native build. (If you configure > glibc for i686-linux-gnu, it will use assembly sources that require i686.)
I think we don't mean the same thing by "user". From gcc's perspective, what others would call a developer (someone who writes and compiles programs) we call a user. But far more people just run software than write it. Users of old Pentiums and the like are mostly non-programmers, who will download executables built by others, which will not run if their -march is i686. With i486, it's different, in that making the arch be 386 can be actively dangerous (you could get two different kinds of locking in a program that don't interoperate correctly).