DWARF2 symbol support seems to be broken on Solaris. Use stabs+
authorAli Saidi <saidi@eecs.umich.edu>
Wed, 8 Nov 2006 20:05:54 +0000 (15:05 -0500)
committerAli Saidi <saidi@eecs.umich.edu>
Wed, 8 Nov 2006 20:05:54 +0000 (15:05 -0500)
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

src/SConscript
src/base/statistics.hh

index d938d533fa66ede3c3e312b5b3b71145000cff97..8d2c8566b3aff48d26f8e9744eb8fcab3e6d6026 100644 (file)
@@ -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
index 59f219c07c7f7d5090994a23c4e7d3cd169925d9..577ea5eab033b18bab280bde407516fc92d31b08 100644 (file)
@@ -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;