Hi folks,
something seems wrong with this one:
On 25.08.2014 23:33, gerrit@coreboot.org wrote:
the following patch was just integrated into master: commit 8414d3c0b407d9afc6a2446dba3ca358da2c7bb6 Author: Aaron Durbin adurbin@chromium.org 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 <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)
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
Nico Huber wrote:
something seems wrong with this one:
On 25.08.2014 23:33, gerrit@coreboot.org wrote:
the following patch was just integrated into master: commit 8414d3c0b407d9afc6a2446dba3ca358da2c7bb6 Author: Aaron Durbin adurbin@chromium.org Date: Thu Oct 10 12:44:11 2013 -0500
xcompile: always use -march=i686
This is just bogus. Think of bifferboard and the Geodes.
//Peter
On 12.10.2014 22:45, Peter Stuge wrote:
Nico Huber wrote:
something seems wrong with this one:
On 25.08.2014 23:33, gerrit@coreboot.org wrote:
the following patch was just integrated into master: commit 8414d3c0b407d9afc6a2446dba3ca358da2c7bb6 Author: Aaron Durbin adurbin@chromium.org Date: Thu Oct 10 12:44:11 2013 -0500
xcompile: always use -march=i686
This is just bogus. Think of bifferboard and the Geodes.
Oh, yes. Thanks for reminding me. We do have 486 boards in the tree. Also, Vortex86 comes into mind. i686 seems really ridiculous.
But I still wonder why it doesn't work with the Core Duo...
Nico