summary refs log tree commit diff
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2016-12-16 17:35:06 +0000
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2016-12-19 16:04:16 -0200
commitb598e134773f7ac981b9407982714cf7d53877ee (patch)
treef3b57b584246708175940099f891efd57bc5e2c2
parent2702856bf45c82cf8e69f2064f5aa15c0ceb6359 (diff)
downloadglibc-b598e134773f7ac981b9407982714cf7d53877ee.tar.gz
glibc-b598e134773f7ac981b9407982714cf7d53877ee.tar.xz
glibc-b598e134773f7ac981b9407982714cf7d53877ee.zip
Adjust benchtests to new support library.
This patch basically replaces the test-skeleton.c inclusion by
support/test-driver.c and also minor adjustments in bench-string.h.

Checked on x86_64-linux-gnu and powerpc64le-linux-gnu.

	* benchtests/bench-string.h (TEST_FUNCTION): Use name without
	parenthesis.
	(CMDLINE_PROCESS): Define using function instead of macro.
	* benchtests/bench-memccpy.c: Include <support/test-driver.c> instead
	of test-skeleton.
	* benchtests/bench-memchr.c: Likewise.
	* benchtests/bench-memcmp.c: Likewise.
	* benchtests/bench-memcpy-large.c: Likewise.
	* benchtests/bench-memcpy.c: Likewise.
	* benchtests/bench-memmem.c: Likewise.
	* benchtests/bench-memmove-large.c: Likewise.
	* benchtests/bench-memmove.c: Likewise.
	* benchtests/bench-memset-large.c: Likewise.
	* benchtests/bench-memset.c: Likewise.
	* benchtests/bench-rawmemchr.c: Likewise.
	* benchtests/bench-strcasecmp.c: Likewise.
	* benchtests/bench-strcasestr.c: Likewise.
	* benchtests/bench-strcat.c: Likewise.
	* benchtests/bench-strchr.c: Likewise.
	* benchtests/bench-strcmp.c: Likewise.
	* benchtests/bench-strcpy.c: Likewise.
	* benchtests/bench-strcpy_chk.c: Likewise.
	* benchtests/bench-strlen.c: Likewise.
	* benchtests/bench-strncasecmp.c: Likewise.
	* benchtests/bench-strncmp.c: Likewise.
	* benchtests/bench-strncpy.c: Likewise.
	* benchtests/bench-strnlen.c: Likewise.
	* benchtests/bench-strpbrk.c: Likewise.
	* benchtests/bench-strrchr.c: Likewise.
	* benchtests/bench-strsep.c: Likewise.
	* benchtests/bench-strspn.c: Likewise.
	* benchtests/bench-strstr.c: Likewise.
	* benchtests/bench-strtok.c: Likewise.
