This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH v2] malloc: Run tests without calling mallopt [BZ #19469]
- From: Florian Weimer <fweimer at redhat dot com>
- To: libc-alpha at sourceware dot org
- Date: Tue, 28 Jun 2016 15:35:56 +0200
- Subject: [PATCH v2] malloc: Run tests without calling mallopt [BZ #19469]
- Authentication-results: sourceware.org; auth=none
- References: <20160624173407 dot 9A6194017A860 at oldenburg dot str dot redhat dot com>
On 06/24/2016 07:34 PM, Florian Weimer wrote:
The compiled tests no longer refer to the mallopt symbol
from their main functions. (Some tests still call mallopt
explicitly, which is fine.)
New version, avoiding quadratic behavior and delayed expansion.
Also see: <https://sourceware.org/ml/libc-alpha/2016-06/msg01120.html>
Thanks,
Florian
malloc: Run tests without calling mallopt [BZ #19469]
The compiled tests no longer refer to the mallopt symbol
from their main functions. (Some tests still call mallopt
explicitly, which is fine.)
2016-06-28 Florian Weimer <fweimer@redhat.com>
[BZ #19469]
* malloc/Makefile (CPPFLAGS): Compile tests with
-DTEST_NO_MALLOPT.
* test-skeleton.c (main): Only call mallopt if !TEST_NO_MALLOPT.
diff --git a/malloc/Makefile b/malloc/Makefile
index fa1730e..4d5c81d 100644
--- a/malloc/Makefile
+++ b/malloc/Makefile
@@ -166,3 +166,7 @@ $(objpfx)libmemusage.so: $(libdl)
# Extra dependencies
$(foreach o,$(all-object-suffixes),$(objpfx)malloc$(o)): arena.c hooks.c
+
+# Compile the tests with a flag which suppresses the mallopt call in
+# the test skeleton.
+$(tests:%=$(objpfx)%.o): CPPFLAGS += -DTEST_NO_MALLOPT
diff --git a/test-skeleton.c b/test-skeleton.c
index d9bf989..5a90c65 100644
--- a/test-skeleton.c
+++ b/test-skeleton.c
@@ -346,8 +346,10 @@ main (int argc, char *argv[])
unsigned int timeoutfactor = 1;
pid_t termpid;
+#ifndef TEST_NO_MALLOPT
/* Make uses of freed and uninitialized memory known. */
mallopt (M_PERTURB, 42);
+#endif
#ifdef STDOUT_UNBUFFERED
setbuf (stdout, NULL);