malloc: Turn tst-mallocstate into a non-internal test

compat_symbol_reference no longer needs tests-internal.  Do not build
the test at all for newer targets, so that no spurious UNSUPPORTED
result is generated.  Use compat_symbol_reference for
__malloc_initialize_hook as well, eliminating the need for -rdynamic.

Reviewed-by: DJ Delorie <dj@redhat.com>
This commit is contained in:
Florian Weimer 2021-03-09 21:07:24 +01:00
parent 36f6e40884
commit 178c0e48c3
2 changed files with 8 additions and 13 deletions

View File

@ -47,7 +47,12 @@ tests-static := \
tst-interpose-static-thread \
tst-malloc-usable-static \
tests-internal := tst-mallocstate tst-scratch_buffer
# Test for the malloc_set_state symbol removed in glibc 2.25.
ifeq ($(have-GLIBC_2.24)$(build-shared),yesyes)
tests += tst-mallocstate
endif
tests-internal := tst-scratch_buffer
# The dynarray framework is only available inside glibc.
tests-internal += \
@ -118,9 +123,6 @@ $(objpfx)tst-malloc-thread-fail-mcheck: $(shared-thread-library)
$(objpfx)tst-malloc-fork-deadlock-mcheck: $(shared-thread-library)
$(objpfx)tst-malloc-stats-cancellation-mcheck: $(shared-thread-library)
# Export the __malloc_initialize_hook variable to libc.so.
LDFLAGS-tst-mallocstate = -rdynamic
# These should be removed by `make clean'.
extra-objs = mcheck-init.o libmcheck.a
others-extras = mcheck-init.o

View File

@ -29,8 +29,6 @@
#include "malloc.h"
#if TEST_COMPAT (libc, GLIBC_2_0, GLIBC_2_25)
/* Make the compatibility symbols availabile to this test case. */
void *malloc_get_state (void);
compat_symbol_reference (libc, malloc_get_state, malloc_get_state, GLIBC_2_0);
@ -310,6 +308,8 @@ init_heap (void)
/* Interpose the initialization callback. */
void (*volatile __malloc_initialize_hook) (void) = init_heap;
compat_symbol_reference (libc, __malloc_initialize_hook,
__malloc_initialize_hook, GLIBC_2_0);
/* Simulate occasional unrelated heap activity in the non-dumped
heap. */
@ -490,12 +490,5 @@ do_test (void)
return errors;
}
#else
static int
do_test (void)
{
return 77;
}
#endif
#include <support/test-driver.c>