From b598e134773f7ac981b9407982714cf7d53877ee Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Fri, 16 Dec 2016 17:35:06 +0000 Subject: 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 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. --- ChangeLog | 36 ++++++++++++++++++++++++++++++++ benchtests/bench-memccpy.c | 2 +- benchtests/bench-memchr.c | 2 +- benchtests/bench-memcmp.c | 3 ++- benchtests/bench-memcpy-large.c | 2 +- benchtests/bench-memcpy.c | 2 +- benchtests/bench-memmem.c | 2 +- benchtests/bench-memmove-large.c | 2 +- benchtests/bench-memmove.c | 4 ++-- benchtests/bench-memset-large.c | 2 +- benchtests/bench-memset.c | 2 +- benchtests/bench-rawmemchr.c | 2 +- benchtests/bench-strcasecmp.c | 2 +- benchtests/bench-strcasestr.c | 2 +- benchtests/bench-strcat.c | 2 +- benchtests/bench-strchr.c | 2 +- benchtests/bench-strcmp.c | 2 +- benchtests/bench-strcpy.c | 2 +- benchtests/bench-strcpy_chk.c | 5 +++-- benchtests/bench-string.h | 44 ++++++++++++++++++++++++---------------- benchtests/bench-strlen.c | 2 +- benchtests/bench-strncasecmp.c | 2 +- benchtests/bench-strncmp.c | 2 +- benchtests/bench-strncpy.c | 4 ++-- benchtests/bench-strnlen.c | 2 +- benchtests/bench-strpbrk.c | 2 +- benchtests/bench-strrchr.c | 2 +- benchtests/bench-strsep.c | 2 +- benchtests/bench-strspn.c | 2 +- benchtests/bench-strstr.c | 2 +- benchtests/bench-strtok.c | 2 +- 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 + + * benchtests/bench-string.h (TEST_FUNCTION): Use name without + parenthesis. + (CMDLINE_PROCESS): Define using function instead of macro. + * benchtests/bench-memccpy.c: Include 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 * 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 #include -static int test_main (void); -#include "../test-skeleton.c" +#include volatile int chk_fail_ok; jmp_buf chk_fail_buf; @@ -241,3 +240,5 @@ test_main (void) return 0; } + +#include 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 . */ +#include #include 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 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 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 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 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 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 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 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 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 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 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 -- cgit v1.2.3