summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUli Schlachter <psychon@znc.in>2022-05-08 19:17:27 +0200
committerUli Schlachter <psychon@znc.in>2022-05-08 19:17:27 +0200
commit450d5d4549c391279650fb5d270ad59c3fc4e289 (patch)
tree3cafd93ec5d6d5b0e34c3092c38ea0bfca3a4ca9
parentfff49b23fca69721dca669ff4fb3289bc7c24660 (diff)
downloadlibfaketime-450d5d4549c391279650fb5d270ad59c3fc4e289.tar.gz
Disable FAILRE_PRE_INIT_CALLS by default
Signed-off-by: Uli Schlachter <psychon@znc.in>
-rw-r--r--src/Makefile12
-rw-r--r--test/libmallocintercept.c4
2 files changed, 10 insertions, 6 deletions
diff --git a/src/Makefile b/src/Makefile
index df72d47..6ece674 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -27,11 +27,6 @@
# without this, but the performance impact may require you to
# try it unsynchronized.
#
-# FAIL_PRE_INIT_CALLS
-# - If the time is queried before the library was initialised, let the
-# call fail instead of trying to initialise on-the-fly. This fixes /
-# works around hangs that were seen with address sanitizer.
-#
# * Compilation Defines that are unset by default:
#
# FAKE_FILE_TIMESTAMPS, FAKE_UTIME
@@ -89,6 +84,11 @@
# - avoid that the faketime wrapper complains when running within a
# libfaketime environment
#
+# FAIL_PRE_INIT_CALLS
+# - If the time is queried before the library was initialised, let the
+# call fail instead of trying to initialise on-the-fly. This fixes /
+# works around hangs that were seen with address sanitizer.
+#
# * Compilation addition: second libMT target added for building the pthread-
# enabled library as a separate library
#
@@ -115,7 +115,7 @@ PREFIX ?= /usr/local
LIBDIRNAME ?= /lib/faketime
PLATFORM ?=$(shell uname)
-CFLAGS += -std=gnu99 -Wall -Wextra -Werror -Wno-nonnull-compare -DFAKE_PTHREAD -DFAKE_STAT -DFAKE_UTIME -DFAKE_SLEEP -DFAKE_TIMERS -DFAKE_INTERNAL_CALLS -DFAIL_PRE_INIT_CALLS -fPIC -DPREFIX='"'$(PREFIX)'"' -DLIBDIRNAME='"'$(LIBDIRNAME)'"' $(FAKETIME_COMPILE_CFLAGS)
+CFLAGS += -std=gnu99 -Wall -Wextra -Werror -Wno-nonnull-compare -DFAKE_PTHREAD -DFAKE_STAT -DFAKE_UTIME -DFAKE_SLEEP -DFAKE_TIMERS -DFAKE_INTERNAL_CALLS -fPIC -DPREFIX='"'$(PREFIX)'"' -DLIBDIRNAME='"'$(LIBDIRNAME)'"' $(FAKETIME_COMPILE_CFLAGS)
ifeq ($(PLATFORM),SunOS)
CFLAGS += -D__EXTENSIONS__ -D_XOPEN_SOURCE=600
endif
diff --git a/test/libmallocintercept.c b/test/libmallocintercept.c
index 363ea95..5ed0f67 100644
--- a/test/libmallocintercept.c
+++ b/test/libmallocintercept.c
@@ -50,6 +50,7 @@ static void* actual_malloc(size_t size) {
}
static void poke_faketime(void) {
+#ifdef FAIL_PRE_INIT_CALLS
/* To complicate things for libfaketime, this calls clock_gettime()
* while holding a lock. This should simulate problems that occurred
* with address sanitizer.
@@ -60,6 +61,9 @@ static void poke_faketime(void) {
pthread_mutex_lock(&time_mutex);
clock_gettime(CLOCK_REALTIME, &timespec);
pthread_mutex_unlock(&time_mutex);
+#else
+ print_msg("FAIL_PRE_INIT_CALLS not defined, skipping poke_faketime() ");
+#endif
}
void *malloc(size_t size) {