-rw-r--r--ChangeLog36
-rw-r--r--benchtests/bench-memccpy.c2
-rw-r--r--benchtests/bench-memchr.c2
-rw-r--r--benchtests/bench-memcmp.c3
-rw-r--r--benchtests/bench-memcpy-large.c2
-rw-r--r--benchtests/bench-memcpy.c2
-rw-r--r--benchtests/bench-memmem.c2
-rw-r--r--benchtests/bench-memmove-large.c2
-rw-r--r--benchtests/bench-memmove.c4
-rw-r--r--benchtests/bench-memset-large.c2
-rw-r--r--benchtests/bench-memset.c2
-rw-r--r--benchtests/bench-rawmemchr.c2
-rw-r--r--benchtests/bench-strcasecmp.c2
-rw-r--r--benchtests/bench-strcasestr.c2
-rw-r--r--benchtests/bench-strcat.c2
-rw-r--r--benchtests/bench-strchr.c2
-rw-r--r--benchtests/bench-strcmp.c2
-rw-r--r--benchtests/bench-strcpy.c2
-rw-r--r--benchtests/bench-strcpy_chk.c5
-rw-r--r--benchtests/bench-string.h44
-rw-r--r--benchtests/bench-strlen.c2
-rw-r--r--benchtests/bench-strncasecmp.c2
-rw-r--r--benchtests/bench-strncmp.c2
-rw-r--r--benchtests/bench-strncpy.c4
-rw-r--r--benchtests/bench-strnlen.c2
-rw-r--r--benchtests/bench-strpbrk.c2
-rw-r--r--benchtests/bench-strrchr.c2
-rw-r--r--benchtests/bench-strsep.c2
-rw-r--r--benchtests/bench-strspn.c2
-rw-r--r--benchtests/bench-strstr.c2
-rw-r--r--benchtests/bench-strtok.c2
31 files changed, 96 insertions, 50 deletions
diff --git a/ChangeLog b/ChangeLog
index 6a27320113..fdb68ea4da 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,39 @@
+2016-12-19  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	* benchtests/bench-string.h (TEST_FUNCTION): Use name without
+	parenthesis.
+	(CMDLINE_PROCESS): Define using function instead of macro.
+	* benchtests/bench-memccpy.c: Include <support/test-driver.c> instead
+	of test-skeleton.
+	* benchtests/bench-memchr.c: Likewise.
+	* benchtests/bench-memcmp.c: Likewise.
+	* benchtests/bench-memcpy-large.c: Likewise.
+	* benchtests/bench-memcpy.c: Likewise.
+	* benchtests/bench-memmem.c: Likewise.
+	* benchtests/bench-memmove-large.c: Likewise.
+	* benchtests/bench-memmove.c: Likewise.
+	* benchtests/bench-memset-large.c: Likewise.
+	* benchtests/bench-memset.c: Likewise.
+	* benchtests/bench-rawmemchr.c: Likewise.
+	* benchtests/bench-strcasecmp.c: Likewise.
+	* benchtests/bench-strcasestr.c: Likewise.
+	* benchtests/bench-strcat.c: Likewise.
+	* benchtests/bench-strchr.c: Likewise.
+	* benchtests/bench-strcmp.c: Likewise.
+	* benchtests/bench-strcpy.c: Likewise.
+	* benchtests/bench-strcpy_chk.c: Likewise.
+	* benchtests/bench-strlen.c: Likewise.
+	* benchtests/bench-strncasecmp.c: Likewise.
+	* benchtests/bench-strncmp.c: Likewise.
+	* benchtests/bench-strncpy.c: Likewise.
+	* benchtests/bench-strnlen.c: Likewise.
+	* benchtests/bench-strpbrk.c: Likewise.
+	* benchtests/bench-strrchr.c: Likewise.
+	* benchtests/bench-strsep.c: Likewise.
+	* benchtests/bench-strspn.c: Likewise.
+	* benchtests/bench-strstr.c: Likewise.
+	* benchtests/bench-strtok.c: Likewise.
+
 2016-12-19  Andrew Senkevich  <andrew.senkevich@intel.com>
 
 	* sysdeps/x86/cpu-features.c (get_common_indeces): Add
diff --git a/benchtests/bench-memccpy.c b/benchtests/bench-memccpy.c
index 00ac3e18a6..9be8fa07e6 100644
--- a/benchtests/bench-memccpy.c
+++ b/benchtests/bench-memccpy.c
@@ -160,4 +160,4 @@ test_main (void)
   return ret;
 }
 
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
diff --git a/benchtests/bench-memchr.c b/benchtests/bench-memchr.c
index aa012f2910..7b8299a63a 100644
--- a/benchtests/bench-memchr.c
+++ b/benchtests/bench-memchr.c
@@ -153,4 +153,4 @@ test_main (void)
   return ret;
 }
 
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
diff --git a/benchtests/bench-memcmp.c b/benchtests/bench-memcmp.c
index 96d01a1e7c..4f01d3d2ae 100644
--- a/benchtests/bench-memcmp.c
+++ b/benchtests/bench-memcmp.c
@@ -174,4 +174,5 @@ test_main (void)
 
   return ret;
 }
