mirror of
				https://github.com/GrapheneOS/hardened_malloc.git
				synced 2025-10-27 22:46:32 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			60 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| dir=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
 | |
| 
 | |
| CONFIG_SLAB_CANARY := true
 | |
| # Clang 13 still doesn't enable sized deallocation by default
 | |
| CXXFLAGS := -std=c++17 -fsized-deallocation
 | |
| 
 | |
| ifeq (,$(filter $(CONFIG_SLAB_CANARY),true false))
 | |
|     $(error CONFIG_SLAB_CANARY must be true or false)
 | |
| endif
 | |
| 
 | |
| CPPFLAGS += -D_GNU_SOURCE \
 | |
|     -DSLAB_CANARY=$(CONFIG_SLAB_CANARY)
 | |
| 
 | |
| LDLIBS := -lhardened_malloc
 | |
| 
 | |
| LDFLAGS := -Wl,-L$(dir)../../out,-R,$(dir)../../out
 | |
| 
 | |
| EXECUTABLES := \
 | |
|     double_free_large \
 | |
|     double_free_large_delayed \
 | |
|     double_free_small \
 | |
|     double_free_small_delayed \
 | |
|     unaligned_free_large \
 | |
|     unaligned_free_small \
 | |
|     read_after_free_large \
 | |
|     read_after_free_small \
 | |
|     write_after_free_large \
 | |
|     write_after_free_large_reuse \
 | |
|     write_after_free_small \
 | |
|     write_after_free_small_reuse \
 | |
|     read_zero_size \
 | |
|     write_zero_size \
 | |
|     invalid_free_protected \
 | |
|     invalid_free_unprotected \
 | |
|     invalid_free_small_region \
 | |
|     invalid_free_small_region_far \
 | |
|     uninitialized_read_small \
 | |
|     uninitialized_read_large \
 | |
|     uninitialized_free \
 | |
|     uninitialized_realloc \
 | |
|     uninitialized_malloc_usable_size \
 | |
|     overflow_large_1_byte \
 | |
|     overflow_large_8_byte \
 | |
|     overflow_small_1_byte \
 | |
|     overflow_small_8_byte \
 | |
|     string_overflow \
 | |
|     delete_type_size_mismatch \
 | |
|     unaligned_malloc_usable_size_small \
 | |
|     invalid_malloc_usable_size_small \
 | |
|     invalid_malloc_usable_size_small_quarantine \
 | |
|     malloc_object_size \
 | |
|     malloc_object_size_offset \
 | |
|     invalid_malloc_object_size_small \
 | |
|     invalid_malloc_object_size_small_quarantine \
 | |
|     impossibly_large_malloc
 | |
| 
 | |
| all: $(EXECUTABLES)
 | |
| 
 | |
| clean:
 | |
| 	rm -f $(EXECUTABLES)
 |