@@ -186,6 +186,13 @@ USE_SPINLOCK = -DUSE_SPINLOCK=1
186186# # SCHED_GETCPU = -DSCHED_GETCPU
187187endif
188188
189+ ifeq ($(UNAME ) , DragonFly)
190+ STRIP = strip -s $(BUILD_DIR ) /$(LIBNAME )
191+ USE_SPINLOCK = -DUSE_SPINLOCK=1
192+ HUGE_PAGES =
193+ OS_FLAGS = -I/usr/local/cxx_atomics
194+ endif
195+
189196HOOKS = $(MALLOC_HOOK )
190197OPTIMIZE = -O2 -fstrict-aliasing -Wstrict-aliasing
191198COMMON_CFLAGS = -Wall -Iinclude/ $(THREAD_SUPPORT ) $(PRE_POPULATE_PAGES ) $(STARTUP_MEM_USAGE )
@@ -267,24 +274,24 @@ cpp_library_debug: clean c_library_objects_debug
267274# # Build a debug version of the unit test
268275tests : clean library_debug_unit_tests
269276 @echo " make library_debug_unit_tests"
270- $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) tests/tagged_ptr_test.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /tagged_ptr_test $(LDFLAGS )
271- $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) tests/tests.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /tests $(LDFLAGS )
272- $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) tests/uaf.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /uaf $(LDFLAGS )
273- $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) tests/interfaces_test.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /interfaces_test $(LDFLAGS )
274- $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) tests/thread_tests.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /thread_tests $(LDFLAGS )
275- $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) $(UNIT_TESTING ) tests/big_canary_test.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /big_canary_test $(LDFLAGS )
276- $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) tests/big_tests.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /big_tests $(LDFLAGS )
277- $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) tests/double_free.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /double_free $(LDFLAGS )
278- $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) tests/big_double_free.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /big_double_free $(LDFLAGS )
279- $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) tests/heap_overflow.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /heap_overflow $(LDFLAGS )
280- $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) tests/heap_underflow.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /heap_underflow $(LDFLAGS )
281- $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) tests/leaks_test.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /leaks_test $(LDFLAGS )
282- $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) tests/wild_free.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /wild_free $(LDFLAGS )
283- $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) tests/unaligned_free.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /unaligned_free $(LDFLAGS )
284- $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) tests/incorrect_chunk_size_multiple.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /incorrect_chunk_size_multiple $(LDFLAGS )
285- $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) tests/zero_alloc.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /zero_alloc $(LDFLAGS )
286- $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) tests/uninit_read.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /uninit_read $(LDFLAGS )
287- $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) tests/sized_free.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /sized_free $(LDFLAGS )
277+ $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) $( OS_FLAGS ) tests/tagged_ptr_test.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /tagged_ptr_test $(LDFLAGS )
278+ $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) $( OS_FLAGS ) tests/tests.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /tests $(LDFLAGS )
279+ $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) $( OS_FLAGS ) tests/uaf.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /uaf $(LDFLAGS )
280+ $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) $( OS_FLAGS ) tests/interfaces_test.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /interfaces_test $(LDFLAGS )
281+ $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) $( OS_FLAGS ) tests/thread_tests.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /thread_tests $(LDFLAGS )
282+ $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) $(OS_FLAGS ) $( UNIT_TESTING ) tests/big_canary_test.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /big_canary_test $(LDFLAGS )
283+ $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) $( OS_FLAGS ) tests/big_tests.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /big_tests $(LDFLAGS )
284+ $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) $( OS_FLAGS ) tests/double_free.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /double_free $(LDFLAGS )
285+ $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) $( OS_FLAGS ) tests/big_double_free.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /big_double_free $(LDFLAGS )
286+ $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) $( OS_FLAGS ) tests/heap_overflow.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /heap_overflow $(LDFLAGS )
287+ $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) $( OS_FLAGS ) tests/heap_underflow.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /heap_underflow $(LDFLAGS )
288+ $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) $( OS_FLAGS ) tests/leaks_test.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /leaks_test $(LDFLAGS )
289+ $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) $( OS_FLAGS ) tests/wild_free.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /wild_free $(LDFLAGS )
290+ $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) $( OS_FLAGS ) tests/unaligned_free.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /unaligned_free $(LDFLAGS )
291+ $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) $( OS_FLAGS ) tests/incorrect_chunk_size_multiple.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /incorrect_chunk_size_multiple $(LDFLAGS )
292+ $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) $( OS_FLAGS ) tests/zero_alloc.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /zero_alloc $(LDFLAGS )
293+ $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) $( OS_FLAGS ) tests/uninit_read.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /uninit_read $(LDFLAGS )
294+ $(CC ) $(CFLAGS ) $(EXE_CFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) $( OS_FLAGS ) tests/sized_free.c $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /sized_free $(LDFLAGS )
288295 utils/run_tests.sh
289296
290297fuzz_test : clean library_debug_unit_tests
@@ -297,8 +304,8 @@ fuzz_test: clean library_debug_unit_tests
297304# # monitoring enabled. Linux only
298305perf_tests : clean
299306 @echo " make perf_tests"
300- $(CC ) $(CFLAGS ) $(C_SRCS ) $(GDB_FLAGS ) $(PERF_FLAGS ) tests/tests.c -o $(BUILD_DIR ) /tests_gprof
301- $(CC ) $(CFLAGS ) $(C_SRCS ) $(GDB_FLAGS ) $(PERF_FLAGS ) tests/big_tests.c -o $(BUILD_DIR ) /big_tests_gprof
307+ $(CC ) $(CFLAGS ) $(C_SRCS ) $(GDB_FLAGS ) $(PERF_FLAGS ) $( OS_FLAGS ) tests/tests.c -o $(BUILD_DIR ) /tests_gprof
308+ $(CC ) $(CFLAGS ) $(C_SRCS ) $(GDB_FLAGS ) $(PERF_FLAGS ) $( OS_FLAGS ) tests/big_tests.c -o $(BUILD_DIR ) /big_tests_gprof
302309 $(BUILD_DIR ) /tests_gprof
303310 gprof -bl $(BUILD_DIR ) /tests_gprof gmon.out > tests_perf_analysis.txt
304311 $(BUILD_DIR ) /big_tests_gprof
@@ -318,8 +325,8 @@ malloc_cmp_test: clean
318325# # C++ Support - Build a debug version of the unit test
319326cpp_tests : clean cpp_library_debug
320327 @echo " make cpp_tests"
321- $(CXX ) $(CXXFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) $(EXE_CFLAGS ) tests/tests.cpp $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /cxx_tests $(LDFLAGS )
322- $(CXX ) $(CXXFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) $(EXE_CFLAGS ) tests/tagged_ptr_test.cpp $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /tagged_ptr_test $(LDFLAGS )
328+ $(CXX ) $(CXXFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) $(EXE_CFLAGS ) $( OS_FLAGS ) tests/tests.cpp $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /cxx_tests $(LDFLAGS )
329+ $(CXX ) $(CXXFLAGS ) $(DEBUG_LOG_FLAGS ) $(GDB_FLAGS ) $(EXE_CFLAGS ) $( OS_FLAGS ) tests/tagged_ptr_test.cpp $(ISO_ALLOC_PRINTF_SRC ) -o $(BUILD_DIR ) /tagged_ptr_test $(LDFLAGS )
323330 LD_LIBRARY_PATH=$(BUILD_DIR ) / LD_PRELOAD=$(BUILD_DIR ) /$(LIBNAME ) $(BUILD_DIR ) /cxx_tests
324331 LD_LIBRARY_PATH=$(BUILD_DIR ) / LD_PRELOAD=$(BUILD_DIR ) /$(LIBNAME ) $(BUILD_DIR ) /tagged_ptr_test
325332
0 commit comments