diff options
author | Jeff King <peff@peff.net> | 2017-07-10 09:24:42 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-07-10 10:02:29 -0700 |
commit | 56b5db30d0dc1e5d20fa28cbb6e76a5a932d812f (patch) | |
tree | 59960bb4af05344a5836b2c8640ee66e5e30a4cd /Makefile | |
parent | bf1ce904b753b76ac3e20dde68777ce4625b60ed (diff) | |
download | git-56b5db30d0dc1e5d20fa28cbb6e76a5a932d812f.tar.gz |
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 <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -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 |