/** Turn on debugging. */
/* #ifndef CONFIG_DEBUG
- #define CONFIG_DEBUG
- #endif
+ #define CONFIG_DEBUG
+ #endif
- #ifndef CONFIG_ASSERT
- #define CONFIG_ASSERT
- #endif
-*/
+ #ifndef CONFIG_ASSERT
+ #define CONFIG_ASSERT
+ #endif
+ */
/** Turn on support for dumping cyclegraphs as dot files at each
* printed summary.*/
#else
#define BIT48 0
#endif
-#endif /* BIT48 */
+#endif /* BIT48 */
/** Snapshotting configurables */
-/**
- * If USE_MPROTECT_SNAPSHOT=2, then snapshot by tuned mmap() algorithm
- * If USE_MPROTECT_SNAPSHOT=1, then snapshot by using mmap() and mprotect()
- * If USE_MPROTECT_SNAPSHOT=0, then snapshot by using fork() */
-#define USE_MPROTECT_SNAPSHOT 2
-
/** Size of signal stack */
-#define SIGSTACKSIZE 32768
+#define SIGSTACKSIZE 65536
/** Page size configuration */
#define PAGESIZE 4096
+#define TLS 1
+
/** Thread parameters */
/* Size of stack to allocate for a thread. */
#define STACK_SIZE (1024 * 1024)
+/** How many shadow tables of memory to preallocate for data race detector. */
+#define SHADOWBASETABLES 4
+
+/** Enable debugging assertions (via ASSERT()) */
+//#define CONFIG_ASSERT
+
+/** Enable mitigations against fork handlers that call into locks... */
+#define FORK_HANDLER_HACK
+
+/** Enable smart fuzzer */
+//#define NEWFUZZER
+
+/** Define semantics of volatile memory operations. */
+#define memory_order_volatile_load memory_order_acquire
+#define memory_order_volatile_store memory_order_release
+
+//#define memory_order_volatile_load memory_order_relaxed
+//#define memory_order_volatile_store memory_order_relaxed
+
+//#define COLLECT_STAT
+#define REPORT_DATA_RACES
+
+//#define PRINT_TRACE
#endif