]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Use correct includes in benchtests
authorWilco Dijkstra <wdijkstr@arm.com>
Thu, 15 Mar 2018 15:44:58 +0000 (15:44 +0000)
committerWilco Dijkstra <wdijkstr@arm.com>
Thu, 15 Mar 2018 15:44:58 +0000 (15:44 +0000)
Currently the benchtests are run with internal GLIBC headers, which is incorrect.
Defining _ISOMAC in the makefile ensures the internal headers are bypassed.
Fix all tests which were relying on internal defines or includes.

* benchtests/Makefile: Define _ISOMAC.
* benchtests/bench-strcoll.c: Add missing sys/stat.h include.
* benchtests/bench-string.h: Define inhibit_loop_to_libcall macro.
* benchtests/bench-strstr.c: Define empty libc_hidden_builtin_def.
* benchtests/bench-strtok.c (oldstrtok): Use rawmemchr.
* benchtests/bench-timing.h: Define attribute_hidden.

ChangeLog
benchtests/Makefile
benchtests/bench-strcoll.c
benchtests/bench-string.h
benchtests/bench-strstr.c
benchtests/bench-strtok.c
benchtests/bench-timing.h

index 38154c20ab7018ec7ba2d6775180934a495873a9..ca38d1dcd707c2dad6a060289b31d3b07e29edb1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2018-03-15  Wilco Dijkstra  <wdijkstr@arm.com>
+
+       * benchtests/Makefile: Define _ISOMAC.
+       * benchtests/bench-strcoll.c: Add missing sys/stat.h include.
+       * benchtests/bench-string.h: Define inhibit_loop_to_libcall macro.
+       * benchtests/bench-strstr.c: Define empty libc_hidden_builtin_def.
+       * benchtests/bench-strtok.c (oldstrtok): Use rawmemchr.
+       * benchtests/bench-timing.h: Define attribute_hidden.
+
 2018-03-15  Siddhesh Poyarekar  <siddhesh@sourceware.org>
 
        * sysdeps/aarch64/strncmp.S (strncmp): Use lsr instead of
index ff99d25fbf1ff57b6bf075c58a3022e084647822..bcd6a9c26d9a0005a09439b0b1c6aa5b3a218754 100644 (file)
@@ -125,7 +125,7 @@ ifndef BENCH_DURATION
 BENCH_DURATION := 10
 endif
 
-CPPFLAGS-nonlib += -DDURATION=$(BENCH_DURATION)
+CPPFLAGS-nonlib += -DDURATION=$(BENCH_DURATION) -D_ISOMAC
 
 # Use clock_gettime to measure performance of functions.  The default is to use
 # HP_TIMING if it is available.
index 4a0b871048e885b87b7e512d7a8fd89f4ab04f28..ac7f32fc6a4f2b2c2a4bf6008dfcad8ae59557bb 100644 (file)
@@ -22,6 +22,7 @@
 #include <stdlib.h>
 #include <locale.h>
 #include <unistd.h>
+#include <sys/stat.h>
 #include "json-lib.h"
 #include "bench-timing.h"
 #include <string.h>
index 6be6956f4bdb343052e994dbf41105d6bc9c2e0a..94aaafdaf2e1319b8cebb5baaf51f02b52182d5e 100644 (file)
 #include <getopt.h>
 #include <sys/cdefs.h>
 
+/* We are compiled under _ISOMAC, so libc-symbols.h does not do this
+   for us.  */
+#include "config.h"
+#ifdef HAVE_CC_INHIBIT_LOOP_TO_LIBCALL
+# define inhibit_loop_to_libcall \
+    __attribute__ ((__optimize__ ("-fno-tree-loop-distribute-patterns")))
+#else
+# define inhibit_loop_to_libcall
+#endif
+
 typedef struct
 {
   const char *name;
index 86d5e829dae4b1f2e4969a571a2a75dff46d2477..c30cd1078586fe66c9177707ba603bb6ba0476a7 100644 (file)
@@ -22,6 +22,7 @@
 
 
 #define STRSTR simple_strstr
+#define libc_hidden_builtin_def(X)
 #include "../string/strstr.c"
 
 
index d01c57669cb286f82986b77a97781dd9b251a640..ba8c2dcc5630e9c67908d3feb66e30c76b51d36d 100644 (file)
@@ -42,7 +42,7 @@ oldstrtok (char *s, const char *delim)
   s = strpbrk (token, delim);
   if (s == NULL)
     /* This token finishes the string.  */
-    olds = __rawmemchr (token, '\0');
+    olds = rawmemchr (token, '\0');
   else
     {
       /* Terminate the token and make OLDS point past it.  */
index bcba131c239caa0ac6b18e00158395b813872fae..b9ea04bb02c531f2025ee502c2874bc34dddade6 100644 (file)
@@ -16,6 +16,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#define attribute_hidden
 #include <hp-timing.h>
 #include <stdint.h>