1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00

More mcheck -> malloc-check refactoring

Refactored malloc-check rules for tests that are automatically
generated and executed with MALLOC_CHECK_=3.
This commit is contained in:
Siddhesh Poyarekar
2021-06-22 15:46:11 +05:30
parent 7b54aaf2ce
commit 451659ccf1
2 changed files with 27 additions and 23 deletions

20
Rules
View File

@ -155,7 +155,7 @@ xtests: tests $(xtests-special)
else else
tests: $(tests:%=$(objpfx)%.out) $(tests-internal:%=$(objpfx)%.out) \ tests: $(tests:%=$(objpfx)%.out) $(tests-internal:%=$(objpfx)%.out) \
$(tests-container:%=$(objpfx)%.out) \ $(tests-container:%=$(objpfx)%.out) \
$(tests-mcheck:%=$(objpfx)%-mcheck.out) \ $(tests-malloc-check:%=$(objpfx)%-malloc-check.out) \
$(tests-special) $(tests-printers-out) $(tests-special) $(tests-printers-out)
xtests: tests $(xtests:%=$(objpfx)%.out) $(xtests-special) xtests: tests $(xtests:%=$(objpfx)%.out) $(xtests-special)
endif endif
@ -166,7 +166,7 @@ ifeq ($(run-built-tests),no)
tests-expected = tests-expected =
else else
tests-expected = $(tests) $(tests-internal) $(tests-printers) \ tests-expected = $(tests) $(tests-internal) $(tests-printers) \
$(tests-container) $(tests-mcheck:%=%-mcheck) $(tests-container) $(tests-malloc-check:%=%-malloc-check)
endif endif
tests: tests:
$(..)scripts/merge-test-results.sh -s $(objpfx) $(subdir) \ $(..)scripts/merge-test-results.sh -s $(objpfx) $(subdir) \
@ -192,7 +192,7 @@ else
binaries-pie-tests = binaries-pie-tests =
binaries-pie-notests = binaries-pie-notests =
endif endif
binaries-mcheck-tests = $(tests-mcheck:%=%-mcheck) binaries-malloc-check-tests = $(tests-malloc-check:%=%-malloc-check)
else else
binaries-all-notests = binaries-all-notests =
binaries-all-tests = $(tests) $(tests-internal) $(xtests) $(test-srcs) binaries-all-tests = $(tests) $(tests-internal) $(xtests) $(test-srcs)
@ -202,7 +202,7 @@ binaries-static-tests =
binaries-static = binaries-static =
binaries-pie-tests = binaries-pie-tests =
binaries-pie-notests = binaries-pie-notests =
binaries-mcheck-tests = binaries-malloc-check-tests =
endif endif
binaries-pie = $(binaries-pie-tests) $(binaries-pie-notests) binaries-pie = $(binaries-pie-tests) $(binaries-pie-notests)
@ -226,8 +226,8 @@ $(addprefix $(objpfx),$(binaries-shared-tests)): %: %.o \
$(+link-tests) $(+link-tests)
endif endif
ifneq "$(strip $(binaries-mcheck-tests))" "" ifneq "$(strip $(binaries-malloc-check-tests))" ""
$(addprefix $(objpfx),$(binaries-mcheck-tests)): %-mcheck: %.o \ $(addprefix $(objpfx),$(binaries-malloc-check-tests)): %-malloc-check: %.o \
$(link-extra-libs-tests) \ $(link-extra-libs-tests) \
$(sort $(filter $(common-objpfx)lib%,$(link-libc))) \ $(sort $(filter $(common-objpfx)lib%,$(link-libc))) \
$(addprefix $(csu-objpfx),start.o) $(+preinit) $(+postinit) $(addprefix $(csu-objpfx),start.o) $(+preinit) $(+postinit)
@ -264,11 +264,11 @@ $(addprefix $(objpfx),$(binaries-static-tests)): %: %.o \
$(+link-static-tests) $(+link-static-tests)
endif endif
# All mcheck tests will be run with MALLOC_CHECK_=3 # All malloc-check tests will be run with MALLOC_CHECK_=3
define mcheck-ENVS define malloc-check-ENVS
$(1)-mcheck-ENV = MALLOC_CHECK_=3 $(1)-malloc-check-ENV = MALLOC_CHECK_=3
endef endef
$(foreach t,$(tests-mcheck),$(eval $(call mcheck-ENVS,$(t)))) $(foreach t,$(tests-malloc-check),$(eval $(call malloc-check-ENVS,$(t))))
ifneq "$(strip $(tests) $(tests-internal) $(xtests) $(test-srcs))" "" ifneq "$(strip $(tests) $(tests-internal) $(xtests) $(test-srcs))" ""
# These are the implicit rules for making test outputs # These are the implicit rules for making test outputs

View File

