This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH v2] malloc: Run tests without calling mallopt [BZ #19469]


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);

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]