mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
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. support-files/mysql.spec.sh: Bug #40546 Debug server in RPM is built with compiler optimization Modify CFLAGS and CXXFLAGS for the duration of the debug server build (implemented by doing it in a subshell) so that they do not contain any optimization flag. Play it safe and prepare for both gcc and icc.
This commit is contained in:
@ -306,8 +306,6 @@ mkdir -p $RBR%{_libdir}/mysql
|
|||||||
PATH=${MYSQL_BUILD_PATH:-/bin:/usr/bin}
|
PATH=${MYSQL_BUILD_PATH:-/bin:/usr/bin}
|
||||||
export PATH
|
export PATH
|
||||||
|
|
||||||
# Build the Debug binary.
|
|
||||||
|
|
||||||
# Use gcc for C and C++ code (to avoid a dependency on libstdc++ and
|
# Use gcc for C and C++ code (to avoid a dependency on libstdc++ and
|
||||||
# including exceptions into the code
|
# including exceptions into the code
|
||||||
if [ -z "$CXX" -a -z "$CC" ]
|
if [ -z "$CXX" -a -z "$CC" ]
|
||||||
@ -316,16 +314,25 @@ then
|
|||||||
export CXX="gcc"
|
export CXX="gcc"
|
||||||
fi
|
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
|
# Build the debug version
|
||||||
#
|
#
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
# Strip -Oxxx, add -g and --with-debug.
|
(
|
||||||
(cd mysql-debug-%{mysql_version} &&
|
# We are in a subshell, so we can modify variables just for one run.
|
||||||
CFLAGS=`echo "${MYSQL_BUILD_CFLAGS:-$RPM_OPT_FLAGS} -g" | sed -e 's/-O[0-9]*//g'` \
|
CFLAGS=`echo $CFLAGS | sed -e 's/-O[0-9]* //' -e 's/-unroll2 //' -e 's/-ip //' -e 's/$/ -g/'`
|
||||||
CXXFLAGS=`echo "${MYSQL_BUILD_CXXFLAGS:-$RPM_OPT_FLAGS -felide-constructors -fno-exceptions -fno-rtti} -g" | sed -e 's/-O[0-9]*//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 \
|
BuildMySQL "--enable-shared \
|
||||||
--with-debug \
|
--with-debug \
|
||||||
--with-innodb \
|
--with-innodb \
|
||||||
@ -357,8 +364,8 @@ fi
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
(cd mysql-release-%{mysql_version} &&
|
(cd mysql-release-%{mysql_version} &&
|
||||||
CFLAGS="${MYSQL_BUILD_CFLAGS:-$RPM_OPT_FLAGS} -g" \
|
CFLAGS=\"$CFLAGS\" \
|
||||||
CXXFLAGS="${MYSQL_BUILD_CXXFLAGS:-$RPM_OPT_FLAGS -felide-constructors -fno-exceptions -fno-rtti} -g" \
|
CXXFLAGS=\"$CXXFLAGS\" \
|
||||||
BuildMySQL "--enable-shared \
|
BuildMySQL "--enable-shared \
|
||||||
--with-innodb \
|
--with-innodb \
|
||||||
%if %{CLUSTER_BUILD}
|
%if %{CLUSTER_BUILD}
|
||||||
@ -833,6 +840,11 @@ fi
|
|||||||
# itself - note that they must be ordered by date (important when
|
# itself - note that they must be ordered by date (important when
|
||||||
# merging BK trees)
|
# merging BK trees)
|
||||||
%changelog
|
%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>
|
* Fri Aug 29 2008 Kent Boortz <kent@mysql.com>
|
||||||
|
|
||||||
- Removed the "Federated" storage engine option, and enabled in all
|
- Removed the "Federated" storage engine option, and enabled in all
|
||||||
|
Reference in New Issue
Block a user