2018-11-16 15:25:35 -05:00
|
|
|
CONFIG_SLAB_CANARY := true
|
2019-06-18 15:51:13 -04:00
|
|
|
CONFIG_EXTENDED_SIZE_CLASSES := true
|
2018-11-16 15:25:35 -05:00
|
|
|
|
2022-01-09 11:08:56 -05:00
|
|
|
ifneq ($(VARIANT),)
|
|
|
|
$(error testing non-default variants not yet supported)
|
|
|
|
endif
|
|
|
|
|
2018-11-16 15:25:35 -05:00
|
|
|
ifeq (,$(filter $(CONFIG_SLAB_CANARY),true false))
|
|
|
|
$(error CONFIG_SLAB_CANARY must be true or false)
|
|
|
|
endif
|
|
|
|
|
2022-01-21 14:47:21 -05:00
|
|
|
dir=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
|
|
|
|
|
2022-01-21 16:24:14 -05:00
|
|
|
CPPFLAGS := \
|
|
|
|
-D_GNU_SOURCE \
|
2019-06-18 15:51:13 -04:00
|
|
|
-DSLAB_CANARY=$(CONFIG_SLAB_CANARY) \
|
|
|
|
-DCONFIG_EXTENDED_SIZE_CLASSES=$(CONFIG_EXTENDED_SIZE_CLASSES)
|
2018-11-16 15:25:35 -05:00
|
|
|
|
2022-01-21 16:24:14 -05:00
|
|
|
SHARED_FLAGS := -O3
|
|
|
|
|
|
|
|
CFLAGS := -std=c17 $(SHARED_FLAGS) -Wmissing-prototypes
|
|
|
|
CXXFLAGS := -std=c++17 -fsized-deallocation $(SHARED_FLAGS)
|
|
|
|
LDFLAGS := -Wl,-L$(dir)../out,-R,$(dir)../out
|
|
|
|
|
|
|
|
LDLIBS := -lpthread -lhardened_malloc
|
|
|
|
|
2018-10-04 02:40:51 -04:00
|
|
|
EXECUTABLES := \
|
2019-04-06 20:49:52 -04:00
|
|
|
offset \
|
2019-04-30 16:47:06 -04:00
|
|
|
mallinfo \
|
2021-05-12 20:07:15 -04:00
|
|
|
mallinfo2 \
|
2019-04-30 16:54:58 -04:00
|
|
|
malloc_info \
|
2022-01-21 14:47:21 -05:00
|
|
|
large_array_growth \
|
|
|
|
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
|
|
|
|
|
2018-10-04 02:40:51 -04:00
|
|
|
all: $(EXECUTABLES)
|
|
|
|
|
|
|
|
clean:
|
|
|
|
rm -f $(EXECUTABLES)
|