[Maria-developers] bzr commit into MariaDB 5.1, with Maria 1.5:maria branch (knielsen:2699)
#At lp:maria 2699 knielsen@knielsen-hq.org 2009-04-27 We are now using Valgrind rather than purify, and have for quite some time. Consequently, rename HAVE_purify to HAVE_valgrind, and related changes. Leave some comments about purify when not clear that they apply also to Valgrind. Fix redundant IF_VALGRIND declaration. modified: BUILD/SETUP.sh BUILD/build_mccge.sh BUILD/compile-solaris-sparc-purify include/m_string.h include/my_global.h mysys/mf_qsort.c mysys/my_alloc.c mysys/my_init.c mysys/my_rnd.c mysys/safemalloc.c scripts/mysql_config.pl.in scripts/mysql_config.sh sql/field_conv.cc sql/filesort.cc sql/ha_partition.cc sql/hostname.cc sql/item_timefunc.cc sql/log_event.cc sql/log_event_old.cc sql/my_decimal.h sql/mysqld.cc sql/opt_range.cc sql/opt_range.h sql/records.cc sql/rpl_rli.cc sql/rpl_rli.h sql/slave.cc sql/sql_base.cc sql/sql_binlog.cc sql/sql_class.cc sql/sql_list.h sql/sql_load.cc sql/sql_select.cc sql/table.cc storage/archive/azio.c storage/innobase/buf/buf0buf.c storage/innobase/include/univ.i storage/innobase/srv/srv0start.c storage/maria/ha_maria.cc storage/maria/ma_blockrec.c storage/maria/ma_check.c storage/maria/ma_loghandler.c storage/maria/ma_packrec.c storage/maria/ma_page.c storage/maria/ma_pagecrc.c storage/maria/ma_search.c storage/myisam/mi_check.c storage/myisam/mi_page.c storage/myisam/mi_search.c storage/myisammrg/ha_myisammrg.cc strings/bcmp.c strings/decimal.c strings/strmake.c === modified file 'BUILD/SETUP.sh' --- a/BUILD/SETUP.sh 2009-03-22 12:16:09 +0000 +++ b/BUILD/SETUP.sh 2009-04-27 18:01:20 +0000 @@ -119,7 +119,7 @@ fi # Set flags for various build configurations. # Used in -valgrind builds -valgrind_flags="-USAFEMALLOC -UFORCE_INIT_OF_VARS -DHAVE_purify " +valgrind_flags="-USAFEMALLOC -UFORCE_INIT_OF_VARS -DHAVE_valgrind " valgrind_flags="$valgrind_flags -DMYSQL_SERVER_SUFFIX=-valgrind-max" # # Used in -debug builds === modified file 'BUILD/build_mccge.sh' --- a/BUILD/build_mccge.sh 2008-02-07 23:12:34 +0000 +++ b/BUILD/build_mccge.sh 2009-04-27 18:01:20 +0000 @@ -938,7 +938,7 @@ set_up_ccache() set_valgrind_flags() { if test "x$valgrind_flag" = "xyes" ; then - loc_valgrind_flags="-USAFEMALLOC -UFORCE_INIT_OF_VARS -DHAVE_purify " + loc_valgrind_flags="-USAFEMALLOC -UFORCE_INIT_OF_VARS -DHAVE_valgrind " loc_valgrind_flags="$loc_valgrind_flags -DMYSQL_SERVER_SUFFIX=-valgrind-max" compiler_flags="$compiler_flags $loc_valgrind_flags" fi === modified file 'BUILD/compile-solaris-sparc-purify' --- a/BUILD/compile-solaris-sparc-purify 2007-02-26 15:12:40 +0000 +++ b/BUILD/compile-solaris-sparc-purify 2009-04-27 18:01:20 +0000 @@ -37,7 +37,7 @@ make -k maintainer-clean || true path=`dirname $0` . "$path/autorun.sh" -CFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wimplicit-int -Wparentheses -Wsign-compare -Wwrite-strings -Wunused -DHAVE_purify -DEXTRA_DEBUG -O2" CXX=gcc CXXLD=g++ CXXFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -DHAVE_purify -DEXTRA_DEBUG -O2" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-embedded-server --with-innodb $EXTRA_CONFIG_FLAGS +CFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wimplicit-int -Wparentheses -Wsign-compare -Wwrite-strings -Wunused -DHAVE_valgrind -DEXTRA_DEBUG -O2" CXX=gcc CXXLD=g++ CXXFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -DHAVE_valgrind -DEXTRA_DEBUG -O2" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-embedded-server --with-innodb $EXTRA_CONFIG_FLAGS make -j 4 === modified file 'include/m_string.h' --- a/include/m_string.h 2008-06-26 15:10:11 +0000 +++ b/include/m_string.h 2009-04-27 18:01:20 +0000 @@ -108,7 +108,7 @@ extern const double log_10[309]; #define memcpy_fixed(A,B,C) memcpy((A),(B),(C)) #endif -#if (!defined(USE_BMOVE512) || defined(HAVE_purify)) && !defined(bmove512) +#if (!defined(USE_BMOVE512) || defined(HAVE_valgrind)) && !defined(bmove512) #define bmove512(A,B,C) memcpy(A,B,C) #endif @@ -125,14 +125,14 @@ extern void bzero(uchar * dst,size_t len #if !defined(bcmp) && !defined(HAVE_BCMP) extern size_t bcmp(const uchar *s1,const uchar *s2,size_t len); #endif -#ifdef HAVE_purify +#ifdef HAVE_valgrind extern size_t my_bcmp(const uchar *s1,const uchar *s2,size_t len); #undef bcmp #define bcmp(A,B,C) my_bcmp((A),(B),(C)) -#define bzero_if_purify(A,B) bzero(A,B) +#define bzero_if_valgrind(A,B) bzero(A,B) #else -#define bzero_if_purify(A,B) -#endif /* HAVE_purify */ +#define bzero_if_valgrind(A,B) +#endif /* HAVE_valgrind */ #if defined(_lint) || defined(FORCE_INIT_OF_VARS) #define LINT_INIT_STRUCT(var) bzero(&var, sizeof(var)) /* No uninitialize-warning */ === modified file 'include/my_global.h' --- a/include/my_global.h 2009-04-08 16:55:26 +0000 +++ b/include/my_global.h 2009-04-27 18:01:20 +0000 @@ -563,16 +563,16 @@ int __void__; #define LINT_INIT(var) #endif -#if defined(_lint) || defined(FORCE_INIT_OF_VARS) || defined(HAVE_purify) -#define PURIFY_OR_LINT_INIT(var) var=0 +#if defined(_lint) || defined(FORCE_INIT_OF_VARS) || defined(HAVE_valgrind) +#define VALGRIND_OR_LINT_INIT(var) var=0 #else -#define PURIFY_OR_LINT_INIT(var) +#define VALGRIND_OR_LINT_INIT(var) #endif -#ifdef HAVE_purify -#define IF_PURIFY(A,B) (A) +#ifdef HAVE_valgrind +#define IF_VALGRIND(A,B) (A) #else -#define IF_PURIFY(A,B) (B) +#define IF_VALGRIND(A,B) (B) #endif #if !defined(HAVE_UINT) @@ -1174,7 +1174,7 @@ typedef char bool; /* Ordinary boolean ((uint32) (uchar) (A)[0]))) #define sint4korr(A) (*((const long *) (A))) #define uint2korr(A) (*((const uint16 *) (A))) -#if defined(HAVE_purify) && !defined(_WIN32) +#if defined(HAVE_valgrind) && !defined(_WIN32) #define uint3korr(A) (uint32) (((uint32) ((uchar) (A)[0])) +\ (((uint32) ((uchar) (A)[1])) << 8) +\ (((uint32) ((uchar) (A)[2])) << 16)) @@ -1186,7 +1186,7 @@ typedef char bool; /* Ordinary boolean It means, that you have to provide enough allocated space ! */ #define uint3korr(A) (long) (*((const unsigned int *) (A)) & 0xFFFFFF) -#endif /* HAVE_purify && !_WIN32 */ +#endif /* HAVE_valgrind && !_WIN32 */ #define uint4korr(A) (*((const uint32 *) (A))) #define uint5korr(A) ((ulonglong)(((uint32) ((uchar) (A)[0])) +\ (((uint32) ((uchar) (A)[1])) << 8) +\ === modified file 'mysys/mf_qsort.c' --- a/mysys/mf_qsort.c 2007-10-17 16:08:58 +0000 +++ b/mysys/mf_qsort.c 2009-04-27 18:01:20 +0000 @@ -108,7 +108,7 @@ qsort_t my_qsort(void *base_ptr, size_t low = (char*) base_ptr; high = low+ size * (count - 1); stack_ptr = stack + 1; -#ifdef HAVE_purify +#ifdef HAVE_valgrind /* The first element in the stack will be accessed for the last POP */ stack[0].low=stack[0].high=0; #endif === modified file 'mysys/my_alloc.c' --- a/mysys/my_alloc.c 2009-01-15 18:11:25 +0000 +++ b/mysys/my_alloc.c 2009-04-27 18:01:20 +0000 @@ -56,7 +56,7 @@ void init_alloc_root(MEM_ROOT *mem_root, mem_root->block_num= 4; /* We shift this with >>2 */ mem_root->first_block_usage= 0; -#if !(defined(HAVE_purify) && defined(EXTRA_DEBUG)) +#if !(defined(HAVE_valgrind) && defined(EXTRA_DEBUG)) if (pre_alloc_size) { if ((mem_root->free= mem_root->pre_alloc= @@ -96,7 +96,7 @@ void reset_root_defaults(MEM_ROOT *mem_r DBUG_ASSERT(alloc_root_inited(mem_root)); mem_root->block_size= block_size - ALLOC_ROOT_MIN_BLOCK_SIZE; -#if !(defined(HAVE_purify) && defined(EXTRA_DEBUG)) +#if !(defined(HAVE_valgrind) && defined(EXTRA_DEBUG)) if (pre_alloc_size) { size_t size= pre_alloc_size + ALIGN_SIZE(sizeof(USED_MEM)); @@ -147,7 +147,7 @@ void reset_root_defaults(MEM_ROOT *mem_r void *alloc_root(MEM_ROOT *mem_root, size_t length) { -#if defined(HAVE_purify) && defined(EXTRA_DEBUG) +#if defined(HAVE_valgrind) && defined(EXTRA_DEBUG) reg1 USED_MEM *next; DBUG_ENTER("alloc_root"); DBUG_PRINT("enter",("root: 0x%lx", (long) mem_root)); === modified file 'mysys/my_init.c' --- a/mysys/my_init.c 2009-02-19 09:01:25 +0000 +++ b/mysys/my_init.c 2009-04-27 18:01:20 +0000 @@ -170,7 +170,7 @@ void my_end(int infoflag) { #ifdef HAVE_GETRUSAGE struct rusage rus; -#ifdef HAVE_purify +#ifdef HAVE_valgrind /* Purify assumes that rus is uninitialized after getrusage call */ bzero((char*) &rus, sizeof(rus)); #endif === modified file 'mysys/my_rnd.c' --- a/mysys/my_rnd.c 2007-12-14 08:47:00 +0000 +++ b/mysys/my_rnd.c 2009-04-27 18:01:20 +0000 @@ -26,7 +26,7 @@ void my_rnd_init(struct my_rnd_struct *rand_st, ulong seed1, ulong seed2) { -#ifdef HAVE_purify +#ifdef HAVE_valgrind bzero((char*) rand_st,sizeof(*rand_st)); /* Avoid UMC varnings */ #endif rand_st->max_value= 0x3FFFFFFFL; === modified file 'mysys/safemalloc.c' --- a/mysys/safemalloc.c 2008-10-10 15:28:41 +0000 +++ b/mysys/safemalloc.c 2009-04-27 18:01:20 +0000 @@ -304,7 +304,7 @@ void _myfree(void *ptr, const char *file sf_malloc_count--; pthread_mutex_unlock(&THR_LOCK_malloc); -#ifndef HAVE_purify +#ifndef HAVE_valgrind /* Mark this data as free'ed */ if (!sf_malloc_quick) bfill(ptr, irem->datasize, (pchar) FREE_VAL); === modified file 'scripts/mysql_config.pl.in' --- a/scripts/mysql_config.pl.in 2008-11-10 21:12:15 +0000 +++ b/scripts/mysql_config.pl.in 2009-04-27 18:01:20 +0000 @@ -44,7 +44,7 @@ use strict; my @exclude_cflags = qw/DDBUG_OFF DSAFEMALLOC USAFEMALLOC DSAFE_MUTEX DPEDANTIC_SAFEMALLOC DUNIV_MUST_NOT_INLINE DFORCE_INIT_OF_VARS - DEXTRA_DEBUG DHAVE_purify O O[0-9] xO[0-9] W[-A-Za-z]* + DEXTRA_DEBUG DHAVE_valgrind O O[0-9] xO[0-9] W[-A-Za-z]* Xa xstrconst xc99=none unroll2 ip mp restrict/; === modified file 'scripts/mysql_config.sh' --- a/scripts/mysql_config.sh 2008-11-10 21:12:15 +0000 +++ b/scripts/mysql_config.sh 2009-04-27 18:01:20 +0000 @@ -129,7 +129,7 @@ include="-I$pkgincludedir" # to make --cflags usable for HP C++ (aCC) for remove in DDBUG_OFF DSAFEMALLOC USAFEMALLOC DSAFE_MUTEX \ DPEDANTIC_SAFEMALLOC DUNIV_MUST_NOT_INLINE DFORCE_INIT_OF_VARS \ - DEXTRA_DEBUG DHAVE_purify O 'O[0-9]' 'xO[0-9]' 'W[-A-Za-z]*' \ + DEXTRA_DEBUG DHAVE_valgrind O 'O[0-9]' 'xO[0-9]' 'W[-A-Za-z]*' \ 'mtune=[-A-Za-z0-9]*' 'mcpu=[-A-Za-z0-9]*' 'march=[-A-Za-z0-9]*' \ Xa xstrconst "xc99=none" AC99 \ unroll2 ip mp restrict === modified file 'sql/field_conv.cc' --- a/sql/field_conv.cc 2009-01-31 21:22:44 +0000 +++ b/sql/field_conv.cc 2009-04-27 18:01:20 +0000 @@ -773,7 +773,7 @@ int field_conv(Field *to,Field *from) ((Field_varstring*)from)->length_bytes == ((Field_varstring*)to)->length_bytes)) { // Identical fields -#ifdef HAVE_purify +#ifdef HAVE_valgrind /* This may happen if one does 'UPDATE ... SET x=x' */ if (to->ptr != from->ptr) #endif === modified file 'sql/filesort.cc' --- a/sql/filesort.cc 2009-02-19 09:01:25 +0000 +++ b/sql/filesort.cc 2009-04-27 18:01:20 +0000 @@ -953,13 +953,13 @@ static void make_sortkey(register SORTPA if (addonf->null_bit && field->is_null()) { nulls[addonf->null_offset]|= addonf->null_bit; -#ifdef HAVE_purify +#ifdef HAVE_valgrind bzero(to, addonf->length); #endif } else { -#ifdef HAVE_purify +#ifdef HAVE_valgrind uchar *end= field->pack(to, field->ptr); uint length= (uint) ((to + addonf->length) - end); DBUG_ASSERT((int) length >= 0); === modified file 'sql/ha_partition.cc' --- a/sql/ha_partition.cc 2009-02-19 09:01:25 +0000 +++ b/sql/ha_partition.cc 2009-04-27 18:01:20 +0000 @@ -3548,10 +3548,10 @@ void ha_partition::position(const uchar (ref_length - PARTITION_BYTES_IN_POS)); #ifdef SUPPORTING_PARTITION_OVER_DIFFERENT_ENGINES -#ifdef HAVE_purify +#ifdef HAVE_valgrind bzero(ref + PARTITION_BYTES_IN_POS + ref_length, max_ref_length-ref_length); -#endif /* HAVE_purify */ +#endif /* HAVE_valgrind */ #endif DBUG_VOID_RETURN; } === modified file 'sql/hostname.cc' --- a/sql/hostname.cc 2007-10-11 17:29:09 +0000 +++ b/sql/hostname.cc 2009-04-27 18:01:20 +0000 @@ -175,7 +175,7 @@ char * ip_to_hostname(struct in_addr *in char buff[GETHOSTBYADDR_BUFF_SIZE],buff2[GETHOSTBYNAME_BUFF_SIZE]; int tmp_errno; struct hostent tmp_hostent, tmp_hostent2; -#ifdef HAVE_purify +#ifdef HAVE_valgrind bzero(buff,sizeof(buff)); // Bug in purify #endif if (!(hp=gethostbyaddr_r((char*) in,sizeof(*in), === modified file 'sql/item_timefunc.cc' --- a/sql/item_timefunc.cc 2009-02-15 10:58:34 +0000 +++ b/sql/item_timefunc.cc 2009-04-27 18:01:20 +0000 @@ -290,8 +290,8 @@ static bool extract_date_time(DATE_TIME_ LINT_INIT(strict_week_number); /* Remove valgrind varnings when using gcc 3.3 and -O1 */ - PURIFY_OR_LINT_INIT(strict_week_number_year_type); - PURIFY_OR_LINT_INIT(sunday_first_n_first_week_non_iso); + VALGRIND_OR_LINT_INIT(strict_week_number_year_type); + VALGRIND_OR_LINT_INIT(sunday_first_n_first_week_non_iso); if (!sub_pattern_end) bzero((char*) l_time, sizeof(*l_time)); === modified file 'sql/log_event.cc' --- a/sql/log_event.cc 2009-02-19 09:01:25 +0000 +++ b/sql/log_event.cc 2009-04-27 18:01:20 +0000 @@ -6990,7 +6990,7 @@ int Rows_log_event::do_add_row_data(ucha Don't print debug messages when running valgrind since they can trigger false warnings. */ -#ifndef HAVE_purify +#ifndef HAVE_valgrind DBUG_DUMP("row_data", row_data, min(length, 32)); #endif @@ -7771,7 +7771,7 @@ Table_map_log_event::Table_map_log_event Don't print debug messages when running valgrind since they can trigger false warnings. */ -#ifndef HAVE_purify +#ifndef HAVE_valgrind DBUG_DUMP("event buffer", (uchar*) buf, event_len); #endif @@ -8674,7 +8674,7 @@ int Rows_log_event::find_row(const Relay Don't print debug messages when running valgrind since they can trigger false warnings. */ -#ifndef HAVE_purify +#ifndef HAVE_valgrind DBUG_DUMP("key data", m_key, table->key_info->key_length); #endif @@ -8704,7 +8704,7 @@ int Rows_log_event::find_row(const Relay Don't print debug messages when running valgrind since they can trigger false warnings. */ -#ifndef HAVE_purify +#ifndef HAVE_valgrind DBUG_PRINT("info",("found first matching record")); DBUG_DUMP("record[0]", table->record[0], table->s->reclength); #endif @@ -9067,7 +9067,7 @@ Update_rows_log_event::do_exec_row(const Now we have the right row to update. The old row (the one we're looking for) is in record[1] and the new row is in record[0]. */ -#ifndef HAVE_purify +#ifndef HAVE_valgrind /* Don't print debug messages when running valgrind since they can trigger false warnings. === modified file 'sql/log_event_old.cc' --- a/sql/log_event_old.cc 2009-01-31 21:22:44 +0000 +++ b/sql/log_event_old.cc 2009-04-27 18:01:20 +0000 @@ -724,7 +724,7 @@ static int find_and_fetch_row(TABLE *tab Don't print debug messages when running valgrind since they can trigger false warnings. */ -#ifndef HAVE_purify +#ifndef HAVE_valgrind DBUG_DUMP("table->record[0]", table->record[0], table->s->reclength); DBUG_DUMP("table->record[1]", table->record[1], table->s->reclength); #endif @@ -750,7 +750,7 @@ static int find_and_fetch_row(TABLE *tab Don't print debug messages when running valgrind since they can trigger false warnings. */ -#ifndef HAVE_purify +#ifndef HAVE_valgrind DBUG_DUMP("table->record[0]", table->record[0], table->s->reclength); DBUG_DUMP("table->record[1]", table->record[1], table->s->reclength); #endif @@ -1404,7 +1404,7 @@ int Old_rows_log_event::do_add_row_data( Don't print debug messages when running valgrind since they can trigger false warnings. */ -#ifndef HAVE_purify +#ifndef HAVE_valgrind DBUG_DUMP("row_data", row_data, min(length, 32)); #endif @@ -2353,7 +2353,7 @@ int Old_rows_log_event::find_row(const R Don't print debug messages when running valgrind since they can trigger false warnings. */ -#ifndef HAVE_purify +#ifndef HAVE_valgrind DBUG_DUMP("key data", m_key, table->key_info->key_length); #endif @@ -2383,7 +2383,7 @@ int Old_rows_log_event::find_row(const R Don't print debug messages when running valgrind since they can trigger false warnings. */ -#ifndef HAVE_purify +#ifndef HAVE_valgrind DBUG_PRINT("info",("found first matching record")); DBUG_DUMP("record[0]", table->record[0], table->s->reclength); #endif @@ -2878,7 +2878,7 @@ Update_rows_log_event_old::do_exec_row(c Now we have the right row to update. The old row (the one we're looking for) is in record[1] and the new row is in record[0]. */ -#ifndef HAVE_purify +#ifndef HAVE_valgrind /* Don't print debug messages when running valgrind since they can trigger false warnings. === modified file 'sql/my_decimal.h' --- a/sql/my_decimal.h 2008-05-20 07:38:17 +0000 +++ b/sql/my_decimal.h 2009-04-27 18:01:20 +0000 @@ -99,7 +99,7 @@ public: { len= DECIMAL_BUFF_LENGTH; buf= buffer; -#if !defined (HAVE_purify) && !defined(DBUG_OFF) +#if !defined (HAVE_valgrind) && !defined(DBUG_OFF) /* Set buffer to 'random' value to find wrong buffer usage */ for (uint i= 0; i < DECIMAL_BUFF_LENGTH; i++) buffer[i]= i; === modified file 'sql/mysqld.cc' --- a/sql/mysqld.cc 2009-04-08 21:16:10 +0000 +++ b/sql/mysqld.cc 2009-04-27 18:01:20 +0000 @@ -57,12 +57,6 @@ #define mysqld_charset &my_charset_latin1 -#ifdef HAVE_purify -#define IF_PURIFY(A,B) (A) -#else -#define IF_PURIFY(A,B) (B) -#endif - #if SIZEOF_CHARP == 4 #define MAX_MEM_TABLE_SIZE ~(ulong) 0 #else @@ -76,9 +70,9 @@ char pstack_file_name[80]; #endif /* __linux__ */ -/* We have HAVE_purify below as this speeds up the shutdown of MySQL */ +/* We have HAVE_valgrind below as this speeds up the shutdown of MySQL */ -#if defined(HAVE_DEC_3_2_THREADS) || defined(SIGNALS_DONT_BREAK_READ) || defined(HAVE_purify) && defined(__linux__) +#if defined(HAVE_DEC_3_2_THREADS) || defined(SIGNALS_DONT_BREAK_READ) || defined(HAVE_valgrind) && defined(__linux__) #define HAVE_CLOSE_SERVER_SOCK 1 #endif @@ -6520,7 +6514,7 @@ log and this option does nothing anymore purify. These are not suppressed: instead we disable symlinks option if compiled with valgrind support. */ - IF_PURIFY(0,1), 0, 0, 0, 0, 0}, + IF_VALGRIND(0,1), 0, 0, 0, 0, 0}, {"sysdate-is-now", OPT_SYSDATE_IS_NOW, "Non-default option to alias SYSDATE() to NOW() to make it safe-replicable. Since 5.0, SYSDATE() returns a `dynamic' value different for different invocations, even within the same statement.", (uchar**) &global_system_variables.sysdate_is_now, @@ -6561,7 +6555,7 @@ log and this option does nothing anymore 0, 0, 0, 0, 0}, {"use-symbolic-links", 's', "Enable symbolic link support. Deprecated option; use --symbolic-links instead.", (uchar**) &my_use_symdir, (uchar**) &my_use_symdir, 0, GET_BOOL, NO_ARG, - IF_PURIFY(0,1), 0, 0, 0, 0, 0}, + IF_VALGRIND(0,1), 0, 0, 0, 0, 0}, {"user", 'u', "Run mysqld daemon as user.", 0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {"verbose", 'v', "Used with --help option for detailed help", @@ -7661,7 +7655,7 @@ static int mysql_init_variables(void) /* Things reset to zero */ opt_skip_slave_start= opt_reckless_slave = 0; mysql_home[0]= pidfile_name[0]= log_error_file[0]= 0; -#if defined(HAVE_REALPATH) && !defined(HAVE_purify) && !defined(HAVE_BROKEN_REALPATH) +#if defined(HAVE_REALPATH) && !defined(HAVE_valgrind) && !defined(HAVE_BROKEN_REALPATH) /* We can only test for sub paths if my_symlink.c is using realpath */ myisam_test_invalid_symlink= test_if_data_home_dir; #endif === modified file 'sql/opt_range.cc' --- a/sql/opt_range.cc 2009-02-19 09:01:25 +0000 +++ b/sql/opt_range.cc 2009-04-27 18:01:20 +0000 @@ -8347,7 +8347,7 @@ int QUICK_RANGE_SELECT::reset() multi_range_buff->buffer= mrange_buff; multi_range_buff->buffer_end= mrange_buff + mrange_bufsiz; multi_range_buff->end_of_used_area= mrange_buff; -#ifdef HAVE_purify +#ifdef HAVE_valgrind /* We need this until ndb will use the buffer efficiently (Now ndb stores complete row in here, instead of only the used fields === modified file 'sql/opt_range.h' --- a/sql/opt_range.h 2008-08-25 17:18:22 +0000 +++ b/sql/opt_range.h 2009-04-27 18:01:20 +0000 @@ -44,7 +44,7 @@ class QUICK_RANGE :public Sql_alloc { uint16 min_length,max_length,flag; key_part_map min_keypart_map, // bitmap of used keyparts in min_key max_keypart_map; // bitmap of used keyparts in max_key -#ifdef HAVE_purify +#ifdef HAVE_valgrind uint16 dummy; /* Avoid warnings on 'flag' */ #endif QUICK_RANGE(); /* Full range */ @@ -61,7 +61,7 @@ class QUICK_RANGE :public Sql_alloc { min_keypart_map(min_keypart_map_arg), max_keypart_map(max_keypart_map_arg) { -#ifdef HAVE_purify +#ifdef HAVE_valgrind dummy=0; #endif } === modified file 'sql/records.cc' --- a/sql/records.cc 2008-07-17 18:26:55 +0000 +++ b/sql/records.cc 2009-04-27 18:01:20 +0000 @@ -520,7 +520,7 @@ static int init_rr_cache(THD *thd, READ_ info->struct_length+1, MYF(0)))) DBUG_RETURN(1); -#ifdef HAVE_purify +#ifdef HAVE_valgrind // Avoid warnings in qsort bzero(info->cache,rec_cache_size+info->cache_records* info->struct_length+1); #endif === modified file 'sql/rpl_rli.cc' --- a/sql/rpl_rli.cc 2009-02-19 09:01:25 +0000 +++ b/sql/rpl_rli.cc 2009-04-27 18:01:20 +0000 @@ -34,7 +34,7 @@ Relay_log_info::Relay_log_info() no_storage(FALSE), replicate_same_server_id(::replicate_same_server_id), info_fd(-1), cur_log_fd(-1), save_temporary_tables(0), cur_log_old_open_count(0), group_relay_log_pos(0), event_relay_log_pos(0), -#if HAVE_purify +#if HAVE_valgrind is_fake(FALSE), #endif group_master_log_pos(0), log_space_total(0), ignore_log_space_limit(0), === modified file 'sql/rpl_rli.h' --- a/sql/rpl_rli.h 2008-02-27 17:46:06 +0000 +++ b/sql/rpl_rli.h 2009-04-27 18:01:20 +0000 @@ -154,7 +154,7 @@ public: ulonglong event_relay_log_pos; ulonglong future_event_relay_log_pos; -#ifdef HAVE_purify +#ifdef HAVE_valgrind bool is_fake; /* Mark that this is a fake relay log info structure */ #endif === modified file 'sql/slave.cc' --- a/sql/slave.cc 2009-02-19 09:01:25 +0000 +++ b/sql/slave.cc 2009-04-27 18:01:20 +0000 @@ -2014,7 +2014,7 @@ int apply_event_and_update_pos(Log_event if (exec_res == 0) { int error= ev->update_pos(rli); -#ifdef HAVE_purify +#ifdef HAVE_valgrind if (!rli->is_fake) #endif { === modified file 'sql/sql_base.cc' --- a/sql/sql_base.cc 2009-02-19 09:01:25 +0000 +++ b/sql/sql_base.cc 2009-04-27 18:01:20 +0000 @@ -3000,7 +3000,7 @@ TABLE *open_table(THD *thd, TABLE_LIST * table->pos_in_table_list= table_list; table_list->updatable= 1; // It is not derived table nor non-updatable VIEW table->clear_column_bitmaps(); -#if !defined(DBUG_OFF) && !defined(HAVE_purify) +#if !defined(DBUG_OFF) && !defined(HAVE_valgrind) /* Fill record with random values to find bugs where we access fields without first reading them. @@ -7363,7 +7363,7 @@ int setup_wild(THD *thd, TABLE_LIST *tab /* make * substituting permanent */ SELECT_LEX *select_lex= thd->lex->current_select; select_lex->with_wild= 0; -#ifdef HAVE_purify +#ifdef HAVE_valgrind if (&select_lex->item_list != &fields) // Avoid warning #endif select_lex->item_list= fields; === modified file 'sql/sql_binlog.cc' --- a/sql/sql_binlog.cc 2009-01-09 12:49:24 +0000 +++ b/sql/sql_binlog.cc 2009-04-27 18:01:20 +0000 @@ -59,7 +59,7 @@ void mysql_client_binlog_statement(THD* if (!thd->rli_fake) { thd->rli_fake= new Relay_log_info; -#ifdef HAVE_purify +#ifdef HAVE_valgrind thd->rli_fake->is_fake= TRUE; #endif have_fd_event= FALSE; @@ -95,7 +95,7 @@ void mysql_client_binlog_statement(THD* char const *endptr= 0; int bytes_decoded= base64_decode(strptr, coded_len, buf, &endptr); -#ifndef HAVE_purify +#ifndef HAVE_valgrind /* This debug printout should not be used for valgrind builds since it will read from unassigned memory. @@ -188,7 +188,7 @@ void mysql_client_binlog_statement(THD* bufptr += event_len; DBUG_PRINT("info",("ev->get_type_code()=%d", ev->get_type_code())); -#ifndef HAVE_purify +#ifndef HAVE_valgrind /* This debug printout should not be used for valgrind builds since it will read from unassigned memory. === modified file 'sql/sql_class.cc' --- a/sql/sql_class.cc 2009-03-12 22:27:35 +0000 +++ b/sql/sql_class.cc 2009-04-27 18:01:20 +0000 @@ -3480,7 +3480,7 @@ int THD::binlog_update_row(TABLE* table, Don't print debug messages when running valgrind since they can trigger false warnings. */ -#ifndef HAVE_purify +#ifndef HAVE_valgrind DBUG_DUMP("before_record", before_record, table->s->reclength); DBUG_DUMP("after_record", after_record, table->s->reclength); DBUG_DUMP("before_row", before_row, before_size); === modified file 'sql/sql_list.h' --- a/sql/sql_list.h 2009-01-15 18:11:25 +0000 +++ b/sql/sql_list.h 2009-04-27 18:01:20 +0000 @@ -43,7 +43,7 @@ public: static void operator delete[](void *ptr, MEM_ROOT *mem_root) { /* never called */ } static void operator delete[](void *ptr, size_t size) { TRASH(ptr, size); } -#ifdef HAVE_purify +#ifdef HAVE_valgrind bool dummy; inline Sql_alloc() :dummy(0) {} inline ~Sql_alloc() {} === modified file 'sql/sql_load.cc' --- a/sql/sql_load.cc 2009-01-31 21:22:44 +0000 +++ b/sql/sql_load.cc 2009-04-27 18:01:20 +0000 @@ -581,7 +581,7 @@ read_fixed_length(THD *thd, COPY_INFO &i } it.rewind(); uchar *pos=read_info.row_start; -#ifdef HAVE_purify +#ifdef HAVE_valgrind read_info.row_end[0]=0; #endif === modified file 'sql/sql_select.cc' --- a/sql/sql_select.cc 2009-04-08 16:55:26 +0000 +++ b/sql/sql_select.cc 2009-04-27 18:01:20 +0000 @@ -1818,7 +1818,7 @@ JOIN::exec() curr_join->having= curr_join->tmp_having= 0; // Allready done /* Change sum_fields reference to calculated fields in tmp_table */ -#ifdef HAVE_purify +#ifdef HAVE_valgrind if (curr_join != this) #endif curr_join->all_fields= *curr_all_fields; @@ -1840,7 +1840,7 @@ JOIN::exec() fields_list.elements, all_fields)) DBUG_VOID_RETURN; } -#ifdef HAVE_purify +#ifdef HAVE_valgrind if (curr_join != this) #endif { @@ -1994,7 +1994,7 @@ JOIN::exec() tmp_fields_list2, tmp_all_fields2, fields_list.elements, tmp_all_fields1)) DBUG_VOID_RETURN; -#ifdef HAVE_purify +#ifdef HAVE_valgrind /* Some GCCs use memcpy() for struct assignment, even for x=x. GCC bug 19410: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19410 @@ -2059,7 +2059,7 @@ JOIN::exec() tmp_table_param.save_copy_field= curr_join->tmp_table_param.copy_field; tmp_table_param.save_copy_field_end= curr_join->tmp_table_param.copy_field_end; -#ifdef HAVE_purify +#ifdef HAVE_valgrind if (curr_join != this) #endif { @@ -3848,7 +3848,7 @@ update_ref_and_keys(THD *thd, DYNAMIC_AR continue; } -#ifdef HAVE_purify +#ifdef HAVE_valgrind /* Valgrind complains about overlapped memcpy when save_pos==use. */ if (save_pos != use) #endif @@ -15138,7 +15138,7 @@ setup_copy_fields(THD *thd, TMP_TABLE_PA DBUG_ASSERT (param->field_count > (uint) (copy - copy_start)); copy->set(tmp, item->result_field); item->result_field->move_field(copy->to_ptr,copy->to_null_ptr,1); -#ifdef HAVE_purify +#ifdef HAVE_valgrind copy->to_ptr[copy->from_length]= 0; #endif copy++; === modified file 'sql/table.cc' --- a/sql/table.cc 2009-02-19 09:01:25 +0000 +++ b/sql/table.cc 2009-04-27 18:01:20 +0000 @@ -1694,7 +1694,7 @@ int open_table_from_share(THD *thd, TABL outparam->record[1]= outparam->record[0]; // Safety } -#ifdef HAVE_purify +#ifdef HAVE_valgrind /* We need this because when we read var-length rows, we are not updating bytes after end of varchar @@ -1916,7 +1916,7 @@ partititon_err: } } -#if defined(HAVE_purify) && !defined(DBUG_OFF) +#if defined(HAVE_valgrind) && !defined(DBUG_OFF) bzero((char*) bitmaps, bitmap_size*3); #endif === modified file 'storage/archive/azio.c' --- a/storage/archive/azio.c 2009-04-08 16:55:26 +0000 +++ b/storage/archive/azio.c 2009-04-27 18:01:20 +0000 @@ -63,7 +63,7 @@ void read_header(azio_stream *s, unsigne */ static void *az_allocator(void *dummy, uInt items, uInt size) { - return my_malloc((size_t)items*(size_t)size, IF_PURIFY(MY_ZEROFILL, MYF(0))); + return my_malloc((size_t)items*(size_t)size, IF_VALGRIND(MY_ZEROFILL, MYF(0))); } static void az_free(void *dummy, void *address) === modified file 'storage/innobase/buf/buf0buf.c' --- a/storage/innobase/buf/buf0buf.c 2008-08-20 00:37:41 +0000 +++ b/storage/innobase/buf/buf0buf.c 2009-04-27 18:01:20 +0000 @@ -756,7 +756,7 @@ buf_pool_init( /* Wipe contents of frame to eliminate a Purify warning */ -#ifdef HAVE_purify +#ifdef HAVE_valgrind memset(block->frame, '\0', UNIV_PAGE_SIZE); #endif if (srv_use_awe) { === modified file 'storage/innobase/include/univ.i' --- a/storage/innobase/include/univ.i 2008-03-27 01:40:45 +0000 +++ b/storage/innobase/include/univ.i 2009-04-27 18:01:20 +0000 @@ -107,7 +107,7 @@ operations (very slow); also UNIV_DEBUG #define UNIV_BTR_DEBUG /* check B-tree links */ #define UNIV_LIGHT_MEM_DEBUG /* light memory debugging */ -#ifdef HAVE_purify +#ifdef HAVE_valgrind /* 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 === modified file 'storage/innobase/srv/srv0start.c' --- a/storage/innobase/srv/srv0start.c 2008-12-14 19:21:24 +0000 +++ b/storage/innobase/srv/srv0start.c 2009-04-27 18:01:20 +0000 @@ -104,7 +104,7 @@ static char* srv_monitor_file_name; /* Avoid warnings when using purify */ -#ifdef HAVE_purify +#ifdef HAVE_valgrind static int inno_bcmp(register const char *s1, register const char *s2, register uint len) { === modified file 'storage/maria/ha_maria.cc' --- a/storage/maria/ha_maria.cc 2009-02-19 09:01:25 +0000 +++ b/storage/maria/ha_maria.cc 2009-04-27 18:01:20 +0000 @@ -3166,7 +3166,7 @@ static int ha_maria_init(void *p) ma_checkpoint_init(checkpoint_interval); maria_multi_threaded= maria_in_ha_maria= TRUE; -#if defined(HAVE_REALPATH) && !defined(HAVE_purify) && !defined(HAVE_BROKEN_REALPATH) +#if defined(HAVE_REALPATH) && !defined(HAVE_valgrind) && !defined(HAVE_BROKEN_REALPATH) /* We can only test for sub paths if my_symlink.c is using realpath */ maria_test_invalid_symlink= test_if_data_home_dir; #endif === modified file 'storage/maria/ma_blockrec.c' --- a/storage/maria/ma_blockrec.c 2009-04-08 08:47:30 +0000 +++ b/storage/maria/ma_blockrec.c 2009-04-27 18:01:20 +0000 @@ -1594,7 +1594,7 @@ static void make_empty_page(MARIA_HA *in bzero(buff, PAGE_HEADER_SIZE); -#if !defined(DONT_ZERO_PAGE_BLOCKS) || defined(HAVE_purify) +#if !defined(DONT_ZERO_PAGE_BLOCKS) || defined(HAVE_valgrind) /* We zero the rest of the block to avoid getting old memory information to disk and to allow the file to be compressed better if archived. === modified file 'storage/maria/ma_check.c' --- a/storage/maria/ma_check.c 2009-02-19 09:01:25 +0000 +++ b/storage/maria/ma_check.c 2009-04-27 18:01:20 +0000 @@ -4522,7 +4522,7 @@ static int sort_key_read(MARIA_SORT_PARA sort_param->current_filepos, 0); sort_param->real_key_length= int_key.data_length + int_key.ref_length; -#ifdef HAVE_purify +#ifdef HAVE_valgrind bzero(key+sort_param->real_key_length, (sort_param->key_length-sort_param->real_key_length)); #endif @@ -4567,7 +4567,7 @@ static int sort_maria_ft_key_read(MARIA_ sort_param->current_filepos); sort_param->real_key_length= int_key.data_length + int_key.ref_length; -#ifdef HAVE_purify +#ifdef HAVE_valgrind if (sort_param->key_length > sort_param->real_key_length) bzero(key+sort_param->real_key_length, (sort_param->key_length-sort_param->real_key_length)); @@ -5104,7 +5104,7 @@ static int sort_get_next_record(MARIA_SO llstr(sort_param->pos,llbuff)); continue; } -#ifdef HAVE_purify +#ifdef HAVE_valgrind bzero(sort_param->rec_buff + block_info.rec_len, share->base.extra_rec_buff_size); #endif === modified file 'storage/maria/ma_loghandler.c' --- a/storage/maria/ma_loghandler.c 2009-03-17 19:05:01 +0000 +++ b/storage/maria/ma_loghandler.c 2009-04-27 18:01:20 +0000 @@ -6194,12 +6194,12 @@ my_bool translog_write_record(LSN *lsn, { uint i; uint len= 0; -#ifdef HAVE_purify +#ifdef HAVE_valgrind ha_checksum checksum= 0; #endif for (i= TRANSLOG_INTERNAL_PARTS; i < part_no; i++) { -#ifdef HAVE_purify +#ifdef HAVE_valgrind /* Find unitialized bytes early */ checksum+= my_checksum(checksum, parts_data[i].str, parts_data[i].length); === modified file 'storage/maria/ma_packrec.c' --- a/storage/maria/ma_packrec.c 2009-01-09 04:23:25 +0000 +++ b/storage/maria/ma_packrec.c 2009-04-27 18:01:20 +0000 @@ -256,7 +256,7 @@ static my_bool _ma_read_pack_info(MARIA_ (uint) (share->pack.header_length-sizeof(header)), MYF(MY_NABP))) goto err2; -#ifdef HAVE_purify +#ifdef HAVE_valgrind /* Zero bytes accessed by fill_buffer */ bzero(disk_cache + (share->pack.header_length-sizeof(header)), share->base.extra_rec_buff_size); === modified file 'storage/maria/ma_page.c' --- a/storage/maria/ma_page.c 2008-09-01 17:31:40 +0000 +++ b/storage/maria/ma_page.c 2009-04-27 18:01:20 +0000 @@ -200,7 +200,7 @@ my_bool _ma_write_keypage(MARIA_PAGE *pa /* Verify that keynr is correct */ DBUG_ASSERT(_ma_get_keynr(share, buff) == page->keyinfo->key_nr); -#if defined(EXTRA_DEBUG) && defined(HAVE_purify) && defined(NOT_ANYMORE) +#if defined(EXTRA_DEBUG) && defined(HAVE_valgrind) && defined(NOT_ANYMORE) { /* This is here to catch uninitialized bytes */ uint length= page->size; === modified file 'storage/maria/ma_pagecrc.c' --- a/storage/maria/ma_pagecrc.c 2008-03-04 11:58:21 +0000 +++ b/storage/maria/ma_pagecrc.c 2009-04-27 18:01:20 +0000 @@ -318,7 +318,7 @@ my_bool maria_page_filler_set_none(uchar __attribute__((unused)), uchar *data_ptr __attribute__((unused))) { -#ifdef HAVE_purify +#ifdef HAVE_valgrind int4store_aligned(page + ((MARIA_SHARE *)data_ptr)->block_size - CRC_SIZE, 0); #endif === modified file 'storage/maria/ma_search.c' --- a/storage/maria/ma_search.c 2009-01-12 11:12:00 +0000 +++ b/storage/maria/ma_search.c 2009-04-27 18:01:20 +0000 @@ -2172,7 +2172,7 @@ int _ma_calc_bin_pack_key_length(const M s_temp->totlength= key_length= (int_key->data_length + int_key->ref_length+ nod_flag); -#ifdef HAVE_purify +#ifdef HAVE_valgrind s_temp->n_length= s_temp->n_ref_length=0; /* For valgrind */ #endif s_temp->key=key; === modified file 'storage/myisam/mi_check.c' --- a/storage/myisam/mi_check.c 2009-02-19 09:01:25 +0000 +++ b/storage/myisam/mi_check.c 2009-04-27 18:01:20 +0000 @@ -3147,7 +3147,7 @@ static int sort_key_read(MI_SORT_PARAM * (info->s->rec_reflength+ _mi_make_key(info, sort_param->key, (uchar*) key, sort_param->record, sort_param->filepos)); -#ifdef HAVE_purify +#ifdef HAVE_valgrind bzero(key+sort_param->real_key_length, (sort_param->key_length-sort_param->real_key_length)); #endif @@ -3187,7 +3187,7 @@ static int sort_ft_key_read(MI_SORT_PARA sort_param->real_key_length=(info->s->rec_reflength+ _ft_make_key(info, sort_param->key, key, wptr++, sort_param->filepos)); -#ifdef HAVE_purify +#ifdef HAVE_valgrind if (sort_param->key_length > sort_param->real_key_length) bzero(key+sort_param->real_key_length, (sort_param->key_length-sort_param->real_key_length)); === modified file 'storage/myisam/mi_page.c' --- a/storage/myisam/mi_page.c 2008-08-28 12:43:44 +0000 +++ b/storage/myisam/mi_page.c 2009-04-27 18:01:20 +0000 @@ -86,7 +86,7 @@ int _mi_write_keypage(register MI_INFO * if ((length=keyinfo->block_length) > IO_SIZE*2 && info->state->key_file_length != page+length) length= ((mi_getint(buff)+IO_SIZE-1) & (uint) ~(IO_SIZE-1)); -#ifdef HAVE_purify +#ifdef HAVE_valgrind { length=mi_getint(buff); bzero((uchar*) buff+length,keyinfo->block_length-length); === modified file 'storage/myisam/mi_search.c' --- a/storage/myisam/mi_search.c 2008-08-28 18:52:23 +0000 +++ b/storage/myisam/mi_search.c 2009-04-27 18:01:20 +0000 @@ -1749,7 +1749,7 @@ _mi_calc_bin_pack_key_length(MI_KEYDEF * uint length,key_length,ref_length; s_temp->totlength=key_length=_mi_keylength(keyinfo,key)+nod_flag; -#ifdef HAVE_purify +#ifdef HAVE_valgrind s_temp->n_length= s_temp->n_ref_length=0; /* For valgrind */ #endif s_temp->key=key; === modified file 'storage/myisammrg/ha_myisammrg.cc' --- a/storage/myisammrg/ha_myisammrg.cc 2008-12-04 00:36:55 +0000 +++ b/storage/myisammrg/ha_myisammrg.cc 2009-04-27 18:01:20 +0000 @@ -837,7 +837,7 @@ int ha_myisammrg::info(uint flag) { if (table->s->key_parts && mrg_info.rec_per_key) { -#ifdef HAVE_purify +#ifdef HAVE_valgrind /* valgrind may be unhappy about it, because optimizer may access values between file->keys and table->key_parts, that will be uninitialized. === modified file 'strings/bcmp.c' --- a/strings/bcmp.c 2007-05-10 09:59:39 +0000 +++ b/strings/bcmp.c 2009-04-27 18:01:20 +0000 @@ -24,7 +24,7 @@ #include <my_global.h> #include "m_string.h" -#ifdef HAVE_purify +#ifdef HAVE_valgrind #undef bcmp #undef HAVE_BCMP #endif @@ -50,7 +50,7 @@ uint len; /* 0 <= len <= 65535 */ #else -#ifndef HAVE_purify +#ifndef HAVE_valgrind size_t bcmp(register const uchar *s1,register const uchar *s2, register size_t len) #else === modified file 'strings/decimal.c' --- a/strings/decimal.c 2008-08-15 19:49:43 +0000 +++ b/strings/decimal.c 2009-04-27 18:01:20 +0000 @@ -144,7 +144,7 @@ static double scaler1[]= { 1.0, 10.0, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9 }; -#ifdef HAVE_purify +#ifdef HAVE_valgrind #define sanity(d) DBUG_ASSERT((d)->len > 0) #else #define sanity(d) DBUG_ASSERT((d)->len >0 && ((d)->buf[0] | \ === modified file 'strings/strmake.c' --- a/strings/strmake.c 2008-04-28 16:24:05 +0000 +++ b/strings/strmake.c 2009-04-27 18:01:20 +0000 @@ -51,11 +51,11 @@ char *strmake(register char *dst, regist */ if (length) { -#ifdef HAVE_purify +#ifdef HAVE_valgrind dst[length-1]= 'Z'; #else bfill(dst, length-1, (int) 'Z'); -#endif /* HAVE_purify */ +#endif /* HAVE_valgrind */ } #endif /* EXTRA_DEBUG */ return dst-1;
Hi! knielsen@knielsen-hq.org пишет:
#At lp:maria
2699 knielsen@knielsen-hq.org 2009-04-27 We are now using Valgrind rather than purify, and have for quite some time.
Consequently, rename HAVE_purify to HAVE_valgrind, and related changes.
Leave some comments about purify when not clear that they apply also to Valgrind.
OK to push. I hope that grep -Ri purify after the patch shows nothing suspicious. [skip]
participants (2)
-
knielsen@knielsen-hq.org
-
Oleksandr "Sanja" Byelkin