From 100f9bfb0b87cfd393226efe714eb9259b978aff Mon Sep 17 00:00:00 2001 From: Ali Saidi Date: Wed, 8 Nov 2006 15:05:54 -0500 Subject: [PATCH] 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 --- src/SConscript | 9 ++++++++- 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;