aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2020-01-30 14:17:09 -0800
committerJunio C Hamano <gitster@pobox.com>2020-01-30 14:17:09 -0800
commit808dab2b58bdf8fb28ad932f32659ede97bb2387 (patch)
tree7f691c6c5aa06e34af321dfe368f8fab02f6675a
parentMerge branch 'sg/completion-worktree' (diff)
parentMakefile: use compat regex with SANITIZE=address (diff)
downloadgit-808dab2b58bdf8fb28ad932f32659ede97bb2387.tar.gz
git-808dab2b58bdf8fb28ad932f32659ede97bb2387.zip
Merge branch 'jk/asan-build-fix'
Work around test breakages caused by custom regex engine used in libasan, when address sanitizer is used with more recent versions of gcc and clang. * jk/asan-build-fix: Makefile: use compat regex with SANITIZE=address
-rw-r--r--Makefile3
-rw-r--r--compat/regex/regex.h5
2 files changed, 8 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 0061f96e8a..6134104ae6 100644
--- a/Makefile
+++ b/Makefile
@@ -1221,6 +1221,9 @@ endif
ifneq ($(filter leak,$(SANITIZERS)),)
BASIC_CFLAGS += -DSUPPRESS_ANNOTATED_LEAKS
endif
+ifneq ($(filter address,$(SANITIZERS)),)
+NO_REGEX = NeededForASAN
+endif
endif
ifndef sysconfdir
diff --git a/compat/regex/regex.h b/compat/regex/regex.h
index 08a2609663..2d3412860d 100644
--- a/compat/regex/regex.h
+++ b/compat/regex/regex.h
@@ -41,6 +41,11 @@
extern "C" {
#endif
+#define regcomp git_regcomp
+#define regexec git_regexec
+#define regerror git_regerror
+#define regfree git_regfree
+
/* The following two types have to be signed and unsigned integer type
wide enough to hold a value of a pointer. For most ANSI compilers
ptrdiff_t and size_t should be likely OK. Still size of these two