diff options
author | Harshavardhana <harsha@harshavardhana.net> | 2014-05-04 01:04:11 -0700 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2014-05-08 20:13:50 -0700 |
commit | 4f8c7cc34dad6a963f70dfcf11e737fd44c31a42 (patch) | |
tree | c1886528be8018de710c64d85aea9e55eb39ed84 | |
parent | 75baf16c01b7cc09fbf14e3c9ecf447c3c793c5b (diff) |
runtime: Disable optimization for OSX versions < 10.9
Optimization flags has led to segfaults at wrong locations
throughout gluster code for versions < 10.9
Assuming this to be a compiler bug, disable optimization
flags
Change-Id: Ia2dc983dc5bb06935f03b68c07688ce41255d7da
BUG: 1089172
Signed-off-by: Harshavardhana <harsha@harshavardhana.net>
Reviewed-on: http://review.gluster.org/7656
Reviewed-by: Justin Clift <justin@gluster.org>
Tested-by: Justin Clift <justin@gluster.org>
-rw-r--r-- | configure.ac | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/configure.ac b/configure.ac index 69fa0a71d71..b824cf92178 100644 --- a/configure.ac +++ b/configure.ac @@ -226,6 +226,18 @@ else CFLAGS="${CFLAGS} -g -O2" fi +case $host_os in + darwin*) + if ! test "`/usr/bin/sw_vers | grep ProductVersion: | cut -f 2 | cut -d. -f2`" -ge 7; then + AC_MSG_ERROR([You need at least OS X 10.7 (Lion) to build Glusterfs]) + fi + # OSX version lesser than 9 has llvm/clang optimization issues which leads to various segfaults + if test "`/usr/bin/sw_vers | grep ProductVersion: | cut -f 2 | cut -d. -f2`" -lt 9; then + CFLAGS="${CFLAGS} -g -O0 -DDEBUG" + fi + ;; +esac + AC_ARG_WITH(pkgconfigdir, [ --with-pkgconfigdir=DIR pkgconfig file in DIR @<:@LIBDIR/pkgconfig@:>@], [pkgconfigdir=$withval], @@ -313,14 +325,6 @@ AC_CHECK_HEADERS([linux/falloc.h]) AC_CHECK_HEADERS([libintl.h]) -case $host_os in - darwin*) - if ! test "`/usr/bin/sw_vers | grep ProductVersion: | cut -f 2 | cut -d. -f2`" -ge 7; then - AC_MSG_ERROR([You need at least OS X 10.7 (Lion) to build Glusterfs]) - fi - ;; -esac - dnl Mac OS X does not have spinlocks AC_CHECK_FUNC([pthread_spin_init], [have_spinlock=yes]) if test "x${have_spinlock}" = "xyes"; then |