sys/sysinfo.h
coff.h pty.h
sys/resource.h
- sys/utsname.h pwd.h utmp.h util.h)
+ sys/utsname.h pwd.h utmp.h util.h
+ sanitizer/lsan_interface.h)
AC_CACHE_CHECK([for ADDR_NO_RANDOMIZE],
[emacs_cv_personality_addr_no_randomize],
#include <stdlib.h>
#include <unistd.h>
+#ifdef HAVE_SANITIZER_LSAN_INTERFACE_H
+#include <sanitizer/lsan_interface.h>
+#endif
+
#include <verify.h>
#include "lisp.h"
#else
p = xrealloc (b->text->beg, new_nbytes);
#endif
+#ifdef HAVE_SANITIZER_LSAN_INTERFACE_H
+ __lsan_ignore_object (p);
+#endif
if (p == NULL)
{
#include <math.h>
#include <stdio.h>
+#ifdef HAVE_SANITIZER_LSAN_INTERFACE_H
+#include <sanitizer/lsan_interface.h>
+#endif
+
#include <byteswap.h>
#include <count-one-bits.h>
#include <count-trailing-zeros.h>
set_blv_defcell (blv, tem);
set_blv_valcell (blv, tem);
set_blv_found (blv, false);
+#ifdef HAVE_SANITIZER_LSAN_INTERFACE_H
+ __lsan_ignore_object (blv);
+#endif
return blv;
}
#include <stdlib.h>
#include <time.h>
+#ifdef HAVE_SANITIZER_LSAN_INTERFACE_H
+#include <sanitizer/lsan_interface.h>
+#endif
+
#include "lisp.h"
#include "bignum.h"
#include "dynlib.h"
for two different runtime objects are guaranteed to be distinct,
which we can use for checking the liveness of runtime
pointers. */
- struct emacs_runtime *rt = module_assertions ? xmalloc (sizeof *rt) : &rt_pub;
+ struct emacs_runtime *rt;
+ if (module_assertions)
+ {
+ rt = xmalloc (sizeof *rt);
+#ifdef HAVE_SANITIZER_LSAN_INTERFACE_H
+ __lsan_ignore_object (rt);
+#endif
+ }
+ else
+ rt = &rt_pub;
rt->size = sizeof *rt;
rt->private_members = &rt_priv;
rt->get_environment = module_get_environment;
initialize_environment (emacs_env *env, struct emacs_env_private *priv)
{
if (module_assertions)
+ {
env = xmalloc (sizeof *env);
+ __lsan_ignore_object (env);
+ }
priv->pending_non_local_exit = emacs_funcall_exit_return;
initialize_storage (&priv->storage);