On Mon, Mar 07, 2005 at 11:55:00PM -0500, Chuck Haines wrote:
Does anyone know if I can get binaries so I can compile for i686 on fedora and / or rhel4. I'm trying to set up distcc, but I need i686 in order for it to work. The machines are more than compatible and I don't know what redhat hasn't finally switched over. I'm not sure I know of a single i386 machine still in use.
You don't need a different compiler. The Fedora compiler is perfectly capable of compiling the extra instructions in the i686 instruction set. Here is what stock i386.rpm Fedora packages are compiled with: -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 The important bit is how the packages are tuned for pentium4 scheduling, since the P4 is so picky with instruction ordering (athlon couldn't care less, so these tunings matter less there). The few packages where using the extra i686 instructions actually makes sense and doesn't slow things down are already compiled that way: kernel, openssl, glibc. Other packages are .i386.rpm, but do runtime detection to enable or disable support for extra instructions, like MMX/SSE. mplayer comes to mind. In fact, the i686 kernels do runtime athlon optimizations, eliminating the need for a separately compiled athlon kernel. Don't get hung up on the .i386.rpm package naming. The RPM arch has little to do with reality these days, and there is talk about replacing it with cpu flag metadata anyway. Fedora/Red Hat hasn't run on actual i386 processors since NPTL, AFAIK. Hence, there was little perceived need or desire to change all of Fedora's RPM %{arch} tags just to provide a slightly different illusion of compatibility/optimization than we already have.