Hi there, i'm installing a new box with an AMD FX-6300 processor. Of course, im following the handbook to install the system, but when i have to set the CFLAGS variable, the handbook is not handy at all. So, as far i could see, -march=native is what should i take.
Here comes the deal; i want to run a distcc service at the FX system, and the wiki says:

Quote:

Starting with GCC 4.3.0, the compiler supports the -march=native switch which turns on CPU autodetection and optimizations that are worth being enabled on the processor the GCC is running at. This is a problem with distcc as it allows mixing of code optimized for different processors (like AMD Athlon and Intel Pentium). Don't use -march=native or -mtune=native in your CFLAGS or CXXFLAGS when compiling with distcc .

I believe distcc uses the target system's -march setting when doing remote compile. So, it is okay to use -march=native on the big machine, but you cannot use it on the smaller target machines (assuming lesser instruction set) as that would tell distcc to build binaries with instructions they cannot use (since it is gcc itself deciding what 'native' means, not portage).

If you do "man gcc" you will find the possible choices for -march= on x86 somewhere around line 9000 or so.