From e7fe28805434bd94d0f42c9e413fb3933d46edf3 Mon Sep 17 00:00:00 2001 From: Joerg Bruehe Date: Thu, 6 Nov 2008 16:24:58 +0100 Subject: Bug #40546 Debug server in RPM is built with compiler optimization Prevent this by modifying CFLAGS and CXXFLAGS. --- support-files/mysql.spec.sh | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) (limited to 'support-files') diff --git a/support-files/mysql.spec.sh b/support-files/mysql.spec.sh index 2f09ebc61b2..dc80d379b83 100644 --- a/support-files/mysql.spec.sh +++ b/support-files/mysql.spec.sh @@ -240,10 +240,8 @@ BuildMySQL() { sh -c "PATH=\"${MYSQL_BUILD_PATH:-$PATH}\" \ CC=\"${CC:-$MYSQL_BUILD_CC}\" \ CXX=\"${CXX:-$MYSQL_BUILD_CXX}\" \ - CFLAGS=\"${MYSQL_BUILD_CFLAGS:-$RPM_OPT_FLAGS}\" \ - CXXFLAGS=\"${MYSQL_BUILD_CXXFLAGS:-$RPM_OPT_FLAGS \ - -felide-constructors -fno-exceptions -fno-rtti \ - }\" \ + CFLAGS=\"$CFLAGS\" \ + CXXFLAGS=\"$CXXFLAGS\" \ LDFLAGS=\"$MYSQL_BUILD_LDFLAGS\" \ ./configure \ $* \ @@ -307,6 +305,10 @@ 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 } + # # Only link statically on our i386 build host (which has a specially # patched static glibc installed) - ia64 and x86_64 run glibc-2.3 (unpatched) @@ -314,6 +316,14 @@ fi # for servertype in '--with-debug=full' ' ' do + ( + # We are in a subshell, so we can modify variables just for one run. + if test "$servertype" != ' ' + then + CFLAGS=`echo $CFLAGS | sed -e 's/-O[0-9]* //' -e 's/-unroll2 //' -e 's/-ip //'` + CXXFLAGS=`echo $CXXFLAGS | sed -e 's/-O[0-9]* //' -e 's/-unroll2 //' -e 's/-ip //'` + fi + BuildMySQL "\ %if %{STATIC_BUILD} --disable-shared \ @@ -335,6 +345,7 @@ do --with-blackhole-storage-engine \ --with-federated-storage-engine \ --with-big-tables $servertype" + if test "$servertype" != ' ' then # if this is not the regular build, we save the server binary @@ -344,6 +355,7 @@ do make test-bt-debug make clean fi + ) done ./libtool --mode=execute nm --numeric-sort sql/mysqld > sql/mysqld.sym @@ -795,6 +807,11 @@ fi # itself - note that they must be ordered by date (important when # merging BK trees) %changelog +* Thu Nov 06 2008 Joerg Bruehe + +- Modify CFLAGS and CXXFLAGS such that a debug build is not optimized. + This should cover both gcc and icc flags. Fixes bug#40546. + * Mon Aug 18 2008 Joerg Bruehe - Get rid of the "warning: Installed (but unpackaged) file(s) found:" -- cgit v1.2.1