Messages in this thread | | | Subject | Re: Requested FAQ addition - Mandrake and partial-i686 platforms | From | Juan Quintela <> | Date | Wed, 13 Aug 2003 18:24:00 +0200 |
| |
>>>>> "alan" == Alan Cox <alan@lxorguk.ukuu.org.uk> writes:
Hi
alan> gcc i686 mode outputs cmov instruction sequences without checking cmov alan> is present at runtime. So gcc "i686" is actually "i686 and a bit". It alan> actually doesn't really make sense to do a true i686 mode without cmov alan> either.
alan> Red Hat's rpm knows about this so I'm suprised the Mandrake one gets it alan> wrong and installs arch=686 packages without checking for cmov.
again, it is a bit more complex than that :p
Mandrake glibc _alsa_ has a /lib/i686/ directory (i.e. it is not a separate package). ld.so looks at the architecture for choice about what lib to load.
Problem, as others stated is that kernel i686 definition and gcc i686 definition are different (gcc definition is i686+cmov basically).
Mandrake kernels workaround that telling ld.so that i686 without cmov are i586 class machines, not i686 class machines.
It will be more elegant to make the decission in ld.so, but there are other problems with dlopen() that I don't remember.
To make things worse, via c3 implement cmov instruction if all operands are in registers (i.e. no operand in memory), I know that this faked somebody that did a test on cmov :(
To make history more intersting, new Via C3 have a complet cmov instruction.
Later, Juan.
-- In theory, practice and theory are the same, but in practice they are different -- Larry McVoy - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |