This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.23-218-g2d304f3
- From: siddhesh at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 20 Apr 2016 07:49:54 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.23-218-g2d304f3
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 2d304f3c6f5c34b4dd34c7ab0663d93adec14c26 (commit)
via d7aea0cf06a469dac56aee445ba089d61795fbdc (commit)
from f1f9a72bdc8ff7015cb6871f4e85fcc3a1a4c248 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=2d304f3c6f5c34b4dd34c7ab0663d93adec14c26
commit 2d304f3c6f5c34b4dd34c7ab0663d93adec14c26
Author: Siddhesh Poyarekar <sid@reserved-bit.com>
Date: Wed Apr 20 13:19:01 2016 +0530
benchtests: Support for cross-building benchmarks
This patch adds full support for cross-building benchmarks. Some
benchmarks like those that need locales to be generated cannot be
built and are hence skipped for cross builds.
Tested by cross building for aarch64 on x86_64 and then running the
generated benchmark on aarch64.
* benchtests/Makefile (wcsmbs-benchset): Include only for
native builds and runs.
(LOCALES): Likewise.
(bench-build): Build timing-type here instead of the bench
target. Generate locale only for native builds.
* benchtests/README: Add note for cross-building.
diff --git a/ChangeLog b/ChangeLog
index f26f8f8..ded1093 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2016-04-20 Siddhesh Poyarekar <sid@reserved-bit.com>
+ * benchtests/Makefile (wcsmbs-benchset): Include only for
+ native builds and runs.
+ (LOCALES): Likewise.
+ (bench-build): Build timing-type here instead of the bench
+ target. Generate locale only for native builds.
+ * benchtests/README: Add note for cross-building.
+
* benchtests/Makefile (bench-clean): Clean up extra-objs.
* benchtests/README: Update README to include instructions on
diff --git a/benchtests/Makefile b/benchtests/Makefile
index 779eb39..144b32e 100644
--- a/benchtests/Makefile
+++ b/benchtests/Makefile
@@ -39,11 +39,19 @@ string-benchset := bcopy bzero memccpy memchr memcmp memcpy memmem memmove \
strncasecmp strncat strncmp strncpy strnlen strpbrk strrchr \
strspn strstr strcpy_chk stpcpy_chk memrchr strsep strtok \
strcoll memcpy-large memmove-large memset-large
+
+# Build and run locale-dependent benchmarks only if we're building natively.
+ifeq (no,$(cross-compiling))
wcsmbs-benchset := wcslen wcsnlen wcscpy wcpcpy wcsncpy wcpncpy wcscat wcsncat \
wcscmp wcsncmp wcschr wcschrnul wcsrchr wcsspn wcspbrk wcscspn \
wmemchr wmemset wmemcmp
+else
+wcsmbs-benchset :=
+endif
+
string-benchset-all := $(string-benchset) ${wcsmbs-benchset}
+ifeq (no,$(cross-compiling))
# We have to generate locales
LOCALES := en_US.UTF-8 tr_TR.UTF-8 cs_CZ.UTF-8 fa_IR.UTF-8 fr_FR.UTF-8 \
ja_JP.UTF-8 si_LK.UTF-8 en_GB.UTF-8 vi_VN.UTF-8 ar_SA.UTF-8 \
@@ -51,6 +59,7 @@ LOCALES := en_US.UTF-8 tr_TR.UTF-8 cs_CZ.UTF-8 fa_IR.UTF-8 fr_FR.UTF-8 \
he_IL.UTF-8 is_IS.UTF-8 es_ES.UTF-8 hi_IN.UTF-8 sv_SE.UTF-8 \
hu_HU.UTF-8 it_IT.UTF-8 sr_RS.UTF-8 zh_CN.UTF-8
include ../gen-locales.mk
+endif
stdlib-benchset := strtod
@@ -131,10 +140,16 @@ bench-clean:
rm -f $(timing-type) $(addsuffix .o,$(timing-type))
rm -f $(addprefix $(objpfx),$(bench-extra-objs))
-bench: $(timing-type) $(gen-locales) bench-build bench-set bench-func \
- bench-malloc
-# Target to only build the benchmark without running it.
-bench-build: $(binaries-bench) $(binaries-benchset) $(binaries-bench-malloc)
+bench: bench-build bench-set bench-func bench-malloc
+# Target to only build the benchmark without running it. We generate locales
+# only if we're building natively.
+ifeq (no,$(cross-compiling))
+bench-build: $(gen-locales) $(timing-type) $(binaries-bench) \
+ $(binaries-benchset) $(binaries-bench-malloc)
+else
+bench-build: $(timing-type) $(binaries-bench) $(binaries-benchset) \
+ $(binaries-bench-malloc)
+endif
bench-set: $(binaries-benchset)
for run in $^; do \
diff --git a/benchtests/README b/benchtests/README
index 847df87..2c5f381 100644
--- a/benchtests/README
+++ b/benchtests/README
@@ -49,7 +49,9 @@ benchmarks from the build directory as usual:
$ make bench
make sure the copy preserves timestamps by using either rsync or scp -p
-otherwise the above command may try to build the benchmark again.
+otherwise the above command may try to build the benchmark again. Benchmarks
+that require generated code to be executed during the build are skipped when
+cross-building.
Adding a function to benchtests:
===============================
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=d7aea0cf06a469dac56aee445ba089d61795fbdc
commit d7aea0cf06a469dac56aee445ba089d61795fbdc
Author: Siddhesh Poyarekar <sid@reserved-bit.com>
Date: Wed Apr 20 11:19:49 2016 +0530
benchtests: Clean up extra-objs
The bench-clean target would leave behind json-lib.o. Fix up to clean
up all extra-objs registered in benchtests.
diff --git a/ChangeLog b/ChangeLog
index e16c557..f26f8f8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
2016-04-20 Siddhesh Poyarekar <sid@reserved-bit.com>
+ * benchtests/Makefile (bench-clean): Clean up extra-objs.
+
* benchtests/README: Update README to include instructions on
using bench-build.
diff --git a/benchtests/Makefile b/benchtests/Makefile
index a05974e..779eb39 100644
--- a/benchtests/Makefile
+++ b/benchtests/Makefile
@@ -112,7 +112,9 @@ cpp-srcs-left := $(binaries-benchset:=.c) $(binaries-bench:=.c) \
lib := nonlib
include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
-extra-objs += json-lib.o
+bench-extra-objs = json-lib.o
+
+extra-objs += $(bench-extra-objs)
bench-deps := bench-skeleton.c bench-timing.h Makefile
@@ -127,6 +129,7 @@ bench-clean:
rm -f $(binaries-benchset) $(addsuffix .o,$(binaries-benchset))
rm -f $(binaries-bench-malloc) $(addsuffix .o,$(binaries-bench-malloc))
rm -f $(timing-type) $(addsuffix .o,$(timing-type))
+ rm -f $(addprefix $(objpfx),$(bench-extra-objs))
bench: $(timing-type) $(gen-locales) bench-build bench-set bench-func \
bench-malloc
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 9 +++++++++
benchtests/Makefile | 30 ++++++++++++++++++++++++------
benchtests/README | 4 +++-
3 files changed, 36 insertions(+), 7 deletions(-)
hooks/post-receive
--
GNU C Library master sources