-#include "../test-skeleton.c"
+
+#include <support/test-driver.c>
diff --git a/benchtests/bench-memcpy-large.c b/benchtests/bench-memcpy-large.c
index 1ef670ed93..7be9930c05 100644
--- a/benchtests/bench-memcpy-large.c
+++ b/benchtests/bench-memcpy-large.c
@@ -120,4 +120,4 @@ test_main (void)
   return ret;
 }
 
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
diff --git a/benchtests/bench-memcpy.c b/benchtests/bench-memcpy.c
index 9d9e7b6879..62e95c1eef 100644
--- a/benchtests/bench-memcpy.c
+++ b/benchtests/bench-memcpy.c
@@ -166,4 +166,4 @@ test_main (void)
   return ret;
 }
 
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
diff --git a/benchtests/bench-memmem.c b/benchtests/bench-memmem.c
index 863f02f7c0..ab80990df1 100644
--- a/benchtests/bench-memmem.c
+++ b/benchtests/bench-memmem.c
@@ -161,4 +161,4 @@ test_main (void)
   return ret;
 }
 
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
diff --git a/benchtests/bench-memmove-large.c b/benchtests/bench-memmove-large.c
index b8f11c1f19..840907bd84 100644
--- a/benchtests/bench-memmove-large.c
+++ b/benchtests/bench-memmove-large.c
@@ -120,4 +120,4 @@ test_main (void)
   return ret;
 }
 
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
diff --git a/benchtests/bench-memmove.c b/benchtests/bench-memmove.c
index 3858f2ac52..9710863bae 100644
--- a/benchtests/bench-memmove.c
+++ b/benchtests/bench-memmove.c
@@ -139,7 +139,7 @@ do_test (size_t align1, size_t align2, size_t len)
   putchar ('\n');
 }
 
-int
+static int
 test_main (void)
 {
   size_t i;
@@ -188,4 +188,4 @@ test_main (void)
   return ret;
 }
 
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
diff --git a/benchtests/bench-memset-large.c b/benchtests/bench-memset-large.c
index e694b929e8..ede00812a5 100644
--- a/benchtests/bench-memset-large.c
+++ b/benchtests/bench-memset-large.c
@@ -131,4 +131,4 @@ test_main (void)
   return ret;
 }
 
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
diff --git a/benchtests/bench-memset.c b/benchtests/bench-memset.c
index 98ec257b3e..d7abb44866 100644
--- a/benchtests/bench-memset.c
+++ b/benchtests/bench-memset.c
@@ -190,4 +190,4 @@ test_main (void)
   return ret;
 }
 
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
diff --git a/benchtests/bench-rawmemchr.c b/benchtests/bench-rawmemchr.c
index 0c00c66e18..9cf5d5b746 100644
--- a/benchtests/bench-rawmemchr.c
+++ b/benchtests/bench-rawmemchr.c
@@ -123,4 +123,4 @@ test_main (void)
   return ret;
 }
 
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
diff --git a/benchtests/bench-strcasecmp.c b/benchtests/bench-strcasecmp.c
index a9a748a151..7a84ab5ad7 100644
--- a/benchtests/bench-strcasecmp.c
+++ b/benchtests/bench-strcasecmp.c
@@ -173,4 +173,4 @@ test_main (void)
   return ret;
 }
 
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
diff --git a/benchtests/bench-strcasestr.c b/benchtests/bench-strcasestr.c
index bc58880fe0..11e1aadfd6 100644
--- a/benchtests/bench-strcasestr.c
+++ b/benchtests/bench-strcasestr.c
@@ -177,4 +177,4 @@ test_main (void)
   return ret;
 }
 
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
diff --git a/benchtests/bench-strcat.c b/benchtests/bench-strcat.c
index 4fc2806a9d..05207bee76 100644
--- a/benchtests/bench-strcat.c
+++ b/benchtests/bench-strcat.c
@@ -171,4 +171,4 @@ test_main (void)
   return ret;
 }
 
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
diff --git a/benchtests/bench-strchr.c b/benchtests/bench-strchr.c
index 6512085e9f..7fc7c37909 100644
--- a/benchtests/bench-strchr.c
+++ b/benchtests/bench-strchr.c
@@ -207,4 +207,4 @@ test_main (void)
   return ret;
 }
 
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
diff --git a/benchtests/bench-strcmp.c b/benchtests/bench-strcmp.c
index f2d83c08b5..8597c69bcc 100644
--- a/benchtests/bench-strcmp.c
+++ b/benchtests/bench-strcmp.c
@@ -238,4 +238,4 @@ test_main (void)
   return ret;
 }
 
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
diff --git a/benchtests/bench-strcpy.c b/benchtests/bench-strcpy.c
index 5517221862..a83566282c 100644
--- a/benchtests/bench-strcpy.c
+++ b/benchtests/bench-strcpy.c
@@ -190,4 +190,4 @@ test_main (void)
   return ret;
 }
 
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
diff --git a/benchtests/bench-strcpy_chk.c b/benchtests/bench-strcpy_chk.c
index ded6747702..e987546301 100644
--- a/benchtests/bench-strcpy_chk.c
+++ b/benchtests/bench-strcpy_chk.c
@@ -53,8 +53,7 @@ simple_strcpy_chk (char *dst, const char *src, size_t len)
 #include <setjmp.h>
 #include <signal.h>
 
