diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2016-12-16 17:35:06 +0000 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2016-12-19 16:04:16 -0200 |
commit | b598e134773f7ac981b9407982714cf7d53877ee (patch) | |
tree | f3b57b584246708175940099f891efd57bc5e2c2 /benchtests/bench-string.h | |
parent | 2702856bf45c82cf8e69f2064f5aa15c0ceb6359 (diff) | |
download | glibc-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.h | 44 |
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__) |