@ -70,13 +70,11 @@ test-srcs = tst-mtrace
# These tests either are run with MALLOC_CHECK_=3 by default or do not work # These tests either are run with MALLOC_CHECK_=3 by default or do not work
# with MALLOC_CHECK_=3 because they expect a specific failure. # with MALLOC_CHECK_=3 because they expect a specific failure.
tests-exclude-mcheck = tst-malloc-check tst-malloc-usable \ tests-exclude-malloc-check = tst-malloc-check tst-malloc-usable \
tst-interpose-nothread tst-interpose-static-nothread \
tst-interpose-static-thread \
tst-mxfast tst-safe-linking tst-mxfast tst-safe-linking
# Run all tests with MALLOC_CHECK_=3 # Run all tests with MALLOC_CHECK_=3
tests-mcheck = $(filter-out $(tests-exclude-mcheck),$(tests)) tests-malloc-check = $(filter-out $(tests-exclude-malloc-check),$(tests))
routines = malloc morecore mcheck mtrace obstack reallocarray \ routines = malloc morecore mcheck mtrace obstack reallocarray \
scratch_buffer_dupfree \ scratch_buffer_dupfree \
@ -117,11 +115,11 @@ $(objpfx)tst-malloc-thread-exit: $(shared-thread-library)
$(objpfx)tst-malloc-thread-fail: $(shared-thread-library) $(objpfx)tst-malloc-thread-fail: $(shared-thread-library)
$(objpfx)tst-malloc-fork-deadlock: $(shared-thread-library) $(objpfx)tst-malloc-fork-deadlock: $(shared-thread-library)
$(objpfx)tst-malloc-stats-cancellation: $(shared-thread-library) $(objpfx)tst-malloc-stats-cancellation: $(shared-thread-library)
$(objpfx)tst-malloc-backtrace-mcheck: $(shared-thread-library) $(objpfx)tst-malloc-backtrace-malloc-check: $(shared-thread-library)
$(objpfx)tst-malloc-thread-exit-mcheck: $(shared-thread-library) $(objpfx)tst-malloc-thread-exit-malloc-check: $(shared-thread-library)
$(objpfx)tst-malloc-thread-fail-mcheck: $(shared-thread-library) $(objpfx)tst-malloc-thread-fail-malloc-check: $(shared-thread-library)
$(objpfx)tst-malloc-fork-deadlock-mcheck: $(shared-thread-library) $(objpfx)tst-malloc-fork-deadlock-malloc-check: $(shared-thread-library)
$(objpfx)tst-malloc-stats-cancellation-mcheck: $(shared-thread-library) $(objpfx)tst-malloc-stats-cancellation-malloc-check: $(shared-thread-library)
# These should be removed by `make clean'. # These should be removed by `make clean'.
extra-objs = mcheck-init.o libmcheck.a extra-objs = mcheck-init.o libmcheck.a
@ -252,13 +250,19 @@ $(foreach o,$(all-object-suffixes),$(objpfx)malloc$(o)): arena.c hooks.c
$(tests:%=$(objpfx)%.o): CPPFLAGS += -DTEST_NO_MALLOPT $(tests:%=$(objpfx)%.o): CPPFLAGS += -DTEST_NO_MALLOPT
$(objpfx)tst-interpose-nothread: $(objpfx)tst-interpose-aux-nothread.o $(objpfx)tst-interpose-nothread: $(objpfx)tst-interpose-aux-nothread.o
$(objpfx)tst-interpose-nothread-malloc-check: \
$(objpfx)tst-interpose-aux-nothread.o
$(objpfx)tst-interpose-thread: \ $(objpfx)tst-interpose-thread: \
$(objpfx)tst-interpose-aux-thread.o $(shared-thread-library) $(objpfx)tst-interpose-aux-thread.o $(shared-thread-library)
$(objpfx)tst-interpose-thread-mcheck: \ $(objpfx)tst-interpose-thread-malloc-check: \
$(objpfx)tst-interpose-aux-thread.o $(shared-thread-library) $(objpfx)tst-interpose-aux-thread.o $(shared-thread-library)
$(objpfx)tst-interpose-static-nothread: $(objpfx)tst-interpose-aux-nothread.o $(objpfx)tst-interpose-static-nothread: $(objpfx)tst-interpose-aux-nothread.o
$(objpfx)tst-interpose-static-nothread-malloc-check: \
$(objpfx)tst-interpose-aux-nothread.o
$(objpfx)tst-interpose-static-thread: \ $(objpfx)tst-interpose-static-thread: \
$(objpfx)tst-interpose-aux-thread.o $(static-thread-library) $(objpfx)tst-interpose-aux-thread.o $(static-thread-library)
$(objpfx)tst-interpose-static-thread-malloc-check: \
$(objpfx)tst-interpose-aux-thread.o $(static-thread-library)
tst-dynarray-ENV = MALLOC_TRACE=$(objpfx)tst-dynarray.mtrace tst-dynarray-ENV = MALLOC_TRACE=$(objpfx)tst-dynarray.mtrace
$(objpfx)tst-dynarray-mem.out: $(objpfx)tst-dynarray.out $(objpfx)tst-dynarray-mem.out: $(objpfx)tst-dynarray.out
@ -273,6 +277,6 @@ $(objpfx)tst-dynarray-fail-mem.out: $(objpfx)tst-dynarray-fail.out
$(objpfx)tst-malloc-tcache-leak: $(shared-thread-library) $(objpfx)tst-malloc-tcache-leak: $(shared-thread-library)
$(objpfx)tst-malloc_info: $(shared-thread-library) $(objpfx)tst-malloc_info: $(shared-thread-library)
$(objpfx)tst-mallocfork2: $(shared-thread-library) $(objpfx)tst-mallocfork2: $(shared-thread-library)
$(objpfx)tst-malloc-tcache-leak-mcheck: $(shared-thread-library) $(objpfx)tst-malloc-tcache-leak-malloc-check: $(shared-thread-library)
$(objpfx)tst-malloc_info-mcheck: $(shared-thread-library) $(objpfx)tst-malloc_info-malloc-check: $(shared-thread-library)
$(objpfx)tst-mallocfork2-mcheck: $(shared-thread-library) $(objpfx)tst-mallocfork2-malloc-check: $(shared-thread-library)