-static int test_main (void);
-#include "../test-skeleton.c"
+#include <support/support.h>
 
 volatile int chk_fail_ok;
 jmp_buf chk_fail_buf;
@@ -241,3 +240,5 @@ test_main (void)
 
   return 0;
 }
+
+#include <support/test-driver.c>
diff --git a/benchtests/bench-string.h b/benchtests/bench-string.h
index 9c5371ec77..82cbe7a47d 100644
--- a/benchtests/bench-string.h
+++ b/benchtests/bench-string.h
@@ -16,6 +16,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#include <getopt.h>
 #include <sys/cdefs.h>
 
 typedef struct
@@ -55,7 +56,7 @@ extern impl_t __start_impls[], __stop_impls[];
 # include "bench-timing.h"
 
 
-# define TEST_FUNCTION test_main ()
+# define TEST_FUNCTION test_main
 # ifndef TIMEOUT
 #  define TIMEOUT (4 * 60)
 # endif
@@ -87,24 +88,31 @@ size_t iterations = 100000;
 # define CMDLINE_OPTIONS ITERATIONS_OPTIONS \
     { "random", no_argument, NULL, OPT_RANDOM },			      \
     { "seed", required_argument, NULL, OPT_SEED },
-# define CMDLINE_PROCESS ITERATIONS_PROCESS \
-    case OPT_RANDOM:							      \
-      {									      \
-	int fdr = open ("/dev/urandom", O_RDONLY);			      \
-									      \
-	if (fdr < 0 || read (fdr, &seed, sizeof(seed)) != sizeof (seed))      \
-	  seed = time (NULL);						      \
-	if (fdr >= 0)							      \
-	  close (fdr);							      \
-	do_srandom = 1;							      \
-	break;								      \
-      }									      \
-									      \
-    case OPT_SEED:							      \
-      seed = strtoul (optarg, NULL, 0);					      \
-      do_srandom = 1;							      \
-      break;
 
+static void __attribute__ ((used))
+cmdline_process_function (int c)
+{
+  switch (c)
+    {
+      ITERATIONS_PROCESS
+      case OPT_RANDOM:
+	{
+	  int fdr = open ("/dev/urandom", O_RDONLY);
+	  if (fdr < 0 || read (fdr, &seed, sizeof(seed)) != sizeof (seed))
+	    seed = time (NULL);
+	  if (fdr >= 0)
+	    close (fdr);
+	  do_srandom = 1;
+	  break;
+	}
+
+      case OPT_SEED:
+	seed = strtoul (optarg, NULL, 0);
+	do_srandom = 1;
+      break;
+    }
+}
+# define CMDLINE_PROCESS cmdline_process_function
 # define CALL(impl, ...)	\
     (* (proto_t) (impl)->fn) (__VA_ARGS__)
 
