Maciej Żenczykowski wrote: > c) If redhat isn't supporting anything below a 686 anyway then why don't > they switch all .386 packages all the way up to 686? I know the > performance gain isn't stellar, but if the packages are not designed for > installation on anything < 686 then there's not much point in _not_ > compiling for 686 - the binary packages will be the approx same size > anyway and will require the same amount of CDspace/bandwidth. The key word is "support". They don't support it, but you are welcome to install it on preatty much anything from i386 to P4, and it will most likely run. The "we don't support it" here means only that if you run into trouble, you are on your own to solve it. I think Bryan was a bit wrong when it said how the packages are compiled. The options are "-m32 -march=i386 -mtune=i686" for wast majority of packages (some have different tune option). If you ever build any SRPM package, you'll clearly see that in the output. Unless Red Hat folks are manually instructing rpmbuild to use -march=i486 flag on each and every build. That combination of flags is probably the most tested one, and by far less likely to generate incorrect code than any other combination of flags. To install on i386 or i486 you'd obviously need to build kernel yourself (for some distros, you'd also need to build i586 kernel). All other packages will work, even the quazy-i386 glibc. On i386 you will loose NPTL, and that is the only part of glibc that uses i486 instructions (the rest is compiled with -march=i386). Actually, if you list the files from i386 glibc package, you'll see it has way more branched directory structure than i686 version of package (i386 version has directory branches with additional i486, i586 and i686 optimized code). For average package, there is almost no difference in size and performance if compiled with -march=i386 or -march=i686. The almost only part of instruction set where you would see performance benefits are instructions for implementing atomic locking and SMP. Since that stuff is handled almost exclusivly in kernel and glibc, that's why those are practically almost the only packages with dedicated i686 version (plus openssl libraries, that seem to benefit from i686 instruction set too).