changeset 894679c8cd63 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=894679c8cd63
description:
scons: Warn for incompatible gcc and binutils
It seems gcc >4.8 does not get along well with binutils <= 2.22, and
to help users this patch adds a warning with an indication for how to
fix the issue. It might even be worth adding a Exit(-1) and stop the
build.
diffstat:
SConstruct | 16 ++++++++++++++++
1 files changed, 16 insertions(+), 0 deletions(-)
diffs (26 lines):
diff -r c00b5ba43967 -r 894679c8cd63 SConstruct
--- a/SConstruct Mon Jul 28 12:23:23 2014 -0400
+++ b/SConstruct Sun Aug 10 05:38:56 2014 -0400
@@ -580,6 +580,22 @@
main['GCC_VERSION'] = gcc_version
+ # gcc from version 4.8 and above generates "rep; ret" instructions
+ # to avoid performance penalties on certain AMD chips. Older
+ # assemblers detect this as an error, "Error: expecting string
+ # instruction after `rep'"
+ if compareVersions(gcc_version, "4.8") > 0:
+ as_version = readCommand([main['AS'], '-v', '/dev/null'],
+ exception=False).split()
+
+ if not as_version or compareVersions(as_version[-1], "2.23") < 0:
+ print termcap.Yellow + termcap.Bold + \
+ 'Warning: This combination of gcc and binutils have' + \
+ ' known incompatibilities.\n' + \
+ ' If you encounter build problems, please update ' + \
+ 'binutils to 2.23.' + \
+ termcap.Normal
+
# Add the appropriate Link-Time Optimization (LTO) flags
# unless LTO is explicitly turned off. Note that these flags
# are only used by the fast target.
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev