gem5: codebase patched to compile with ag++
This changes allows us to compile the gem5 simulator with ag++. It was tested with ag++ v0.8, built Apr 18 2013. Most of the changes are preprocessor directives like #ifndef __puma which have been inserted into the gem5 code. Unfortunately, a python script and a SWIG input file have been patched, too. Additionally, the CMake file has been updated. A single call to "make" now invokes the ag++ (instead of the g++) compiler front end. The new CMake target "gem5-allclean" should be used to clean the current project when building FailGem5. In addition to cleaning the Fail build directory, it also invokes "scons -c" in the gem5 build directory; that is, gem5 is cleaned as well. Change-Id: I20a92f025f34f626b81e30f2c873baeba189f83b
This commit is contained in:
@ -582,12 +582,23 @@ class FloatRegOperand(Operand):
|
||||
func = 'setFloatRegOperandBits'
|
||||
if self.write_code != None:
|
||||
return self.buildWriteCode(func)
|
||||
wb = '''
|
||||
{
|
||||
%s final_val = %s;
|
||||
xc->%s(this, %d, final_val);\n
|
||||
if (traceData) { traceData->setData(final_val); }
|
||||
}''' % (self.ctype, self.base_name, func, self.dest_reg_idx)
|
||||
# (DanceOS hack begin...
|
||||
if self.ctype == 'int32_t' or self.ctype == 'int16_t':
|
||||
print "Applying Fail* hack in %s@%s ... :-)" % \
|
||||
(__file__, inspect.currentframe().f_lineno)
|
||||
wb = '''
|
||||
{
|
||||
%s final_val = %s;
|
||||
xc->%s(this, %d, final_val);\n
|
||||
if (traceData) { traceData->setData((%s)final_val); }
|
||||
}''' % (self.ctype, self.base_name, func, self.dest_reg_idx, "u%s" % self.ctype)
|
||||
else: # ...DanceOS hack end)
|
||||
wb = '''
|
||||
{
|
||||
%s final_val = %s;
|
||||
xc->%s(this, %d, final_val);\n
|
||||
if (traceData) { traceData->setData(final_val); }
|
||||
}''' % (self.ctype, self.base_name, func, self.dest_reg_idx)
|
||||
return wb
|
||||
|
||||
class ControlRegOperand(Operand):
|
||||
|
||||
Reference in New Issue
Block a user