This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Recent libstdc++ regression on i686-linux: abi/cxx_runtime_only_linkage.cc
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).