We have a user that is getting illegal instruction errors while building xulrunner.
/var/tmp/portage/net-libs/xulrunner-1.9.2.3-r1/work/mozilla-1.9.2/dist/bin/xpidl -m typelib -w -I. -I../../dist/idl -e _xpidlgen/nsIConsoleListener.xpt -d .deps/nsIConsoleListener.pp nsIConsoleListener.idl make[4]: *** [_xpidlgen/nsIConsoleListener.xpt] Illegal instruction It turns out that using -march=native with his Core i5 processor results in -march=atom being used, specifically: gcc version 4.5.0 (Gentoo 4.5.0 p1.0) COLLECT_GCC_OPTIONS= '-v' '-o' 'test' /usr/libexec/gcc/x86_64-pc-linux-gnu/4.5.0/cc1 -quiet -v test.c -D_FORTIFY_SOURCE=2 -march=atom -mcx16 -msahf -maes -mpclmul -mpopcnt -msse4.2 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=3072 -mtune=core2 -quiet -dumpbase test.c -auxbase test -version -o /tmp/ccmAagyo.s I believe the issue is that this processor doesn't support mmovbe, which -march=atom enables (the error doesn't occur w/ -march=atom -mno-movbe). Am I right in guessing that it should instead be using -march=core2 + a bunch of -m flags? I will attach his /proc/cpuinfo. Let me know what other info you need. http://bugs.gentoo.org/317513 -- Summary: Intel Core i5 M520 CPU detected as atom with - march=native Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dirtyepic at gentoo dot org GCC build triplet: x86_64-pc-linux-gnu GCC host triplet: x86_64-pc-linux-gnu GCC target triplet: x86_64-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44046