about summary refs log tree commit diff
path: root/benchtests/bench-string.h
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 /benchtests/bench-string.h
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.
Diffstat (limited to 'benchtests/bench-string.h')
-rw-r--r--benchtests/bench-string.h44
1 files changed, 26 insertions, 18 deletions
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__)