TRASH was mapped to TRASH_FREE and was supposed to be used for memory
that should not be accessed anymore, while TRASH_ALLOC() is to be
used for uninitialized but to-be-used memory.
But sometimes TRASH() was used in the latter sense.
Remove TRASH() macro, always use explicit TRASH_ALLOC() or TRASH_FREE().
... but differently
client/mysqltest.cc:
my_safe_print_str() don't append \n anymore
dbug/dbug.c:
restore safemalloc as a part of dbug suite
dbug/user.r:
restore 'S' flag documentation
include/my_dbug.h:
restore safemalloc as a part of dbug suite
include/my_sys.h:
move valgrind defines to a dedicated header
mysys/my_malloc.c:
use new safemalloc
mysys/stacktrace.c:
don't append \n. let the calller do it, if needed
sql/mysqld.cc:
my_safe_print_str() don't append \n anymore