mirror of
https://github.com/MariaDB/server.git
synced 2025-08-31 22:22:30 +03:00
Bug#13418934 REMOVE HAVE_PURIFY DEPENDENCES FROM INNODB
InnoDB: Remove HAVE_purify, UNIV_INIT_MEM_TO_ZERO, UNIV_SET_MEM_TO_ZERO. The compile-time setting HAVE_purify can mask potential bugs. It is being set in PB2 Valgrind runs. We should simply get rid of it, and replace it with UNIV_MEM_INVALID() to declare uninitialized memory as such in Valgrind-instrumented binaries. os_mem_alloc_large(), ut_malloc_low(): Remove the parameter set_to_zero. ut_malloc(): Define as a macro that invokes ut_malloc_low(). buf_pool_init(): Never initialize the buffer pool frames. All pages must be initialized before flushing them to disk. mem_heap_alloc(): Never initialize the allocated memory block. os_mem_alloc_nocache(), ut_test_malloc(): Unused function, remove. rb:813 approved by Jimmy Yang
This commit is contained in:
@@ -146,14 +146,6 @@ Sun Studio */
|
||||
/* DEBUG VERSION CONTROL
|
||||
===================== */
|
||||
|
||||
/* The following flag will make InnoDB to initialize
|
||||
all memory it allocates to zero. It hides Purify
|
||||
warnings about reading unallocated memory unless
|
||||
memory is read outside the allocated blocks. */
|
||||
/*
|
||||
#define UNIV_INIT_MEM_TO_ZERO
|
||||
*/
|
||||
|
||||
/* When this macro is defined then additional test functions will be
|
||||
compiled. These functions live at the end of each relevant source file
|
||||
and have "test_" prefix. These functions are not called from anywhere in
|
||||
@@ -218,15 +210,6 @@ operations (very slow); also UNIV_DEBUG must be defined */
|
||||
#define UNIV_BTR_DEBUG /* check B-tree links */
|
||||
#define UNIV_LIGHT_MEM_DEBUG /* light memory debugging */
|
||||
|
||||
#ifdef HAVE_purify
|
||||
/* The following sets all new allocated memory to zero before use:
|
||||
this can be used to eliminate unnecessary Purify warnings, but note that
|
||||
it also masks many bugs Purify could detect. For detailed Purify analysis it
|
||||
is best to remove the define below and look through the warnings one
|
||||
by one. */
|
||||
#define UNIV_SET_MEM_TO_ZERO
|
||||
#endif
|
||||
|
||||
/*
|
||||
#define UNIV_SQL_DEBUG
|
||||
#define UNIV_LOG_DEBUG
|
||||
|
Reference in New Issue
Block a user