From: Jeff King Date: Mon, 10 Jul 2017 13:24:42 +0000 (-0400) Subject: Makefile: add helper for compiling with -fsanitize X-Git-Tag: v2.14.0-rc0~1^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=56b5db30d0dc1e5d20fa28cbb6e76a5a932d812f;p=thirdparty%2Fgit.git Makefile: add helper for compiling with -fsanitize You can already build and test with ASan by doing: make CFLAGS=-fsanitize=address test but there are a few slight annoyances: 1. It's a little long to type. 2. It override your CFLAGS completely. You'd probably still want -O2, for instance. 3. It's a good idea to also turn off "recovery", which lets the program keep running after a problem is detected (with the intention of finding as many bugs as possible in a given run). Since Git's test suite should generally run without triggering any problems, it's better to abort immediately and fail the test when we do find an issue. With this patch, all of that happens automatically when you run: make SANITIZE=address test Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- diff --git a/Makefile b/Makefile index ffa6da71b7..9fb2ff3e82 100644 --- a/Makefile +++ b/Makefile @@ -991,6 +991,10 @@ ifdef DEVELOPER CFLAGS += $(DEVELOPER_CFLAGS) endif +ifdef SANITIZE +BASIC_CFLAGS += -fsanitize=$(SANITIZE) -fno-sanitize-recover=$(SANITIZE) +endif + ifndef sysconfdir ifeq ($(prefix),/usr) sysconfdir = /etc