Commit 723b9205 authored by Joerg Bruehe's avatar Joerg Bruehe

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

Prevent this by modifying CFLAGS and CXXFLAGS.

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.
parent a83f5b18
......@@ -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 <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.
* Mon Aug 18 2008 Joerg Bruehe <joerg@mysql.com>
- Get rid of the "warning: Installed (but unpackaged) file(s) found:"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment