Commit fb7e23eb authored by Joerg Bruehe's avatar Joerg Bruehe
Browse files

Bug #40546 Debug server in RPM is built with compiler optimization

Prevent this by modifying CFLAGS and CXXFLAGS.

Upmerge from 5.0, modified according to the different spec file structure.
parents ac1c5f50 e7fe2880
Loading
Loading
Loading
Loading
+20 −8
Original line number Diff line number Diff line
@@ -306,8 +306,6 @@ mkdir -p $RBR%{_libdir}/mysql
PATH=${MYSQL_BUILD_PATH:-/bin:/usr/bin}
export PATH

# Build the Debug binary.

# Use gcc for C and C++ code (to avoid a dependency on libstdc++ and
# including exceptions into the code
if [ -z "$CXX" -a -z "$CC" ]
@@ -316,16 +314,25 @@ then
	export CXX="gcc"
fi

# Prepare compiler flags
CFLAGS=${MYSQL_BUILD_CFLAGS:-$RPM_OPT_FLAGS}
CXXFLAGS=${MYSQL_BUILD_CXXFLAGS:-$RPM_OPT_FLAGS -felide-constructors -fno-exceptions -fno-rtti }

##############################################################################
#
#  Build the debug version
#
##############################################################################

# Strip -Oxxx, add -g and --with-debug.
(cd mysql-debug-%{mysql_version} &&
CFLAGS=`echo "${MYSQL_BUILD_CFLAGS:-$RPM_OPT_FLAGS} -g" | sed -e 's/-O[0-9]*//g'` \
CXXFLAGS=`echo "${MYSQL_BUILD_CXXFLAGS:-$RPM_OPT_FLAGS -felide-constructors -fno-exceptions -fno-rtti} -g" | sed -e 's/-O[0-9]*//g'` \
(
# We are in a subshell, so we can modify variables just for one run.
CFLAGS=`echo $CFLAGS | sed -e 's/-O[0-9]* //' -e 's/-unroll2 //' -e 's/-ip //' -e 's/$/ -g/'`
CXXFLAGS=`echo $CXXFLAGS | sed -e 's/-O[0-9]* //' -e 's/-unroll2 //' -e 's/-ip //' -e 's/$/ -g/'`

# Add -g and --with-debug.
cd mysql-debug-%{mysql_version} &&
CFLAGS=\"$CFLAGS\" \
CXXFLAGS=\"$CXXFLAGS\" \
BuildMySQL "--enable-shared \
		--with-debug \
		--with-innodb \
@@ -357,8 +364,8 @@ fi
##############################################################################

(cd mysql-release-%{mysql_version} &&
CFLAGS="${MYSQL_BUILD_CFLAGS:-$RPM_OPT_FLAGS} -g" \
CXXFLAGS="${MYSQL_BUILD_CXXFLAGS:-$RPM_OPT_FLAGS -felide-constructors -fno-exceptions -fno-rtti} -g" \
CFLAGS=\"$CFLAGS\" \
CXXFLAGS=\"$CXXFLAGS\" \
BuildMySQL "--enable-shared \
		--with-innodb \
%if %{CLUSTER_BUILD}
@@ -833,6 +840,11 @@ fi
# itself - note that they must be ordered by date (important when
# merging BK trees)
%changelog
* Thu Nov 06 2008 Joerg Bruehe <joerg@mysql.com>

- Modify CFLAGS and CXXFLAGS such that a debug build is not optimized.
  This should cover both gcc and icc flags.  Fixes bug#40546.
  
* Fri Aug 29 2008 Kent Boortz <kent@mysql.com>

- Removed the "Federated" storage engine option, and enabled in all