xcompile: always use -march=i686
When compiling coreboot for x86 on gcc the compiler is free to pick whatever defaults it is using at the time of gcc's compile/configuration when no -march is specified. Not properly specifying -march then opens up the use of SSE instructions for compilation units it should not be used such as the SMM module as this module doesn't save/restore SSE registers. Change-Id: I64d4a6c5fa9fadb4b35bc7097458e992a094dcba Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/172640 Reviewed-by: Stefan Reinauer <reinauer@google.com> (cherry picked from commit d49358f7959bb52c3e7ff67d37c21a1b294adf72) Signed-off-by: Isaac Christensen <isaac.christensen@se-eng.com> Reviewed-on: http://review.coreboot.org/6716 Tested-by: build bot (Jenkins)
This commit is contained in:
parent
9518b56ab0
commit
8414d3c0b4
|
@ -138,6 +138,11 @@ detect_special_flags() {
|
||||||
x86)
|
x86)
|
||||||
testcc "$CC" "$CFLAGS -Wa,--divide" &&
|
testcc "$CC" "$CFLAGS -Wa,--divide" &&
|
||||||
CFLAGS="$CFLAGS -Wa,--divide"
|
CFLAGS="$CFLAGS -Wa,--divide"
|
||||||
|
# Always build for i686 -- no sse/mmx instructions since SMM
|
||||||
|
# modules are compiled using these flags. Note that this
|
||||||
|
# doesn't prevent a project using xcompile to explicitly
|
||||||
|
# specify -mmsse, etc flags.
|
||||||
|
CFLAGS="$CFLAGS -march=i686"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue