On Sun, 2011-05-15 at 09:28 -0300, Henrique de Moraes Holschuh wrote: > On Sun, 15 May 2011, Mike Hommey wrote: > > I just found out that gcc is compiled with --with-arch-32=i586, which > > effectively means it builds with -march=i586 by default (and that it > > still claims an i486-linux-gnu target). > > > > I'm wondering. Is the project at large aware that we're not building for > > i486, but for i586 ? That even the maintainer doesn't know why for > > No. And unless we got a bug report form an i486 user, our users > probably didn't notice it either. > > What are the *exact* differences between code generated for march=i486 > to code generated for march=i586? What CPUs would break? [...]
There are a few new instructions on the Pentium that can be used in ring 3: cmpxchg8 and rdtsc. Linux has separate options for '586' and '586 with TSC', both of which result in -m586, so gcc does not appear to assume the existence of rdtsc. I would not expect gcc to generate cmpxchg8 except through an intrinsic, but I could be wrong. Ben. -- Ben Hutchings Once a job is fouled up, anything done to improve it makes it worse.
signature.asc
Description: This is a digitally signed message part