diff --git a/benchtests/bench-strlen.c b/benchtests/bench-strlen.c
index a5305b544c..f85405965d 100644
--- a/benchtests/bench-strlen.c
+++ b/benchtests/bench-strlen.c
@@ -139,4 +139,4 @@ test_main (void)
   return ret;
 }
 
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
diff --git a/benchtests/bench-strncasecmp.c b/benchtests/bench-strncasecmp.c
index 6cbab7d84d..5570df24a6 100644
--- a/benchtests/bench-strncasecmp.c
+++ b/benchtests/bench-strncasecmp.c
@@ -204,4 +204,4 @@ test_main (void)
   return ret;
 }
 
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
diff --git a/benchtests/bench-strncmp.c b/benchtests/bench-strncmp.c
index 2f03668f5e..ac35c86332 100644
--- a/benchtests/bench-strncmp.c
+++ b/benchtests/bench-strncmp.c
@@ -296,4 +296,4 @@ test_main (void)
   return ret;
 }
 
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
diff --git a/benchtests/bench-strncpy.c b/benchtests/bench-strncpy.c
index 5843571e45..916eedb871 100644
--- a/benchtests/bench-strncpy.c
+++ b/benchtests/bench-strncpy.c
@@ -172,7 +172,7 @@ do_test (size_t align1, size_t align2, size_t len, size_t n, int max_char)
   putchar ('\n');
 }
 
-int
+static int
 test_main (void)
 {
   size_t i;
@@ -207,4 +207,4 @@ test_main (void)
   return ret;
 }
 
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
diff --git a/benchtests/bench-strnlen.c b/benchtests/bench-strnlen.c
index f3dbf9713b..794b994433 100644
--- a/benchtests/bench-strnlen.c
+++ b/benchtests/bench-strnlen.c
@@ -150,4 +150,4 @@ test_main (void)
   return ret;
 }
 
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
diff --git a/benchtests/bench-strpbrk.c b/benchtests/bench-strpbrk.c
index 6591a83723..4647be76dd 100644
--- a/benchtests/bench-strpbrk.c
+++ b/benchtests/bench-strpbrk.c
@@ -203,4 +203,4 @@ test_main (void)
   return ret;
 }
 
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
diff --git a/benchtests/bench-strrchr.c b/benchtests/bench-strrchr.c
index ff936348b3..f211a2ce78 100644
--- a/benchtests/bench-strrchr.c
+++ b/benchtests/bench-strrchr.c
@@ -181,4 +181,4 @@ test_main (void)
   return ret;
 }
 
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
diff --git a/benchtests/bench-strsep.c b/benchtests/bench-strsep.c
index 70dbb37756..774a093431 100644
--- a/benchtests/bench-strsep.c
+++ b/benchtests/bench-strsep.c
@@ -171,4 +171,4 @@ test_main (void)
   return ret;
 }
 
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
diff --git a/benchtests/bench-strspn.c b/benchtests/bench-strspn.c
index 606a8ddbdc..498b1409b8 100644
--- a/benchtests/bench-strspn.c
+++ b/benchtests/bench-strspn.c
@@ -189,4 +189,4 @@ test_main (void)
   return ret;
 }
 
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
diff --git a/benchtests/bench-strstr.c b/benchtests/bench-strstr.c
index 5e50e8e172..b28685cb36 100644
--- a/benchtests/bench-strstr.c
+++ b/benchtests/bench-strstr.c
@@ -174,4 +174,4 @@ test_main (void)
   return ret;
 }
 
-#include "../test-skeleton.c"
+#include <support/test-driver.c>
diff --git a/benchtests/bench-strtok.c b/benchtests/bench-strtok.c
index 41e0e45db8..0c3bfe1830 100644
--- a/benchtests/bench-strtok.c
+++ b/benchtests/bench-strtok.c
@@ -177,4 +177,4 @@ test_main (void)
   return ret;
 }
 
-#include "../test-skeleton.c"
+#include <support/test-driver.c>