diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2006-11-08 15:05:54 -0500 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2006-11-08 15:05:54 -0500 |
commit | 100f9bfb0b87cfd393226efe714eb9259b978aff (patch) | |
tree | ce4d0b512c1c8313cd759d79b2c0db35d46e393a | |
parent | f7a35c33d70d99c1276a70c2ed1a86719e64973b (diff) | |
download | gem5-100f9bfb0b87cfd393226efe714eb9259b978aff.tar.xz |
DWARF2 symbol support seems to be broken on Solaris. Use stabs+
align the character arrays that are used by placement-new for classes lest we have an unaligned fault on SPARC/Solaris
src/SConscript:
DWARF2 symbol support seems to be broken on Solaris. Use stabs+
src/base/statistics.hh:
align the character arrays that are used by placement-new for classes lest we have an unaligned fault on SPARC/Solaris
--HG--
extra : convert_revision : bc875a4fdfb4553062d3278537bc32a5ab9b6cca
-rw-r--r-- | src/SConscript | 9 | ||||
-rw-r--r-- | src/base/statistics.hh | 4 |
2 files changed, 10 insertions, 3 deletions
diff --git a/src/SConscript b/src/SConscript index d938d533f..8d2c8566b 100644 --- a/src/SConscript +++ b/src/SConscript @@ -399,8 +399,15 @@ def makeEnv(label, objsfx, strip = False, **kwargs): envList.append(newEnv) # Debug binary +# Solaris seems to have some issue with DWARF2 debugging information, it's ok +# with stabs though +if sys.platform == 'sunos5': + debug_flag = '-gstabs+' +else: + debug_flag = '-ggdb3' + makeEnv('debug', '.do', - CCFLAGS = Split('-g3 -gdwarf-2 -O0'), + CCFLAGS = Split('%s -O0' % debug_flag), CPPDEFINES = 'DEBUG') # Optimized binary diff --git a/src/base/statistics.hh b/src/base/statistics.hh index 59f219c07..577ea5eab 100644 --- a/src/base/statistics.hh +++ b/src/base/statistics.hh @@ -696,7 +696,7 @@ class ScalarBase : public DataAccess protected: /** The storage of this stat. */ - char storage[sizeof(Storage)]; + char storage[sizeof(Storage)] __attribute__ ((aligned (8))); /** The parameters for this stat. */ Params params; @@ -1637,7 +1637,7 @@ class DistBase : public DataAccess protected: /** The storage for this stat. */ - char storage[sizeof(Storage)]; + char storage[sizeof(Storage)] __attribute__ ((aligned (8))); /** The parameters for this stat. */ Params params; |