warings.
* alloc.c (USE_VALGRIND): New macro; on by default
when ENABLE_CHECKING.
(mark_maybe_object,mark_maybe_pointer)
[USE_VALGRIND]: Mark conservatively-scanned regions valid for
valgrind purposes.
(valgrind_p) [USE_VALGRIND]: New variable.
(init_alloc) [USE_VALGRIND]: Initialize valgrind_p.
+2013-09-23 Daniel Colascione <dancol@dancol.org>
+
+ * configure.ac: Check for valgrind headers.
+
2013-09-20 Xue Fuqiao <xfq.free@gmail.com>
* INSTALL: New homepage of libtiff.
AC_SUBST(DESLIB)
AC_SUBST(KRB4LIB)
+AC_CHECK_HEADERS(valgrind/valgrind.h)
+
AC_CHECK_FUNCS_ONCE(tzset)
AC_MSG_CHECKING(whether localtime caches TZ)
AC_CACHE_VAL(emacs_cv_localtime_cache,
+2013-09-23 Daniel Colascione <dancol@dancol.org>
+
+ * alloc.c (USE_VALGRIND): New macro; on by default
+ when ENABLE_CHECKING.
+ (mark_maybe_object,mark_maybe_pointer)
+ [USE_VALGRIND]: Mark conservatively-scanned regions valid for
+ valgrind purposes.
+ (valgrind_p) [USE_VALGRIND]: New variable.
+ (init_alloc) [USE_VALGRIND]: Initialize valgrind_p.
+
2013-09-22 Jan Djärv <jan.h.d@swipnet.se>
* process.c (wait_reading_process_output): Change int pnamelen to
#include <verify.h>
+#if (defined ENABLE_CHECKING && \
+ defined HAVE_VALGRIND_VALGRIND_H && \
+ !defined USE_VALGRIND)
+# define USE_VALGRIND 1
+#endif
+
+#if USE_VALGRIND
+#include <valgrind/valgrind.h>
+#include <valgrind/memcheck.h>
+static int valgrind_p;
+#endif
+
/* GC_CHECK_MARKED_OBJECTS means do sanity checks on allocated objects.
Doable only if GC_MARK_STACK. */
#if ! GC_MARK_STACK
void *po;
struct mem_node *m;
+#if USE_VALGRIND
+ if (valgrind_p)
+ VALGRIND_MAKE_MEM_DEFINED (&obj, sizeof (obj));
+#endif
+
if (INTEGERP (obj))
return;
{
struct mem_node *m;
+#if USE_VALGRIND
+ if (valgrind_p)
+ VALGRIND_MAKE_MEM_DEFINED (&p, sizeof (p));
+#endif
+
/* Quickly rule out some values which can't point to Lisp data.
USE_LSB_TAG needs Lisp data to be aligned on multiples of GCALIGNMENT.
Otherwise, assume that Lisp data is aligned on even addresses. */
#endif
Vgc_elapsed = make_float (0.0);
gcs_done = 0;
+
+#if USE_VALGRIND
+ valgrind_p = RUNNING_ON_VALGRIND;
+#endif
}
void