diff options
author | Joerg Bruehe <joerg@mysql.com> | 2008-11-06 17:09:14 +0100 |
---|---|---|
committer | Joerg Bruehe <joerg@mysql.com> | 2008-11-06 17:09:14 +0100 |
commit | fb7e23eb448cf12bdbd3184229f9378675c45759 (patch) | |
tree | 12a4c1e599f7891b3ba6896fca9295928254d963 /support-files | |
parent | ac1c5f5046304bd09224cd9702a06f73b755fb68 (diff) | |
parent | e7fe28805434bd94d0f42c9e413fb3933d46edf3 (diff) | |
download | mariadb-git-fb7e23eb448cf12bdbd3184229f9378675c45759.tar.gz |
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.
Diffstat (limited to 'support-files')
-rw-r--r-- | support-files/mysql.spec.sh | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/support-files/mysql.spec.sh b/support-files/mysql.spec.sh index 31e1c205d66..e7c090484b7 100644 --- a/support-files/mysql.spec.sh +++ b/support-files/mysql.spec.sh @@ -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 |