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>
			
			
This commit is contained in:
		 Jeff King
					Jeff King
				
			
				
					committed by
					
						 Junio C Hamano
						Junio C Hamano
					
				
			
			
				
	
			
			
			 Junio C Hamano
						Junio C Hamano
					
				
			
						parent
						
							bf1ce904b7
						
					
				
				
					commit
					56b5db30d0
				
			
							
								
								
									
										4
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								Makefile
									
									
									
									
									
								
							| @ -991,6 +991,10 @@ ifdef DEVELOPER | |||||||
| CFLAGS += $(DEVELOPER_CFLAGS) | CFLAGS += $(DEVELOPER_CFLAGS) | ||||||
| endif | endif | ||||||
|  |  | ||||||
|  | ifdef SANITIZE | ||||||
|  | BASIC_CFLAGS += -fsanitize=$(SANITIZE) -fno-sanitize-recover=$(SANITIZE) | ||||||
|  | endif | ||||||
|  |  | ||||||
| ifndef sysconfdir | ifndef sysconfdir | ||||||
| ifeq ($(prefix),/usr) | ifeq ($(prefix),/usr) | ||||||
| sysconfdir = /etc | sysconfdir = /etc | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user