Hi folks, something seems wrong with this one:
On 25.08.2014 23:33, [email protected] wrote: > the following patch was just integrated into master: > commit 8414d3c0b407d9afc6a2446dba3ca358da2c7bb6 > Author: Aaron Durbin <[email protected]> > Date: Thu Oct 10 12:44:11 2013 -0500 > > 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 <[email protected]> > Reviewed-on: https://chromium-review.googlesource.com/172640 > Reviewed-by: Stefan Reinauer <[email protected]> > (cherry picked from commit d49358f7959bb52c3e7ff67d37c21a1b294adf72) > Signed-off-by: Isaac Christensen <[email protected]> > Reviewed-on: http://review.coreboot.org/6716 > Tested-by: build bot (Jenkins) I bisected a no-serial-output problem on a kontron/986lcd-m with a Core Duo (Yonah) CPU, leading to this commit. I don't see what is going wrong here. Core Duo is obviously kind of i686, but specifying -march=i386 works around the problem. So far I haven't spotted any differences in generated code (other than reordering). If I don't specify -march=, the reference toolchain seems to generate the same code as with -march=i386. Maybe we should default to that? Also, I was told, that if you specify -march=, the compiler may use CPU features that have to be enabled first. Nico -- coreboot mailing list: [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

