TO DO: Enable this in CMake-based builds.
------------------------------------------------------------
revno: 3474
revision-id: marko.makela@oracle.com-20100520104042-ma2nsscqdvwoph8k
parent: marko.makela@oracle.com-20100519081618-h38q02qxuvcowbtk
committer: Marko Mäkelä <marko.makela@oracle.com>
branch nick: 5.1-innodb
timestamp: Thu 2010-05-20 13:40:42 +0300
message:
Bug#53593: Add some instrumentation to improve Valgrind sensitivity
BUILD/*: Add valgrind_configs=--with-valgrind.
BUILD/*: Remove -USAFEMALLOC from valgrind_flags.
configure.in: Add AC_ARG_WITH(valgrind) and HAVE_VALGRIND.
include/my_sys.h: Define a number of MEM_ wrappers for VALGRIND_ functions.
include/my_sys.h: Make TRASH do MEM_UNDEFINED().
include/m_string.h: Remove unused macro bzero_if_purify(A,B).
_mymalloc(): Declare MEM_UNDEFINED() on the allocated memory.
_myfree(): Declare MEM_NOACCESS() on the freed memory.
storage/innobase/include/univ.i: Enable UNIV_DEBUG_VALGRIND based on
HAVE_VALGRIND rather than HAVE_purify.
Possible things to do:
* In my_global.h, remove the defined(HAVE_purify) condition
from the _WIN32 uint3korr().
* In my_global.h *int*korr(), use | instead of +
in order to keep the Valgrind V bits accurate
* Consider replacing HAVE_purify with HAVE_VALGRIND
* Use VALGRIND_CREATE_BLOCK, VALGRIND_DISCARD in mem_root and similar places
platforms and emphasize the fact that gcc is the default
compiler on all platforms.
Make it possible to say --compiler=SunStudio instead of
--compiler=forte
Fix a bug that lost an important flag for C++ builds.
for those cases when gcc, cc-5.0, icpc or icc isn't in the path.
Fixed handling of 32 and 64 bits.
Downgraded Solaris builds on Forte to use -xO2 rather than -xO3.
Made it possible to build 64-bits on Mac OS X
Fixed some bugs in setting CC, CXX, ASFLAGS, LDFLAGS
Fixed bugs relating to use of SunStudio/Forte in check-cpu
Reorganized code a bit
Removed the use of --with-fast-mutexes since they aren't really
fast, rather slow.
Added -static-libgcc when using gcc
Added optimising compilation flags on BSD
Added use of curses library on Solaris
Removed the use of MY_ATOMIC_MODE_RWLOCKS which removed use of
atomic instructions
Added support for Forte on Solaris/x86