From deb2200671d5b4856ca27d4286253db0d9e12a32 Mon Sep 17 00:00:00 2001 From: Andreas Hansson Date: Sat, 27 Sep 2014 09:08:34 -0400 Subject: [PATCH] scons: Address issues related to gcc 4.9.1 Fix a number few minor issues to please gcc 4.9.1. Removing the '-fuse-linker-plugin' flag means no libraries are part of the LTO process, but hopefully this is an acceptable loss, as the flag causes issues on a lot of systems (only certain combinations of gcc, ld and ar work). --- SConstruct | 8 +++----- src/arch/isa_parser.py | 4 +++- src/cpu/checker/cpu.cc | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/SConstruct b/SConstruct index 138df137f..883a52718 100755 --- a/SConstruct +++ b/SConstruct @@ -602,14 +602,12 @@ if main['GCC']: if not GetOption('no_lto'): # Pass the LTO flag when compiling to produce GIMPLE # output, we merely create the flags here and only append - # them later/ + # them later main['LTO_CCFLAGS'] = ['-flto=%d' % GetOption('num_jobs')] # Use the same amount of jobs for LTO as we are running - # scons with, we hardcode the use of the linker plugin - # which requires either gold or GNU ld >= 2.21 - main['LTO_LDFLAGS'] = ['-flto=%d' % GetOption('num_jobs'), - '-fuse-linker-plugin'] + # scons with + main['LTO_LDFLAGS'] = ['-flto=%d' % GetOption('num_jobs')] main.Append(TCMALLOC_CCFLAGS=['-fno-builtin-malloc', '-fno-builtin-calloc', '-fno-builtin-realloc', '-fno-builtin-free']) diff --git a/src/arch/isa_parser.py b/src/arch/isa_parser.py index 87e02cb31..aa773ae80 100755 --- a/src/arch/isa_parser.py +++ b/src/arch/isa_parser.py @@ -856,7 +856,9 @@ class PCStateOperand(Operand): ctype = 'TheISA::PCState' if self.isPCPart(): ctype = self.ctype - return "%s %s;\n" % (ctype, self.base_name) + # Note that initializations in the declarations are solely + # to avoid 'uninitialized variable' errors from the compiler. + return '%s %s = 0;\n' % (ctype, self.base_name) def isPCState(self): return 1 diff --git a/src/cpu/checker/cpu.cc b/src/cpu/checker/cpu.cc index c6dacf9db..61c127ec4 100644 --- a/src/cpu/checker/cpu.cc +++ b/src/cpu/checker/cpu.cc @@ -298,10 +298,10 @@ CheckerCPU::writeMem(uint8_t *data, unsigned size, // Cannot check this is actually what went to memory because // there stores can be in ld/st queue or coherent operations // overwriting values. - bool extraData; + bool extraData = false; if (unverifiedReq) { extraData = unverifiedReq->extraDataValid() ? - unverifiedReq->getExtraData() : 1; + unverifiedReq->getExtraData() : true; } if (unverifiedReq && unverifiedMemData &&