From: Adhemerval Zanella Date: Fri, 16 Dec 2016 17:35:06 +0000 (+0000) Subject: Adjust benchtests to new support library. X-Git-Tag: glibc-2.25~184 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b598e134773f7ac981b9407982714cf7d53877ee;p=thirdparty%2Fglibc.git 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. --- diff --git a/ChangeLog b/ChangeLog index 6a273201137..fdb68ea4daa 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 00ac3e18a6e..9be8fa07e6a 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 aa012f29100..7b8299a63a9 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 96d01a1e7c6..4f01d3d2ae8 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 1ef670ed93a..7be9930c054 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 9d9e7b68790..62e95c1eefb 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 863f02f7c02..ab80990df18 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 b8f11c1f193..840907bd84f 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 3858f2ac52d..9710863bae6 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 e694b929e84..ede00812a57 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 98ec257b3ee..d7abb44866a 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 0c00c66e18b..9cf5d5b746c 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 a9a748a1515..7a84ab5ad7f 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 bc58880fe0f..11e1aadfd6c 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 4fc2806a9de..05207bee76b 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 6512085e9f8..7fc7c379097 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 f2d83c08b51..8597c69bcce 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 5517221862c..a83566282c3 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 ded67477026..e987546301c 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 9c5371ec77c..82cbe7a47db 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 a5305b544cf..f85405965dc 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 6cbab7d84df..5570df24a69 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 2f03668f5e9..ac35c863320 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 5843571e45b..916eedb871a 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 f3dbf9713bd..794b994433e 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 6591a83723a..4647be76dd1 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 ff936348b33..f211a2ce78d 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 70dbb377563..774a0934312 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 606a8ddbdc0..498b1409b81 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 5e50e8e1729..b28685cb36d 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 41e0e45db81..0c3bfe18302 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