Stefan Reinauer (stefan.reinauer@coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/694
-gerrit
commit 05f4b03fb64999ba373fe61256f358e5371bf8ae Author: Stefan Reinauer reinauer@chromium.org Date: Thu Jun 23 17:12:08 2011 -0700
Use -mno-sse to prevent overzealous gcc optimizations
The offending part that made coreboot crash with some toolchains was that gcc emits SSE instructions but coreboot did not enable SSE at that point.
Since the gain for coreboot using SSE instructions is not measurable, let's not use SSE instructions rather than enabling SSE early on. One rationale behind this is that other parts of coreboot, like the SMM handler would need fixing because the XMM registers are not saved on SMM entry. Thus keep it simple.
Change-Id: I14f0942f300085767ece44cec570fb15c761e88d Signed-off-by: Stefan Reinauer reinauer@google.com --- util/xcompile/xcompile | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/util/xcompile/xcompile b/util/xcompile/xcompile index 4926394..f5d43d0 100644 --- a/util/xcompile/xcompile +++ b/util/xcompile/xcompile @@ -84,6 +84,10 @@ testcc "$CC" "$CFLAGS-Wl,--build-id=none " && CFLAGS="$CFLAGS-Wl,--build-id=none # now: testcc "$CC" "$CFLAGS-Wno-unused-but-set-variable " && \ CFLAGS="$CFLAGS-Wno-unused-but-set-variable " +# Use bfd linker instead of gold if available: +testcc "$CC" "$CFLAGS-fuse-ld=bfd " && CFLAGS="$CFLAGS-fuse-ld=bfd " && LINKER_SUFFIX='.bfd' +# Prevent SSE instructions sneaking in: +testcc "$CC" "$CFLAGS-mno-sse " && CFLAGS="$CFLAGS-mno-sse "
if which gcc 2>/dev/null >/dev/null; then HOSTCC=gcc