summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-03-30 15:42:18 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2023-02-09 16:36:05 -0300
commita8f02b157e8f113a5a7f746b8b70fc71985cb945 (patch)
tree959cec340114e22e246e997773b22f0a1a140b74
parent28396b7ee87df0b7673af133544e90144e853425 (diff)
downloadglibc-a8f02b157e8f113a5a7f746b8b70fc71985cb945.tar.gz
malloc: Disable malloc builtins on tests
To avoid compiler optimize away memory allocation calls, which might interfere when both valid and invalid calls checks.
-rw-r--r--malloc/Makefile11
-rw-r--r--malloc/tst-malloc.c1
-rw-r--r--malloc/tst-memalign.c3
3 files changed, 13 insertions, 2 deletions
diff --git a/malloc/Makefile b/malloc/Makefile
index dfb51d344c..729198e81e 100644
--- a/malloc/Makefile
+++ b/malloc/Makefile
@@ -366,3 +366,14 @@ tst-mallocstate-malloc-check-ENV = LD_PRELOAD=$(objpfx)libc_malloc_debug.so
# libc_malloc_debug.so.
$(objpfx)tst-mallocstate: $(objpfx)libc_malloc_debug.so
$(objpfx)tst-mallocstate-malloc-check: $(objpfx)libc_malloc_debug.so
+
+CFLAGS-tst-memalign.c += -fno-builtin
+CFLAGS-tst-malloc.c += -fno-builtin
+CFLAGS-tst-malloc-backtrace.c += -fno-builtin
+CFLAGS-tst-malloc-check.c += -fno-builtin
+CFLAGS-tst-malloc-too-large.c += -fno-builtin
+CFLAGS-tst-realloc.c += -fno-builtin
+CFLAGS-tst-valloc.c += -fno-builtin
+CFLAGS-tst-compathooks-off.c += -fno-builtin
+CFLAGS-tst-compathooks-on.c += -fno-builtin
+CFLAGS-tst-mallinfo2.c += -fno-builtin
diff --git a/malloc/tst-malloc.c b/malloc/tst-malloc.c
index 0da5a8f263..6097ce092d 100644
--- a/malloc/tst-malloc.c
+++ b/malloc/tst-malloc.c
@@ -46,6 +46,7 @@ do_test (void)
p = malloc (-1);
DIAG_POP_NEEDS_COMMENT;
save = errno;
+ asm volatile("" ::: "memory");
if (p != NULL)
merror ("malloc (-1) succeeded.");
diff --git a/malloc/tst-memalign.c b/malloc/tst-memalign.c
index 720e640f16..5ba595089a 100644
--- a/malloc/tst-memalign.c
+++ b/malloc/tst-memalign.c
@@ -124,5 +124,4 @@ do_test (void)
return errors != 0;
}
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
+#include <support/test-driver.c>