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:
@ -101,14 +101,18 @@ void
|
||||
CompoundFlag::enable()
|
||||
{
|
||||
SimpleFlag::enable();
|
||||
#ifndef __puma // DanceOS (error: no matching function for call to `mem_fun')
|
||||
for_each(_kids.begin(), _kids.end(), mem_fun(&Flag::enable));
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
CompoundFlag::disable()
|
||||
{
|
||||
SimpleFlag::disable();
|
||||
#ifndef __puma // DanceOS (error: no matching function for call to `mem_fun')
|
||||
for_each(_kids.begin(), _kids.end(), mem_fun(&Flag::disable));
|
||||
#endif
|
||||
}
|
||||
|
||||
struct AllFlags : public Flag
|
||||
|
||||
@ -102,7 +102,10 @@ string
|
||||
EthAddr::string() const
|
||||
{
|
||||
stringstream stream;
|
||||
// DanceOS modification
|
||||
#ifndef __puma
|
||||
stream << *this;
|
||||
#endif
|
||||
return stream.str();
|
||||
}
|
||||
|
||||
|
||||
@ -69,6 +69,7 @@ class Random
|
||||
value = genrand() & (int8_t)-1;
|
||||
}
|
||||
|
||||
#ifndef __puma // DanceOS (redefinition of `_random')
|
||||
void
|
||||
_random(int16_t &value)
|
||||
{
|
||||
@ -86,6 +87,7 @@ class Random
|
||||
{
|
||||
value = (int64_t)genrand() << 32 | (int64_t)genrand();
|
||||
}
|
||||
#endif // DanceOS
|
||||
|
||||
void
|
||||
_random(uint8_t &value)
|
||||
@ -136,6 +138,7 @@ class Random
|
||||
return static_cast<int8_t>(min + genrand(diff));
|
||||
}
|
||||
|
||||
#ifndef __puma // DanceOS (redefinition of `_random')
|
||||
int16_t
|
||||
_random(int16_t min, int16_t max)
|
||||
{
|
||||
@ -156,6 +159,7 @@ class Random
|
||||
uint64_t diff = max - min;
|
||||
return static_cast<int64_t>(min + genrand(diff));
|
||||
}
|
||||
#endif // DanceOS
|
||||
|
||||
uint8_t
|
||||
_random(uint8_t min, uint8_t max)
|
||||
|
||||
@ -264,7 +264,10 @@ operator-(const Time &l, const Time &r)
|
||||
inline std::ostream &
|
||||
operator<<(std::ostream &out, const Time &time)
|
||||
{
|
||||
// DanceOS modification
|
||||
#ifndef __puma
|
||||
out << time.date();
|
||||
#endif
|
||||
return out;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user