# ifdef LINUX
# define OS_TYPE "LINUX"
# define LINUX_STACKBOTTOM
-# define MPROTECT_VDB
+# if !defined(REDIRECT_MALLOC)
+# define MPROTECT_VDB
+# endif
# ifdef __ELF__
# define DYNAMIC_LOADING
EXTERN_C_END
# ifdef LINUX
# define OS_TYPE "LINUX"
# define LINUX_STACKBOTTOM
-# if !defined(GC_LINUX_THREADS) || !defined(REDIRECT_MALLOC)
+# if !defined(REDIRECT_MALLOC)
# define MPROTECT_VDB
# else
/* We seem to get random errors in incremental mode, */
# endif
extern int _end[];
# define DATAEND ((ptr_t)(_end))
-# define MPROTECT_VDB
+# if !defined(REDIRECT_MALLOC)
+# define MPROTECT_VDB
/* Has only been superficially tested. May not */
/* work on all versions. */
+# endif
# endif
# endif
/* statically linked executables and an undefined reference */
/* to _DYNAMIC */
# endif
-# define MPROTECT_VDB
+# if !defined(REDIRECT_MALLOC)
+# define MPROTECT_VDB
/* Requires Linux 2.3.47 or later. */
+# endif
extern int _end[];
# define DATAEND ((ptr_t)(_end))
# ifdef __GNUC__
# ifdef LINUX
# define OS_TYPE "LINUX"
# define LINUX_STACKBOTTOM
-# if !defined(GC_LINUX_THREADS) || !defined(REDIRECT_MALLOC)
+# if !defined(REDIRECT_MALLOC)
# define MPROTECT_VDB
# endif
# define DYNAMIC_LOADING
# ifdef LINUX
# define OS_TYPE "LINUX"
# define LINUX_STACKBOTTOM
-# if !defined(GC_LINUX_THREADS) || !defined(REDIRECT_MALLOC)
+# if !defined(REDIRECT_MALLOC)
# define MPROTECT_VDB
# endif
# define DYNAMIC_LOADING
# ifdef LINUX
# define OS_TYPE "LINUX"
# define LINUX_STACKBOTTOM
-# if !defined(GC_LINUX_THREADS) || !defined(REDIRECT_MALLOC)
+# if !defined(REDIRECT_MALLOC)
# define MPROTECT_VDB
# else
/* We seem to get random errors in incremental mode, */
# ifdef LINUX
# define OS_TYPE "LINUX"
# define LINUX_STACKBOTTOM
-# define MPROTECT_VDB
+# if !defined(REDIRECT_MALLOC)
+# define MPROTECT_VDB
+# endif
# define DYNAMIC_LOADING
EXTERN_C_END
# include <features.h>