diff options
author | Uli Schlachter <psychon@znc.in> | 2022-05-08 19:17:27 +0200 |
---|---|---|
committer | Uli Schlachter <psychon@znc.in> | 2022-05-08 19:17:27 +0200 |
commit | 450d5d4549c391279650fb5d270ad59c3fc4e289 (patch) | |
tree | 3cafd93ec5d6d5b0e34c3092c38ea0bfca3a4ca9 | |
parent | fff49b23fca69721dca669ff4fb3289bc7c24660 (diff) | |
download | libfaketime-450d5d4549c391279650fb5d270ad59c3fc4e289.tar.gz |
Disable FAILRE_PRE_INIT_CALLS by default
Signed-off-by: Uli Schlachter <psychon@znc.in>
-rw-r--r-- | src/Makefile | 12 | ||||
-rw-r--r-- | test/libmallocintercept.c | 4 |
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, ×pec); pthread_mutex_unlock(&time_mutex); +#else + print_msg("FAIL_PRE_INIT_CALLS not defined, skipping poke_faketime() "); +#endif } void *malloc(size_t size) { |