As of 4.5.0 -march is always added to COLLECT_GCC_OPTIONS if gcc is not called with that option.
$> echo '' | gcc -v -E - 2>&1 | grep -E '^(COLLECT_GCC_OPTIONS|gcc)' gcc version 4.5.0 20100406 (prerelease) (CRUX) (GCC) COLLECT_GCC_OPTIONS='-v' '-E' '-mtune=generic' '-march=pentiumpro' the same with gcc 4.4.3: $> echo '' | gcc -v -E - 2>&1 | grep -E '^(gcc|COLLECT_GCC_OPTIONS)' gcc version 4.4.3 (CRUX) (GCC) COLLECT_GCC_OPTIONS='-v' '-E' '-mtune=generic' I run into that because I'm not able to compile glibc on i686 without explicit setting CC to something like "gcc -march=i586". The reason is the well known _i686 problem, see [1] for a exact description of my error and [2] for a very old but recently reopen glibc bug. [1] http://www.eglibc.org/archives/patches/msg00073.html [2] http://sources.redhat.com/bugzilla/show_bug.cgi?id=411 -- Summary: -march unconditionally added to COLLECT_GCC_OPTIONS Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: debug AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jue at jue dot li GCC build triplet: i686-pc-linux GCC host triplet: i686-pc-linux GCC target triplet: i686-pc-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43750