[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commits] r23920 - in /fsf/trunk/libc: ./ benchtests/ conform/ dlfcn/ elf/ hurd/ include/ libio/ locale/ localedata/ localedata/locale...



Author: eglibc
Date: Thu Sep  5 00:03:45 2013
New Revision: 23920

Log:
Import glibc-mainline for 2013-09-05

Added:
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/m68k/mmap64.c
Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/INSTALL
    fsf/trunk/libc/Makerules
    fsf/trunk/libc/NEWS
    fsf/trunk/libc/benchtests/Makefile
    fsf/trunk/libc/benchtests/bench-memccpy.c
    fsf/trunk/libc/benchtests/bench-memchr.c
    fsf/trunk/libc/benchtests/bench-memcmp.c
    fsf/trunk/libc/benchtests/bench-memcpy.c
    fsf/trunk/libc/benchtests/bench-memmem.c
    fsf/trunk/libc/benchtests/bench-memmove.c
    fsf/trunk/libc/benchtests/bench-memset.c
    fsf/trunk/libc/benchtests/bench-rawmemchr.c
    fsf/trunk/libc/benchtests/bench-strcasecmp.c
    fsf/trunk/libc/benchtests/bench-strcasestr.c
    fsf/trunk/libc/benchtests/bench-strcat.c
    fsf/trunk/libc/benchtests/bench-strchr.c
    fsf/trunk/libc/benchtests/bench-strcmp.c
    fsf/trunk/libc/benchtests/bench-strcpy.c
    fsf/trunk/libc/benchtests/bench-strcpy_chk.c
    fsf/trunk/libc/benchtests/bench-string.h
    fsf/trunk/libc/benchtests/bench-strlen.c
    fsf/trunk/libc/benchtests/bench-strncasecmp.c
    fsf/trunk/libc/benchtests/bench-strncat.c
    fsf/trunk/libc/benchtests/bench-strncmp.c
    fsf/trunk/libc/benchtests/bench-strncpy.c
    fsf/trunk/libc/benchtests/bench-strnlen.c
    fsf/trunk/libc/benchtests/bench-strpbrk.c
    fsf/trunk/libc/benchtests/bench-strrchr.c
    fsf/trunk/libc/benchtests/bench-strspn.c
    fsf/trunk/libc/benchtests/bench-strstr.c
    fsf/trunk/libc/benchtests/bench-timing.h
    fsf/trunk/libc/config.h.in
    fsf/trunk/libc/config.make.in
    fsf/trunk/libc/configure
    fsf/trunk/libc/configure.in
    fsf/trunk/libc/conform/conformtest.pl
    fsf/trunk/libc/dlfcn/Makefile
    fsf/trunk/libc/dlfcn/modstatic2.c
    fsf/trunk/libc/dlfcn/tststatic2.c
    fsf/trunk/libc/elf/Makefile
    fsf/trunk/libc/extra-lib.mk
    fsf/trunk/libc/hurd/Makefile
    fsf/trunk/libc/hurd/geteuids.c
    fsf/trunk/libc/include/complex.h
    fsf/trunk/libc/include/fenv.h
    fsf/trunk/libc/include/libc-symbols.h
    fsf/trunk/libc/include/shlib-compat.h
    fsf/trunk/libc/libio/Makefile
    fsf/trunk/libc/locale/iso-4217.def
    fsf/trunk/libc/localedata/ChangeLog
    fsf/trunk/libc/localedata/locales/aa_ET
    fsf/trunk/libc/localedata/locales/am_ET
    fsf/trunk/libc/localedata/locales/an_ES
    fsf/trunk/libc/localedata/locales/ar_AE
    fsf/trunk/libc/localedata/locales/ar_BH
    fsf/trunk/libc/localedata/locales/ar_DZ
    fsf/trunk/libc/localedata/locales/ar_EG
    fsf/trunk/libc/localedata/locales/ar_IN
    fsf/trunk/libc/localedata/locales/ar_IQ
    fsf/trunk/libc/localedata/locales/ar_JO
    fsf/trunk/libc/localedata/locales/ar_KW
    fsf/trunk/libc/localedata/locales/ar_LB
    fsf/trunk/libc/localedata/locales/ar_LY
    fsf/trunk/libc/localedata/locales/ar_MA
    fsf/trunk/libc/localedata/locales/ar_QA
    fsf/trunk/libc/localedata/locales/ar_SA
    fsf/trunk/libc/localedata/locales/ar_SD
    fsf/trunk/libc/localedata/locales/ar_SY
    fsf/trunk/libc/localedata/locales/ar_TN
    fsf/trunk/libc/localedata/locales/ayc_PE
    fsf/trunk/libc/localedata/locales/az_AZ
    fsf/trunk/libc/localedata/locales/be_BY
    fsf/trunk/libc/localedata/locales/bn_BD
    fsf/trunk/libc/localedata/locales/bn_IN
    fsf/trunk/libc/localedata/locales/br_FR
    fsf/trunk/libc/localedata/locales/bs_BA
    fsf/trunk/libc/localedata/locales/ca_ES
    fsf/trunk/libc/localedata/locales/csb_PL
    fsf/trunk/libc/localedata/locales/da_DK
    fsf/trunk/libc/localedata/locales/de_AT
    fsf/trunk/libc/localedata/locales/de_BE
    fsf/trunk/libc/localedata/locales/de_CH
    fsf/trunk/libc/localedata/locales/de_LU
    fsf/trunk/libc/localedata/locales/dv_MV
    fsf/trunk/libc/localedata/locales/el_GR
    fsf/trunk/libc/localedata/locales/en_AU
    fsf/trunk/libc/localedata/locales/en_BW
    fsf/trunk/libc/localedata/locales/en_CA
    fsf/trunk/libc/localedata/locales/en_DK
    fsf/trunk/libc/localedata/locales/en_GB
    fsf/trunk/libc/localedata/locales/en_HK
    fsf/trunk/libc/localedata/locales/en_IE
    fsf/trunk/libc/localedata/locales/en_IN
    fsf/trunk/libc/localedata/locales/en_NZ
    fsf/trunk/libc/localedata/locales/en_PH
    fsf/trunk/libc/localedata/locales/en_SG
    fsf/trunk/libc/localedata/locales/en_ZW
    fsf/trunk/libc/localedata/locales/es_AR
    fsf/trunk/libc/localedata/locales/es_BO
    fsf/trunk/libc/localedata/locales/es_CL
    fsf/trunk/libc/localedata/locales/es_CO
    fsf/trunk/libc/localedata/locales/es_DO
    fsf/trunk/libc/localedata/locales/es_EC
    fsf/trunk/libc/localedata/locales/es_ES
    fsf/trunk/libc/localedata/locales/es_GT
    fsf/trunk/libc/localedata/locales/es_MX
    fsf/trunk/libc/localedata/locales/es_NI
    fsf/trunk/libc/localedata/locales/es_PA
    fsf/trunk/libc/localedata/locales/es_PE
    fsf/trunk/libc/localedata/locales/es_PY
    fsf/trunk/libc/localedata/locales/es_SV
    fsf/trunk/libc/localedata/locales/es_UY
    fsf/trunk/libc/localedata/locales/es_VE
    fsf/trunk/libc/localedata/locales/eu_ES
    fsf/trunk/libc/localedata/locales/fo_FO
    fsf/trunk/libc/localedata/locales/fr_BE
    fsf/trunk/libc/localedata/locales/fr_CA
    fsf/trunk/libc/localedata/locales/fr_CH
    fsf/trunk/libc/localedata/locales/fr_FR
    fsf/trunk/libc/localedata/locales/fr_LU
    fsf/trunk/libc/localedata/locales/fur_IT
    fsf/trunk/libc/localedata/locales/fy_DE
    fsf/trunk/libc/localedata/locales/ga_IE
    fsf/trunk/libc/localedata/locales/gez_ER
    fsf/trunk/libc/localedata/locales/gez_ET
    fsf/trunk/libc/localedata/locales/gl_ES
    fsf/trunk/libc/localedata/locales/gu_IN
    fsf/trunk/libc/localedata/locales/gv_GB
    fsf/trunk/libc/localedata/locales/he_IL
    fsf/trunk/libc/localedata/locales/hi_IN
    fsf/trunk/libc/localedata/locales/hr_HR
    fsf/trunk/libc/localedata/locales/hu_HU
    fsf/trunk/libc/localedata/locales/id_ID
    fsf/trunk/libc/localedata/locales/ik_CA
    fsf/trunk/libc/localedata/locales/is_IS
    fsf/trunk/libc/localedata/locales/it_CH
    fsf/trunk/libc/localedata/locales/it_IT
    fsf/trunk/libc/localedata/locales/iu_CA
    fsf/trunk/libc/localedata/locales/ja_JP
    fsf/trunk/libc/localedata/locales/ka_GE
    fsf/trunk/libc/localedata/locales/kk_KZ
    fsf/trunk/libc/localedata/locales/kn_IN
    fsf/trunk/libc/localedata/locales/ko_KR
    fsf/trunk/libc/localedata/locales/ku_TR
    fsf/trunk/libc/localedata/locales/kw_GB
    fsf/trunk/libc/localedata/locales/ky_KG
    fsf/trunk/libc/localedata/locales/lg_UG
    fsf/trunk/libc/localedata/locales/lt_LT
    fsf/trunk/libc/localedata/locales/lv_LV
    fsf/trunk/libc/localedata/locales/mi_NZ
    fsf/trunk/libc/localedata/locales/ml_IN
    fsf/trunk/libc/localedata/locales/mr_IN
    fsf/trunk/libc/localedata/locales/ms_MY
    fsf/trunk/libc/localedata/locales/mt_MT
    fsf/trunk/libc/localedata/locales/nb_NO
    fsf/trunk/libc/localedata/locales/ne_NP
    fsf/trunk/libc/localedata/locales/nl_BE
    fsf/trunk/libc/localedata/locales/nn_NO
    fsf/trunk/libc/localedata/locales/nr_ZA
    fsf/trunk/libc/localedata/locales/nso_ZA
    fsf/trunk/libc/localedata/locales/om_ET
    fsf/trunk/libc/localedata/locales/om_KE
    fsf/trunk/libc/localedata/locales/pa_IN
    fsf/trunk/libc/localedata/locales/pl_PL
    fsf/trunk/libc/localedata/locales/pt_BR
    fsf/trunk/libc/localedata/locales/pt_PT
    fsf/trunk/libc/localedata/locales/ru_RU
    fsf/trunk/libc/localedata/locales/ru_UA
    fsf/trunk/libc/localedata/locales/sa_IN
    fsf/trunk/libc/localedata/locales/se_NO
    fsf/trunk/libc/localedata/locales/sk_SK
    fsf/trunk/libc/localedata/locales/sl_SI
    fsf/trunk/libc/localedata/locales/so_ET
    fsf/trunk/libc/localedata/locales/so_KE
    fsf/trunk/libc/localedata/locales/so_SO
    fsf/trunk/libc/localedata/locales/sq_AL
    fsf/trunk/libc/localedata/locales/ss_ZA
    fsf/trunk/libc/localedata/locales/sv_SE
    fsf/trunk/libc/localedata/locales/ta_IN
    fsf/trunk/libc/localedata/locales/te_IN
    fsf/trunk/libc/localedata/locales/tg_TJ
    fsf/trunk/libc/localedata/locales/th_TH
    fsf/trunk/libc/localedata/locales/ti_ET
    fsf/trunk/libc/localedata/locales/tl_PH
    fsf/trunk/libc/localedata/locales/tn_ZA
    fsf/trunk/libc/localedata/locales/ts_ZA
    fsf/trunk/libc/localedata/locales/tt_RU
    fsf/trunk/libc/localedata/locales/tt_RU@iqtelif
    fsf/trunk/libc/localedata/locales/ur_PK
    fsf/trunk/libc/localedata/locales/uz_UZ
    fsf/trunk/libc/localedata/locales/ve_ZA
    fsf/trunk/libc/localedata/locales/vi_VN
    fsf/trunk/libc/localedata/locales/wal_ET
    fsf/trunk/libc/localedata/locales/wo_SN
    fsf/trunk/libc/localedata/locales/zh_SG
    fsf/trunk/libc/manual/install.texi
    fsf/trunk/libc/nptl/ChangeLog
    fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S
    fsf/trunk/libc/ports/ChangeLog.m68k
    fsf/trunk/libc/resolv/res_libc.c
    fsf/trunk/libc/sunrpc/Makefile
    fsf/trunk/libc/sysdeps/gnu/Makefile
    fsf/trunk/libc/sysdeps/i386/i686/multiarch/strstr-c.c
    fsf/trunk/libc/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h
    fsf/trunk/libc/sysdeps/powerpc/powerpc32/dl-machine.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc32/sysdep.h
    fsf/trunk/libc/sysdeps/wordsize-32/divdi3.c

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Thu Sep  5 00:03:45 2013
@@ -1,3 +1,109 @@
+2013-09-04  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* conform/conformtest.pl (newtoken): Treat tokens not allowed as
+	errors.
+	(top level): Treat second token from macro or constant entries for
+	allowed headers as allowed.
+	* include/complex.h: Condition internal declarations on
+	[!_ISOMAC].
+	* include/fenv.h: Condition include of <stdbool.h> and internal
+	declarations on [!_ISOMAC].
+
+2013-09-04  Chris Leonard  <cjl@sugarlabs,.org>
+
+     [BZ #15923]
+	* locale/iso-4217.def: Update iso-1427.def and related occurrences.
+
+2013-09-04  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* configure.in (--enable-versioning): Remove configure option.
+	(libc_cv_asm_symver_directive): Remove configure test.
+	(libc_cv_ld_version_script_option): Likewise.
+	(VERSIONING): Remove variable and AC_SUBST.
+	(DO_VERSIONING): Remove AC_DEFINE.
+	* configure: Regenerated.
+	* config.h.in (DO_VERSIONING): Remove macro.
+	* Makerules [$(versioning) = yes]: Change conditionals to
+	[$(build-shared) = yes].
+	* config.make.in (versioning): Remove variable.
+	* dlfcn/Makefile [$(versioning) = yes]: Change conditionals to
+	[$(build-shared) = yes].
+	* dlfcn/modstatic2.c (test) [DO_VERSIONING]: Remove conditional.
+	* dlfcn/tststatic2.c (main) [DO_VERSIONING]: Likewise.
+	* elf/Makefile [$(versioning) = yes]: Change conditionals to
+	[$(build-shared) = yes].
+	* extra-lib.mk [$(versioning) = yes]: Likewise.
+	* hurd/Makefile [$(versioning) = yes]: Likewise.
+	* hurd/geteuids.c [SHARED && DO_VERSIONING]: Change conditional to
+	[SHARED].
+	* include/libc-symbols.h [DO_VERSIONING]: Change conditional to
+	[SHARED].
+	[SHARED && DO_VERSIONING && !NO_HIDDEN]: Change conditional to
+	[SHARED && !NO_HIDDEN].
+	* include/shlib-compat.h [DO_VERSIONING]: Change conditional to
+	[SHARED].
+	[SHARED && DO_VERSIONING]: Likewise..
+	* libio/Makefile [$(versioning) = yes]: Change conditionals to
+	[$(build-shared) = yes].
+	* manual/install.texi (--disable-versioning): Remove
+	documentation.
+	* INSTALL: Regenerated.
+	* resolv/res_libc.c [SHARED && DO_VERSIONING]: Change conditional
+	to [SHARED].
+	* sunrpc/Makefile [$(versioning) = yes]: Change conditional to
+	[$(build-shared) = yes].
+	* sysdeps/gnu/Makefile [$(versioning) = yes]: Likewise.
+	* sysdeps/i386/i686/multiarch/strstr-c.c
+	[SHARED && DO_VERSIONING && !NO_HIDDEN]: Change conditional to
+	[SHARED && !NO_HIDDEN].
+	* sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h
+	[SHARED && DO_VERSIONING]: Change conditional to [SHARED].
+	* sysdeps/powerpc/powerpc32/dl-machine.c
+	[SHARED && !(DO_VERSIONING - 0)]: Remove conditional error.
+	* sysdeps/powerpc/powerpc32/sysdep.h
+	[SHARED && DO_VERSIONING && PIC && !NO_HIDDEN]: Change conditional
+	to [SHARED && PIC && !NO_HIDDEN].
+	* sysdeps/wordsize-32/divdi3.c [SHARED && DO_VERSIONING]: Change
+	conditional to [SHARED].
+
+2013-09-04   Will Newton  <will.newton@xxxxxxxxxx>
+
+	* benchtests/bench-timing.h (TIMING_PRINT_MEAN): New macro.
+	* benchtests/bench-string.h: Include bench-timing.h instead
+	of including hp-timing.h directly. (INNER_LOOP_ITERS): New
+	define. (HP_TIMING_BEST): Delete macro. (test_init): Remove
+	call to HP_TIMING_DIFF_INIT.
+	* benchtests/bench-memccpy.c: Use bench-timing.h macros
+	instead of hp-timing.h macros.
+	* benchtests/bench-memchr.c: Likewise.
+	* benchtests/bench-memcmp.c: Likewise.
+	* benchtests/bench-memcpy.c: Likewise.
+	* benchtests/bench-memmem.c: Likewise.
+	* benchtests/bench-memmove.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-strncat.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-strspn.c: Likewise.
+	* benchtests/bench-strstr.c: Likewise.
+
+2013-09-04  Will Newton  <will.newton@xxxxxxxxxx>
+
+	* benchtests/Makefile: Use LDLIBS instead of LDFLAGS.
+
 2013-09-03  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	[BZ #15427]

Modified: fsf/trunk/libc/INSTALL
==============================================================================
--- fsf/trunk/libc/INSTALL (original)
+++ fsf/trunk/libc/INSTALL Thu Sep  5 00:03:45 2013
@@ -110,11 +110,6 @@
 `--disable-profile'
      Don't build libraries with profiling information.  You may want to
      use this option if you don't plan to do profiling.
-
-`--disable-versioning'
-     Don't compile the shared libraries with symbol version information.
-     Doing this will make the resulting library incompatible with old
-     binaries, so it's not recommended.
 
 `--enable-static-nss'
      Compile static versions of the NSS (Name Service Switch) libraries.

Modified: fsf/trunk/libc/Makerules
==============================================================================
--- fsf/trunk/libc/Makerules (original)
+++ fsf/trunk/libc/Makerules Thu Sep  5 00:03:45 2013
@@ -93,7 +93,7 @@
 			       $(before-compile))
 
 # Even before that, we need abi-versions.h which is generated right here.
-ifeq ($(versioning),yes)
+ifeq ($(build-shared),yes)
 ifndef avoid-generated
 before-compile := $(common-objpfx)abi-versions.h $(before-compile)
 $(common-objpfx)abi-versions.h: $(..)scripts/abi-versions.awk \
@@ -106,7 +106,7 @@
 	    $(common-objpfx)abi-versions.h > $@T
 	mv -f $@T $@
 endif # avoid-generated
-endif # $(versioning) = yes
+endif # $(build-shared) = yes
 
 ifndef avoid-generated
 before-compile := $(common-objpfx)libc-abis.h $(before-compile)
@@ -283,7 +283,7 @@
 
 # Generate version maps, but wait until sysdep-subdirs is known
 ifeq ($(sysd-sorted-done),t)
-ifeq ($(versioning),yes)
+ifeq ($(build-shared),yes)
 -include $(common-objpfx)sysd-versions
 $(addprefix $(common-objpfx),$(version-maps)): $(common-objpfx)sysd-versions
 common-generated += $(version-maps)
@@ -324,7 +324,7 @@
 	) > $@T
 	mv -f $@T $@
 endif # avoid-generated
-endif # $(versioning) = yes
+endif # $(build-shared) = yes
 endif # sysd-sorted-done
 
 # Generate .dT files as we compile.
@@ -400,9 +400,9 @@
 
 ifeq (yes,$(build-shared))
 
-# Reference map file only when versioning is selected and a map file name
+# Reference map file only when shared libraries are built and a map file name
 # is given.
-ifeq ($(versioning),yes)
+ifeq ($(build-shared),yes)
 map-file = $(firstword $($(@F:.so=-map)) \
 		       $(addprefix $(common-objpfx), \
 				   $(filter $(@F:.so=.map),$(version-maps))))
@@ -575,7 +575,7 @@
 			 $(elfobjdir)/interp.os $(elfobjdir)/ld.so \
 			 $(shlib-lds)
 	$(build-shlib)
-ifeq ($(versioning),yes)
+ifeq ($(build-shared),yes)
 $(common-objpfx)libc.so: $(common-objpfx)libc.map
 endif
 common-generated += libc.so libc_pic.os
@@ -1132,7 +1132,7 @@
 CPPFLAGS-nonlib = -DNOT_IN_libc=1
 
 
-ifeq ($(versioning),yes)
+ifeq ($(build-shared),yes)
 # Generate normalized lists of symbols, versions, and data sizes.
 # This is handy for checking against existing library binaries.
 

Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Thu Sep  5 00:03:45 2013
@@ -17,6 +17,11 @@
   character.  (Bugzilla #14699).
 
 * New locales: quz_PE.
+
+* Add country_car field to LC_ADDRESS, many locales.
+
+* Update iso-1427.def and related occurrences.
+
 
 Version 2.18
 

Modified: fsf/trunk/libc/benchtests/Makefile
==============================================================================
--- fsf/trunk/libc/benchtests/Makefile (original)
+++ fsf/trunk/libc/benchtests/Makefile Thu Sep  5 00:03:45 2013
@@ -36,67 +36,67 @@
 
 acos-ARGLIST = double
 acos-RET = double
-LDFLAGS-bench-acos = -lm
+LDLIBS-bench-acos = -lm
 
 acosh-ARGLIST = double
 acosh-RET = double
-LDFLAGS-bench-acosh = -lm
+LDLIBS-bench-acosh = -lm
 
 asin-ARGLIST = double
 asin-RET = double
-LDFLAGS-bench-asin = -lm
+LDLIBS-bench-asin = -lm
 
 asinh-ARGLIST = double
 asinh-RET = double
-LDFLAGS-bench-asinh = -lm
+LDLIBS-bench-asinh = -lm
 
 atan-ARGLIST = double
 atan-RET = double
-LDFLAGS-bench-atan = -lm
+LDLIBS-bench-atan = -lm
 
 atanh-ARGLIST = double
 atanh-RET = double
-LDFLAGS-bench-atanh = -lm
+LDLIBS-bench-atanh = -lm
 
 cos-ARGLIST = double
 cos-RET = double
-LDFLAGS-bench-cos = -lm
+LDLIBS-bench-cos = -lm
 
 cosh-ARGLIST = double
 cosh-RET = double
-LDFLAGS-bench-cosh = -lm
+LDLIBS-bench-cosh = -lm
 
 exp-ARGLIST = double
 exp-RET = double
-LDFLAGS-bench-exp = -lm
+LDLIBS-bench-exp = -lm
 
 log-ARGLIST = double
 log-RET = double
-LDFLAGS-bench-log = -lm
+LDLIBS-bench-log = -lm
 
 pow-ARGLIST = double:double
 pow-RET = double
-LDFLAGS-bench-pow = -lm
+LDLIBS-bench-pow = -lm
 
 rint-ARGLIST = double
 rint-RET = double
-LDFLAGS-bench-rint = -lm
+LDLIBS-bench-rint = -lm
 
 sin-ARGLIST = double
 sin-RET = double
-LDFLAGS-bench-sin = -lm
+LDLIBS-bench-sin = -lm
 
 sinh-ARGLIST = double
 sinh-RET = double
-LDFLAGS-bench-sinh = -lm
+LDLIBS-bench-sinh = -lm
 
 tan-ARGLIST = double
 tan-RET = double
-LDFLAGS-bench-tan = -lm
+LDLIBS-bench-tan = -lm
 
 tanh-ARGLIST = double
 tanh-RET = double
-LDFLAGS-bench-tanh = -lm
+LDLIBS-bench-tanh = -lm
 
 
 

Modified: fsf/trunk/libc/benchtests/bench-memccpy.c
==============================================================================
--- fsf/trunk/libc/benchtests/bench-memccpy.c (original)
+++ fsf/trunk/libc/benchtests/bench-memccpy.c Thu Sep  5 00:03:45 2013
@@ -59,6 +59,9 @@
 	     size_t n)
 {
   void *expect = len > n ? NULL : (char *) dst + len;
+  size_t i, iters = INNER_LOOP_ITERS;
+  timing_t start, stop, cur;
+
   if (CALL (impl, dst, src, c, n) != expect)
     {
       error (0, 0, "Wrong result in function %s %p %p", impl->name,
@@ -74,23 +77,16 @@
       return;
     }
 
-  if (HP_TIMING_AVAIL)
+  TIMING_NOW (start);
+  for (i = 0; i < iters; ++i)
     {
-      hp_timing_t start __attribute__ ((unused));
-      hp_timing_t stop __attribute__ ((unused));
-      hp_timing_t best_time = ~ (hp_timing_t) 0;
-      size_t i;
+      CALL (impl, dst, src, c, n);
+    }
+  TIMING_NOW (stop);
 
-      for (i = 0; i < 32; ++i)
-	{
-	  HP_TIMING_NOW (start);
-	  CALL (impl, dst, src, c, n);
-	  HP_TIMING_NOW (stop);
-	  HP_TIMING_BEST (best_time, start, stop);
-	}
+  TIMING_DIFF (cur, start, stop);
 
-      printf ("\t%zd", (size_t) best_time);
-    }
+  TIMING_PRINT_MEAN ((double) cur, (double) iters);
 }
 
 static void
@@ -121,14 +117,12 @@
   for (i = len; i + align1 < page_size && i < len + 64; ++i)
     s1[i] = 32 + 32 * i % (max_char - 32);
 
-  if (HP_TIMING_AVAIL)
-    printf ("Length %4zd, n %4zd, char %d, alignment %2zd/%2zd:", len, n, c, align1, align2);
+  printf ("Length %4zd, n %4zd, char %d, alignment %2zd/%2zd:", len, n, c, align1, align2);
 
   FOR_EACH_IMPL (impl, 0)
     do_one_test (impl, s2, s1, c, len, n);
 
-  if (HP_TIMING_AVAIL)
-    putchar ('\n');
+  putchar ('\n');
 }
 
 int

Modified: fsf/trunk/libc/benchtests/bench-memchr.c
==============================================================================
--- fsf/trunk/libc/benchtests/bench-memchr.c (original)
+++ fsf/trunk/libc/benchtests/bench-memchr.c Thu Sep  5 00:03:45 2013
@@ -39,6 +39,9 @@
 do_one_test (impl_t *impl, const char *s, int c, size_t n, char *exp_res)
 {
   char *res = CALL (impl, s, c, n);
+  size_t i, iters = INNER_LOOP_ITERS;
+  timing_t start, stop, cur;
+
   if (res != exp_res)
     {
       error (0, 0, "Wrong result in function %s %p %p", impl->name,
@@ -47,23 +50,16 @@
       return;
     }
 
-  if (HP_TIMING_AVAIL)
+  TIMING_NOW (start);
+  for (i = 0; i < iters; ++i)
     {
-      hp_timing_t start __attribute ((unused));
-      hp_timing_t stop __attribute ((unused));
-      hp_timing_t best_time = ~ (hp_timing_t) 0;
-      size_t i;
+      CALL (impl, s, c, n);
+    }
+  TIMING_NOW (stop);
 
-      for (i = 0; i < 32; ++i)
-	{
-	  HP_TIMING_NOW (start);
-	  CALL (impl, s, c, n);
-	  HP_TIMING_NOW (stop);
-	  HP_TIMING_BEST (best_time, start, stop);
-	}
+  TIMING_DIFF (cur, start, stop);
 
-      printf ("\t%zd", (size_t) best_time);
-    }
+  TIMING_PRINT_MEAN ((double) cur, (double) iters);
 }
 
 static void
@@ -96,14 +92,12 @@
       buf1[align + len] = seek_char;
     }
 
-  if (HP_TIMING_AVAIL)
-    printf ("Length %4zd, alignment %2zd:", pos, align);
+  printf ("Length %4zd, alignment %2zd:", pos, align);
 
   FOR_EACH_IMPL (impl, 0)
     do_one_test (impl, (char *) (buf1 + align), seek_char, len, result);
 
-  if (HP_TIMING_AVAIL)
-    putchar ('\n');
+  putchar ('\n');
 }
 
 int

Modified: fsf/trunk/libc/benchtests/bench-memcmp.c
==============================================================================
--- fsf/trunk/libc/benchtests/bench-memcmp.c (original)
+++ fsf/trunk/libc/benchtests/bench-memcmp.c Thu Sep  5 00:03:45 2013
@@ -78,23 +78,19 @@
 do_one_test (impl_t *impl, const CHAR *s1, const CHAR *s2, size_t len,
 	     int exp_result)
 {
-  if (HP_TIMING_AVAIL)
+  size_t i, iters = INNER_LOOP_ITERS;
+  timing_t start, stop, cur;
+
+  TIMING_NOW (start);
+  for (i = 0; i < iters; ++i)
     {
-      hp_timing_t start __attribute ((unused));
-      hp_timing_t stop __attribute ((unused));
-      hp_timing_t best_time = ~ (hp_timing_t) 0;
-      size_t i;
+      CALL (impl, s1, s2, len);
+    }
+  TIMING_NOW (stop);
 
-      for (i = 0; i < 32; ++i)
-	{
-	  HP_TIMING_NOW (start);
-	  CALL (impl, s1, s2, len);
-	  HP_TIMING_NOW (stop);
-	  HP_TIMING_BEST (best_time, start, stop);
-	}
+  TIMING_DIFF (cur, start, stop);
 
-      printf ("\t%zd", (size_t) best_time);
-    }
+  TIMING_PRINT_MEAN ((double) cur, (double) iters);
 }
 
 static void
@@ -124,14 +120,12 @@
   s2[len] = align2;
   s2[len - 1] -= exp_result;
 
-  if (HP_TIMING_AVAIL)
-    printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
+  printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
 
   FOR_EACH_IMPL (impl, 0)
     do_one_test (impl, s1, s2, len, exp_result);
 
-  if (HP_TIMING_AVAIL)
-    putchar ('\n');
+  putchar ('\n');
 }
 
 int

Modified: fsf/trunk/libc/benchtests/bench-memcpy.c
==============================================================================
--- fsf/trunk/libc/benchtests/bench-memcpy.c (original)
+++ fsf/trunk/libc/benchtests/bench-memcpy.c Thu Sep  5 00:03:45 2013
@@ -52,6 +52,9 @@
 do_one_test (impl_t *impl, char *dst, const char *src,
 	     size_t len)
 {
+  size_t i, iters = INNER_LOOP_ITERS;
+  timing_t start, stop, cur;
+
   if (CALL (impl, dst, src, len) != MEMCPY_RESULT (dst, len))
     {
       error (0, 0, "Wrong result in function %s %p %p", impl->name,
@@ -68,23 +71,16 @@
       return;
     }
 
-  if (HP_TIMING_AVAIL)
+  TIMING_NOW (start);
+  for (i = 0; i < iters; ++i)
     {
-      hp_timing_t start __attribute ((unused));
-      hp_timing_t stop __attribute ((unused));
-      hp_timing_t best_time = ~ (hp_timing_t) 0;
-      size_t i;
+      CALL (impl, dst, src, len);
+    }
+  TIMING_NOW (stop);
 
-      for (i = 0; i < 32; ++i)
-	{
-	  HP_TIMING_NOW (start);
-	  CALL (impl, dst, src, len);
-	  HP_TIMING_NOW (stop);
-	  HP_TIMING_BEST (best_time, start, stop);
-	}
+  TIMING_DIFF (cur, start, stop);
 
-      printf ("\t%zd", (size_t) best_time);
-    }
+  TIMING_PRINT_MEAN ((double) cur, (double) iters);
 }
 
 static void
@@ -107,14 +103,12 @@
   for (i = 0, j = 1; i < len; i++, j += 23)
     s1[i] = j;
 
-  if (HP_TIMING_AVAIL)
-    printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
+  printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
 
   FOR_EACH_IMPL (impl, 0)
     do_one_test (impl, s2, s1, len);
 
-  if (HP_TIMING_AVAIL)
-    putchar ('\n');
+  putchar ('\n');
 }
 
 int

Modified: fsf/trunk/libc/benchtests/bench-memmem.c
==============================================================================
--- fsf/trunk/libc/benchtests/bench-memmem.c (original)
+++ fsf/trunk/libc/benchtests/bench-memmem.c Thu Sep  5 00:03:45 2013
@@ -60,23 +60,19 @@
 do_one_test (impl_t *impl, const void *haystack, size_t haystack_len,
 	     const void *needle, size_t needle_len, const void *expected)
 {
-  if (HP_TIMING_AVAIL)
+  size_t i, iters = INNER_LOOP_ITERS;
+  timing_t start, stop, cur;
+
+  TIMING_NOW (start);
+  for (i = 0; i < iters; ++i)
     {
-      hp_timing_t start __attribute ((unused));
-      hp_timing_t stop __attribute ((unused));
-      hp_timing_t best_time = ~ (hp_timing_t) 0;
-      size_t i;
+      CALL (impl, haystack, haystack_len, needle, needle_len);
+    }
+  TIMING_NOW (stop);
 
-      for (i = 0; i < 32; ++i)
-	{
-	  HP_TIMING_NOW (start);
-	  CALL (impl, haystack, haystack_len, needle, needle_len);
-	  HP_TIMING_NOW (stop);
-	  HP_TIMING_BEST (best_time, start, stop);
-	}
+  TIMING_DIFF (cur, start, stop);
 
-      printf ("\t%zd", (size_t) best_time);
-    }
+  TIMING_PRINT_MEAN ((double) cur, (double) iters);
 }
 
 static void
@@ -87,16 +83,14 @@
   memcpy (tmpbuf, buf1 + idx, len);
   memcpy (buf1 + idx, str, len);
 
-  if (HP_TIMING_AVAIL)
-    printf ("String %s, offset %zd:", str, idx);
+  printf ("String %s, offset %zd:", str, idx);
 
   FOR_EACH_IMPL (impl, 0)
     do_one_test (impl, buf1, BUF1PAGES * page_size, str, len, buf1 + idx);
 
   memcpy (buf1 + idx, tmpbuf, len);
 
-  if (HP_TIMING_AVAIL)
-    putchar ('\n');
+  putchar ('\n');
 }
 
 static void
@@ -120,15 +114,13 @@
 	  buf1[idx + off] = ch;
 	}
 
-      if (HP_TIMING_AVAIL)
-	printf ("String %.*s, offset %zd:", (int) len, buf1 + idx, idx);
+      printf ("String %.*s, offset %zd:", (int) len, buf1 + idx, idx);
 
       FOR_EACH_IMPL (impl, 0)
 	do_one_test (impl, buf1, BUF1PAGES * page_size, buf1 + idx, len,
 		     buf1 + idx);
 
-      if (HP_TIMING_AVAIL)
-	putchar ('\n');
+      putchar ('\n');
 
       memcpy (buf1 + idx, tmpbuf, len);
     }

Modified: fsf/trunk/libc/benchtests/bench-memmove.c
==============================================================================
--- fsf/trunk/libc/benchtests/bench-memmove.c (original)
+++ fsf/trunk/libc/benchtests/bench-memmove.c Thu Sep  5 00:03:45 2013
@@ -67,6 +67,9 @@
 do_one_test (impl_t *impl, char *dst, char *src, const char *orig_src,
 	     size_t len)
 {
+  size_t i, iters = INNER_LOOP_ITERS;
+  timing_t start, stop, cur;
+
   memcpy (src, orig_src, len);
 #ifdef TEST_BCOPY
   CALL (impl, src, dst, len);
@@ -91,27 +94,20 @@
       return;
     }
 
-  if (HP_TIMING_AVAIL)
+  TIMING_NOW (start);
+  for (i = 0; i < iters; ++i)
     {
-      hp_timing_t start __attribute ((unused));
-      hp_timing_t stop __attribute ((unused));
-      hp_timing_t best_time = ~ (hp_timing_t) 0;
-      size_t i;
+#ifdef TEST_BCOPY
+      CALL (impl, src, dst, len);
+#else
+      CALL (impl, dst, src, len);
+#endif
+    }
+  TIMING_NOW (stop);
 
-      for (i = 0; i < 32; ++i)
-	{
-	  HP_TIMING_NOW (start);
-#ifdef TEST_BCOPY
-	  CALL (impl, src, dst, len);
-#else
-	  CALL (impl, dst, src, len);
-#endif
-	  HP_TIMING_NOW (stop);
-	  HP_TIMING_BEST (best_time, start, stop);
-	}
+  TIMING_DIFF (cur, start, stop);
 
-      printf ("\t%zd", (size_t) best_time);
-    }
+  TIMING_PRINT_MEAN ((double) cur, (double) iters);
 }
 
 static void
@@ -134,14 +130,12 @@
   for (i = 0, j = 1; i < len; i++, j += 23)
     s1[i] = j;
 
-  if (HP_TIMING_AVAIL)
-    printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
+  printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
 
   FOR_EACH_IMPL (impl, 0)
     do_one_test (impl, s2, (char *) (buf2 + align1), s1, len);
 
-  if (HP_TIMING_AVAIL)
-    putchar ('\n');
+  putchar ('\n');
 }
 
 int

Modified: fsf/trunk/libc/benchtests/bench-memset.c
==============================================================================
--- fsf/trunk/libc/benchtests/bench-memset.c (original)
+++ fsf/trunk/libc/benchtests/bench-memset.c Thu Sep  5 00:03:45 2013
@@ -75,6 +75,8 @@
 static void
 do_one_test (impl_t *impl, char *s, int c __attribute ((unused)), size_t n)
 {
+  size_t i, iters = INNER_LOOP_ITERS;
+  timing_t start, stop, cur;
   char tstbuf[n];
 #ifdef TEST_BZERO
   simple_bzero (tstbuf, n);
@@ -92,28 +94,20 @@
       return;
     }
 
-  if (HP_TIMING_AVAIL)
+  TIMING_NOW (start);
+  for (i = 0; i < iters; ++i)
     {
-      hp_timing_t start __attribute ((unused));
-      hp_timing_t stop __attribute ((unused));
-      hp_timing_t best_time = ~ (hp_timing_t) 0;
-      size_t i;
+#ifdef TEST_BZERO
+      CALL (impl, s, n);
+#else
+      CALL (impl, s, c, n);
+#endif
+    }
+  TIMING_NOW (stop);
 
-      for (i = 0; i < 32; ++i)
-	{
-	  HP_TIMING_NOW (start);
-#ifdef TEST_BZERO
-	  CALL (impl, s, n);
-#else
-	  CALL (impl, s, c, n);
-#endif
+  TIMING_DIFF (cur, start, stop);
 
-	  HP_TIMING_NOW (stop);
-	  HP_TIMING_BEST (best_time, start, stop);
-	}
-
-      printf ("\t%zd", (size_t) best_time);
-    }
+  TIMING_PRINT_MEAN ((double) cur, (double) iters);
 }
 
 static void
@@ -123,14 +117,12 @@
   if (align + len > page_size)
     return;
 
-  if (HP_TIMING_AVAIL)
-    printf ("Length %4zd, alignment %2zd, c %2d:", len, align, c);
+  printf ("Length %4zd, alignment %2zd, c %2d:", len, align, c);
 
   FOR_EACH_IMPL (impl, 0)
     do_one_test (impl, (char *) buf1 + align, c, len);
 
-  if (HP_TIMING_AVAIL)
-    putchar ('\n');
+  putchar ('\n');
 }
 
 int

Modified: fsf/trunk/libc/benchtests/bench-rawmemchr.c
==============================================================================
--- fsf/trunk/libc/benchtests/bench-rawmemchr.c (original)
+++ fsf/trunk/libc/benchtests/bench-rawmemchr.c Thu Sep  5 00:03:45 2013
@@ -40,6 +40,8 @@
 static void
 do_one_test (impl_t *impl, const char *s, int c, char *exp_res)
 {
+  size_t i, iters = INNER_LOOP_ITERS;
+  timing_t start, stop, cur;
   char *res = CALL (impl, s, c);
   if (res != exp_res)
     {
@@ -49,23 +51,16 @@
       return;
     }
 
-  if (HP_TIMING_AVAIL)
+  TIMING_NOW (start);
+  for (i = 0; i < iters; ++i)
     {
-      hp_timing_t start __attribute ((unused));
-      hp_timing_t stop __attribute ((unused));
-      hp_timing_t best_time = ~ (hp_timing_t) 0;
-      size_t i;
+      CALL (impl, s, c);
+    }
+  TIMING_NOW (stop);
 
-      for (i = 0; i < 32; ++i)
-	{
-	  HP_TIMING_NOW (start);
-	  CALL (impl, s, c);
-	  HP_TIMING_NOW (stop);
-	  HP_TIMING_BEST (best_time, start, stop);
-	}
+  TIMING_DIFF (cur, start, stop);
 
-      printf ("\t%zd", (size_t) best_time);
-    }
+  TIMING_PRINT_MEAN ((double) cur, (double) iters);
 }
 
 static void
@@ -92,14 +87,12 @@
   buf1[align + len] = -seek_char;
   result = (char *) (buf1 + align + pos);
 
-  if (HP_TIMING_AVAIL)
-    printf ("Length %4zd, alignment %2zd:", pos, align);
+  printf ("Length %4zd, alignment %2zd:", pos, align);
 
   FOR_EACH_IMPL (impl, 0)
     do_one_test (impl, (char *) (buf1 + align), seek_char, result);
 
-  if (HP_TIMING_AVAIL)
-    putchar ('\n');
+  putchar ('\n');
 }
 
 int

Modified: fsf/trunk/libc/benchtests/bench-strcasecmp.c
==============================================================================
--- fsf/trunk/libc/benchtests/bench-strcasecmp.c (original)
+++ fsf/trunk/libc/benchtests/bench-strcasecmp.c Thu Sep  5 00:03:45 2013
@@ -62,6 +62,8 @@
 static void
 do_one_test (impl_t *impl, const char *s1, const char *s2, int exp_result)
 {
+  size_t i, iters = INNER_LOOP_ITERS;
+  timing_t start, stop, cur;
   int result = CALL (impl, s1, s2);
   if ((exp_result == 0 && result != 0)
       || (exp_result < 0 && result >= 0)
@@ -73,23 +75,16 @@
       return;
     }
 
-  if (HP_TIMING_AVAIL)
+  TIMING_NOW (start);
+  for (i = 0; i < iters; ++i)
     {
-      hp_timing_t start __attribute ((unused));
-      hp_timing_t stop __attribute ((unused));
-      hp_timing_t best_time = ~ (hp_timing_t) 0;
-      size_t i;
+      CALL (impl, s1, s2);
+    }
+  TIMING_NOW (stop);
 
-      for (i = 0; i < 32; ++i)
-	{
-	  HP_TIMING_NOW (start);
-	  CALL (impl, s1, s2);
-	  HP_TIMING_NOW (stop);
-	  HP_TIMING_BEST (best_time, start, stop);
-	}
+  TIMING_DIFF (cur, start, stop);
 
-      printf ("\t%zd", (size_t) best_time);
-    }
+  TIMING_PRINT_MEAN ((double) cur, (double) iters);
 }
 
 static void
@@ -128,14 +123,12 @@
   else
     s2[len - 1] -= exp_result;
 
-  if (HP_TIMING_AVAIL)
-    printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
+  printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
 
   FOR_EACH_IMPL (impl, 0)
     do_one_test (impl, s1, s2, exp_result);
 
-  if (HP_TIMING_AVAIL)
-    putchar ('\n');
+  putchar ('\n');
 }
 
 int

Modified: fsf/trunk/libc/benchtests/bench-strcasestr.c
==============================================================================
--- fsf/trunk/libc/benchtests/bench-strcasestr.c (original)
+++ fsf/trunk/libc/benchtests/bench-strcasestr.c Thu Sep  5 00:03:45 2013
@@ -60,23 +60,19 @@
 static void
 do_one_test (impl_t *impl, const char *s1, const char *s2, char *exp_result)
 {
-  if (HP_TIMING_AVAIL)
+  size_t i, iters = INNER_LOOP_ITERS;
+  timing_t start, stop, cur;
+
+  TIMING_NOW (start);
+  for (i = 0; i < iters; ++i)
     {
-      hp_timing_t start __attribute ((unused));
-      hp_timing_t stop __attribute ((unused));
-      hp_timing_t best_time = ~(hp_timing_t) 0;
-      size_t i;
+      CALL (impl, s1, s2);
+    }
+  TIMING_NOW (stop);
 
-      for (i = 0; i < 32; ++i)
-	{
-	  HP_TIMING_NOW (start);
-	  CALL (impl, s1, s2);
-	  HP_TIMING_NOW (stop);
-	  HP_TIMING_BEST (best_time, start, stop);
-	}
+  TIMING_DIFF (cur, start, stop);
 
-      printf ("\t%zd", (size_t) best_time);
-    }
+  TIMING_PRINT_MEAN ((double) cur, (double) iters);
 }
 
 
@@ -116,15 +112,13 @@
     }
   s1[len1] = '\0';
 
-  if (HP_TIMING_AVAIL)
-    printf ("Length %4zd/%zd, alignment %2zd/%2zd, %s:",
-	    len1, len2, align1, align2, fail ? "fail" : "found");
+  printf ("Length %4zd/%zd, alignment %2zd/%2zd, %s:",
+	  len1, len2, align1, align2, fail ? "fail" : "found");
 
   FOR_EACH_IMPL (impl, 0)
     do_one_test (impl, s1, s2, fail ? NULL : s1 + len1 - len2);
 
-  if (HP_TIMING_AVAIL)
-    putchar ('\n');
+  putchar ('\n');
 }
 
 static int

Modified: fsf/trunk/libc/benchtests/bench-strcat.c
==============================================================================
--- fsf/trunk/libc/benchtests/bench-strcat.c (original)
+++ fsf/trunk/libc/benchtests/bench-strcat.c Thu Sep  5 00:03:45 2013
@@ -39,7 +39,9 @@
 static void
 do_one_test (impl_t *impl, char *dst, const char *src)
 {
-  size_t k = strlen (dst);
+  size_t k = strlen (dst), i, iters = INNER_LOOP_ITERS;
+  timing_t start, stop, cur;
+
   if (CALL (impl, dst, src) != dst)
     {
       error (0, 0, "Wrong result in function %s %p %p", impl->name,
@@ -56,24 +58,17 @@
       return;
     }
 
-  if (HP_TIMING_AVAIL)
+  TIMING_NOW (start);
+  for (i = 0; i < iters; ++i)
     {
-      hp_timing_t start __attribute ((unused));
-      hp_timing_t stop __attribute ((unused));
-      hp_timing_t best_time = ~ (hp_timing_t) 0;
-      size_t i;
+      dst[k] = '\0';
+      CALL (impl, dst, src);
+    }
+  TIMING_NOW (stop);
 
-      for (i = 0; i < 32; ++i)
-	{
-	  dst[k] = '\0';
-	  HP_TIMING_NOW (start);
-	  CALL (impl, dst, src);
-	  HP_TIMING_NOW (stop);
-	  HP_TIMING_BEST (best_time, start, stop);
-	}
+  TIMING_DIFF (cur, start, stop);
 
-      printf ("\t%zd", (size_t) best_time);
-    }
+  TIMING_PRINT_MEAN ((double) cur, (double) iters);
 }
 
 static void
@@ -100,8 +95,7 @@
   for (i = 0; i < len2; i++)
     s2[i] = 32 + 23 * i % (max_char - 32);
 
-  if (HP_TIMING_AVAIL)
-    printf ("Length %4zd/%4zd, alignment %2zd/%2zd:", len1, len2, align1, align2);
+  printf ("Length %4zd/%4zd, alignment %2zd/%2zd:", len1, len2, align1, align2);
 
   FOR_EACH_IMPL (impl, 0)
     {
@@ -109,8 +103,7 @@
       do_one_test (impl, s2, s1);
     }
 
-  if (HP_TIMING_AVAIL)
-    putchar ('\n');
+  putchar ('\n');
 }
 
 int

Modified: fsf/trunk/libc/benchtests/bench-strchr.c
==============================================================================
--- fsf/trunk/libc/benchtests/bench-strchr.c (original)
+++ fsf/trunk/libc/benchtests/bench-strchr.c Thu Sep  5 00:03:45 2013
@@ -89,23 +89,19 @@
 static void
 do_one_test (impl_t *impl, const CHAR *s, int c, const CHAR *exp_res)
 {
-  if (HP_TIMING_AVAIL)
-    {
-      hp_timing_t start __attribute ((unused));
-      hp_timing_t stop __attribute ((unused));
-      hp_timing_t best_time = ~ (hp_timing_t) 0;
-      size_t i;
-
-      for (i = 0; i < 32; ++i)
-	{
-	  HP_TIMING_NOW (start);
-	  CALL (impl, s, c);
-	  HP_TIMING_NOW (stop);
-	  HP_TIMING_BEST (best_time, start, stop);
-	}
-
-      printf ("\t%zd", (size_t) best_time);
-    }
+  size_t i, iters = INNER_LOOP_ITERS;
+  timing_t start, stop, cur;
+
+  TIMING_NOW (start);
+  for (i = 0; i < iters; ++i)
+    {
+      CALL (impl, s, c);
+    }
+  TIMING_NOW (stop);
+
+  TIMING_DIFF (cur, start, stop);
+
+  TIMING_PRINT_MEAN ((double) cur, (double) iters);
 }
 
 static void
@@ -141,15 +137,13 @@
   else
     result = NULLRET (buf + align + len);
 
-  if (HP_TIMING_AVAIL)
-    printf ("Length %4zd, alignment in bytes %2zd:",
-	    pos, align * sizeof (CHAR));
+  printf ("Length %4zd, alignment in bytes %2zd:",
+	  pos, align * sizeof (CHAR));
 
   FOR_EACH_IMPL (impl, 0)
     do_one_test (impl, buf + align, seek_char, result);
 
-  if (HP_TIMING_AVAIL)
-    putchar ('\n');
+  putchar ('\n');
 }
 
 int

Modified: fsf/trunk/libc/benchtests/bench-strcmp.c
==============================================================================
--- fsf/trunk/libc/benchtests/bench-strcmp.c (original)
+++ fsf/trunk/libc/benchtests/bench-strcmp.c Thu Sep  5 00:03:45 2013
@@ -138,23 +138,19 @@
 	     const CHAR *s1, const CHAR *s2,
 	     int exp_result)
 {
-  if (HP_TIMING_AVAIL)
-    {
-      hp_timing_t start __attribute ((unused));
-      hp_timing_t stop __attribute ((unused));
-      hp_timing_t best_time = ~ (hp_timing_t) 0;
-      size_t i;
-
-      for (i = 0; i < 32; ++i)
-	{
-	  HP_TIMING_NOW (start);
-	  CALL (impl, s1, s2);
-	  HP_TIMING_NOW (stop);
-	  HP_TIMING_BEST (best_time, start, stop);
-	}
-
-      printf ("\t%zd", (size_t) best_time);
-    }
+  size_t i, iters = INNER_LOOP_ITERS;
+  timing_t start, stop, cur;
+
+  TIMING_NOW (start);
+  for (i = 0; i < iters; ++i)
+    {
+      CALL (impl, s1, s2);
+    }
+  TIMING_NOW (stop);
+
+  TIMING_DIFF (cur, start, stop);
+
+  TIMING_PRINT_MEAN ((double) cur, (double) iters);
 }
 
 static void
@@ -190,14 +186,12 @@
   s2[len + 1] = 24 + exp_result;
   s2[len - 1] -= exp_result;
 
-  if (HP_TIMING_AVAIL)
-    printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
+  printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
 
   FOR_EACH_IMPL (impl, 0)
     do_one_test (impl, s1, s2, exp_result);
 
-  if (HP_TIMING_AVAIL)
-    putchar ('\n');
+  putchar ('\n');
 }
 
 int

Modified: fsf/trunk/libc/benchtests/bench-strcpy.c
==============================================================================
--- fsf/trunk/libc/benchtests/bench-strcpy.c (original)
+++ fsf/trunk/libc/benchtests/bench-strcpy.c Thu Sep  5 00:03:45 2013
@@ -74,6 +74,9 @@
 do_one_test (impl_t *impl, CHAR *dst, const CHAR *src,
 	     size_t len __attribute__((unused)))
 {
+  size_t i, iters = INNER_LOOP_ITERS;
+  timing_t start, stop, cur;
+
   if (CALL (impl, dst, src) != STRCPY_RESULT (dst, len))
     {
       error (0, 0, "Wrong result in function %s %p %p", impl->name,
@@ -91,23 +94,16 @@
       return;
     }
 
-  if (HP_TIMING_AVAIL)
+  TIMING_NOW (start);
+  for (i = 0; i < iters; ++i)
     {
-      hp_timing_t start __attribute ((unused));
-      hp_timing_t stop __attribute ((unused));;
-      hp_timing_t best_time = ~ (hp_timing_t) 0;
-      size_t i;
+	  CALL (impl, dst, src);
+    }
+  TIMING_NOW (stop);
 
-      for (i = 0; i < 32; ++i)
-	{
-	  HP_TIMING_NOW (start);
-	  CALL (impl, dst, src);
-	  HP_TIMING_NOW (stop);
-	  HP_TIMING_BEST (best_time, start, stop);
-	}
+  TIMING_DIFF (cur, start, stop);
 
-      printf ("\t%zd", (size_t) best_time);
-    }
+  TIMING_PRINT_MEAN ((double) cur, (double) iters);
 }
 
 static void
@@ -133,14 +129,12 @@
     s1[i] = 32 + 23 * i % (max_char - 32);
   s1[len] = 0;
 
-  if (HP_TIMING_AVAIL)
-    printf ("Length %4zd, alignments in bytes %2zd/%2zd:", len, align1 * sizeof(CHAR), align2 * sizeof(CHAR));
+  printf ("Length %4zd, alignments in bytes %2zd/%2zd:", len, align1 * sizeof(CHAR), align2 * sizeof(CHAR));
 
   FOR_EACH_IMPL (impl, 0)
     do_one_test (impl, s2, s1, len);
 
-  if (HP_TIMING_AVAIL)
-    putchar ('\n');
+  putchar ('\n');
 }
 
 int

Modified: fsf/trunk/libc/benchtests/bench-strcpy_chk.c
==============================================================================
--- fsf/trunk/libc/benchtests/bench-strcpy_chk.c (original)
+++ fsf/trunk/libc/benchtests/bench-strcpy_chk.c Thu Sep  5 00:03:45 2013
@@ -75,6 +75,9 @@
 	     size_t len, size_t dlen)
 {
   char *res;
+  size_t i, iters = INNER_LOOP_ITERS;
+  timing_t start, stop, cur;
+
   if (dlen <= len)
     {
       if (impl->test == 1)
@@ -110,23 +113,16 @@
       return;
     }
 
-  if (HP_TIMING_AVAIL)
-    {
-      hp_timing_t start __attribute ((unused));
-      hp_timing_t stop __attribute ((unused));;
-      hp_timing_t best_time = ~ (hp_timing_t) 0;
-      size_t i;
-
-      for (i = 0; i < 32; ++i)
-	{
-	  HP_TIMING_NOW (start);
-	  CALL (impl, dst, src, dlen);
-	  HP_TIMING_NOW (stop);
-	  HP_TIMING_BEST (best_time, start, stop);
-	}
-
-      printf ("\t%zd", (size_t) best_time);
-    }
+  TIMING_NOW (start);
+  for (i = 0; i < iters; ++i)
+    {
+      CALL (impl, dst, src, dlen);
+    }
+  TIMING_NOW (stop);
+
+  TIMING_DIFF (cur, start, stop);
+
+  TIMING_PRINT_MEAN ((double) cur, (double) iters);
 }
 
 static void
@@ -150,13 +146,13 @@
     s1[i] = 32 + 23 * i % (max_char - 32);
   s1[len] = 0;
 
-  if (HP_TIMING_AVAIL && dlen > len)
+  if (dlen > len)
     printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
 
   FOR_EACH_IMPL (impl, 0)
     do_one_test (impl, s2, s1, len, dlen);
 
-  if (HP_TIMING_AVAIL && dlen > len)
+  if (dlen > len)
     putchar ('\n');
 }
 

Modified: fsf/trunk/libc/benchtests/bench-string.h
==============================================================================
--- fsf/trunk/libc/benchtests/bench-string.h (original)
+++ fsf/trunk/libc/benchtests/bench-string.h Thu Sep  5 00:03:45 2013
@@ -52,7 +52,7 @@
 # include <ifunc-impl-list.h>
 # define GL(x) _##x
 # define GLRO(x) _##x
-# include <hp-timing.h>
+# include "bench-timing.h"
 
 
 # define TEST_FUNCTION test_main ()
@@ -60,6 +60,8 @@
 # define OPT_ITERATIONS 10000
 # define OPT_RANDOM 10001
 # define OPT_SEED 10002
+
+# define INNER_LOOP_ITERS 64
 
 unsigned char *buf1, *buf2;
 int ret, do_srandom;
@@ -158,16 +160,6 @@
        if (!notall || impl->test)
 # endif /* ! (defined TEST_IFUNC && defined TEST_NAME) */
 
-# define HP_TIMING_BEST(best_time, start, end)	\
-    do									      \
-      {									      \
-	hp_timing_t tmptime;						      \
-	HP_TIMING_DIFF (tmptime, start + _dl_hp_timing_overhead, end);	      \
-	if (best_time > tmptime)					      \
-	  best_time = tmptime;						      \
-      }									      \
-    while (0)
-
 # ifndef BUF1PAGES
 #  define BUF1PAGES 1
 # endif
@@ -198,7 +190,6 @@
     error (EXIT_FAILURE, errno, "mmap failed");
   if (mprotect (buf2 + page_size, page_size, PROT_NONE))
     error (EXIT_FAILURE, errno, "mprotect failed");
-  HP_TIMING_DIFF_INIT ();
   if (do_srandom)
     {
       printf ("Setting seed to 0x%x\n", seed);

Modified: fsf/trunk/libc/benchtests/bench-strlen.c
==============================================================================
--- fsf/trunk/libc/benchtests/bench-strlen.c (original)
+++ fsf/trunk/libc/benchtests/bench-strlen.c Thu Sep  5 00:03:45 2013
@@ -62,7 +62,9 @@
 static void
 do_one_test (impl_t *impl, const CHAR *s, size_t exp_len)
 {
-  size_t len = CALL (impl, s);
+  size_t len = CALL (impl, s), i, iters = INNER_LOOP_ITERS;
+  timing_t start, stop, cur;
+
   if (len != exp_len)
     {
       error (0, 0, "Wrong result in function %s %zd %zd", impl->name,
@@ -71,23 +73,16 @@
       return;
     }
 
-  if (HP_TIMING_AVAIL)
+  TIMING_NOW (start);
+  for (i = 0; i < iters; ++i)
     {
-      hp_timing_t start __attribute ((unused));
-      hp_timing_t stop __attribute ((unused));
-      hp_timing_t best_time = ~ (hp_timing_t) 0;
-      size_t i;
+      CALL (impl, s);
+    }
+  TIMING_NOW (stop);
 
-      for (i = 0; i < 32; ++i)
-	{
-	  HP_TIMING_NOW (start);
-	  CALL (impl, s);
-	  HP_TIMING_NOW (stop);
-	  HP_TIMING_BEST (best_time, start, stop);
-	}
+  TIMING_DIFF (cur, start, stop);
 
-      printf ("\t%zd", (size_t) best_time);
-    }
+  TIMING_PRINT_MEAN ((double) cur, (double) iters);
 }
 
 static void
@@ -105,14 +100,12 @@
     buf[align + i] = 1 + 11111 * i % MAX_CHAR;
   buf[align + len] = 0;
 
-  if (HP_TIMING_AVAIL)
-    printf ("Length %4zd, alignment %2zd:", len, align);
+  printf ("Length %4zd, alignment %2zd:", len, align);
 
   FOR_EACH_IMPL (impl, 0)
     do_one_test (impl, (CHAR *) (buf + align), len);
 
-  if (HP_TIMING_AVAIL)
-    putchar ('\n');
+  putchar ('\n');
 }
 
 int

Modified: fsf/trunk/libc/benchtests/bench-strncasecmp.c
==============================================================================
--- fsf/trunk/libc/benchtests/bench-strncasecmp.c (original)
+++ fsf/trunk/libc/benchtests/bench-strncasecmp.c Thu Sep  5 00:03:45 2013
@@ -73,23 +73,19 @@
 do_one_test (impl_t *impl, const char *s1, const char *s2, size_t n,
 	     int exp_result)
 {
-  if (HP_TIMING_AVAIL)
-    {
-      hp_timing_t start __attribute ((unused));
-      hp_timing_t stop __attribute ((unused));
-      hp_timing_t best_time = ~ (hp_timing_t) 0;
-      size_t i;
-
-      for (i = 0; i < 32; ++i)
-	{
-	  HP_TIMING_NOW (start);
-	  CALL (impl, s1, s2, n);
-	  HP_TIMING_NOW (stop);
-	  HP_TIMING_BEST (best_time, start, stop);
-	}
-
-      printf ("\t%zd", (size_t) best_time);
-    }
+  size_t i, iters = INNER_LOOP_ITERS;
+  timing_t start, stop, cur;
+
+  TIMING_NOW (start);
+  for (i = 0; i < iters; ++i)
+    {
+      CALL (impl, s1, s2, n);
+    }
+  TIMING_NOW (stop);
+
+  TIMING_DIFF (cur, start, stop);
+
+  TIMING_PRINT_MEAN ((double) cur, (double) iters);
 }
 
 static void
@@ -128,14 +124,12 @@
   else
     s2[len - 1] -= exp_result;
 
-  if (HP_TIMING_AVAIL)
-    printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
+  printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
 
   FOR_EACH_IMPL (impl, 0)
     do_one_test (impl, s1, s2, n, exp_result);
 
-  if (HP_TIMING_AVAIL)
-    putchar ('\n');
+  putchar ('\n');
 }
 
 int

Modified: fsf/trunk/libc/benchtests/bench-strncat.c
==============================================================================
--- fsf/trunk/libc/benchtests/bench-strncat.c (original)
+++ fsf/trunk/libc/benchtests/bench-strncat.c Thu Sep  5 00:03:45 2013
@@ -43,7 +43,9 @@
 static void
 do_one_test (impl_t *impl, char *dst, const char *src, size_t n)
 {
-  size_t k = strlen (dst);
+  size_t k = strlen (dst), i, iters = INNER_LOOP_ITERS;
+  timing_t start, stop, cur;
+
   if (CALL (impl, dst, src, n) != dst)
     {
       error (0, 0, "Wrong result in function %s %p != %p", impl->name,
@@ -67,24 +69,18 @@
       ret = 1;
       return;
     }
-  if (HP_TIMING_AVAIL)
+
+  TIMING_NOW (start);
+  for (i = 0; i < iters; ++i)
     {
-      hp_timing_t start __attribute ((unused));
-      hp_timing_t stop __attribute ((unused));
-      hp_timing_t best_time = ~ (hp_timing_t) 0;
-      size_t i;
+      dst[k] = '\0';
+      CALL (impl, dst, src, n);
+    }
+  TIMING_NOW (stop);
 
-      for (i = 0; i < 32; ++i)
-	{
-	  dst[k] = '\0';
-	  HP_TIMING_NOW (start);
-	  CALL (impl, dst, src, n);
-	  HP_TIMING_NOW (stop);
-	  HP_TIMING_BEST (best_time, start, stop);
-	}
+  TIMING_DIFF (cur, start, stop);
 
-      printf ("\t%zd", (size_t) best_time);
-    }
+  TIMING_PRINT_MEAN ((double) cur, (double) iters);
 }
 
 static void
@@ -114,9 +110,8 @@
   for (i = 0; i < len2; i++)
     s2[i] = 32 + 23 * i % (max_char - 32);
 
-  if (HP_TIMING_AVAIL)
-    printf ("Length %4zd/%4zd, alignment %2zd/%2zd, N %4zd:",
-	    len1, len2, align1, align2, n);
+  printf ("Length %4zd/%4zd, alignment %2zd/%2zd, N %4zd:",
+	  len1, len2, align1, align2, n);
 
   FOR_EACH_IMPL (impl, 0)
     {
@@ -124,8 +119,7 @@
       do_one_test (impl, s2, s1, n);
     }
 
-  if (HP_TIMING_AVAIL)
-    putchar ('\n');
+  putchar ('\n');
 }
 
 int

Modified: fsf/trunk/libc/benchtests/bench-strncmp.c
==============================================================================
--- fsf/trunk/libc/benchtests/bench-strncmp.c (original)
+++ fsf/trunk/libc/benchtests/bench-strncmp.c Thu Sep  5 00:03:45 2013
@@ -54,23 +54,19 @@
 do_one_test (impl_t *impl, const char *s1, const char *s2, size_t n,
 	     int exp_result)
 {
-  if (HP_TIMING_AVAIL)
-    {
-      hp_timing_t start __attribute ((unused));
-      hp_timing_t stop __attribute ((unused));
-      hp_timing_t best_time = ~ (hp_timing_t) 0;
-      size_t i;
-
-      for (i = 0; i < 32; ++i)
-	{
-	  HP_TIMING_NOW (start);
-	  CALL (impl, s1, s2, n);
-	  HP_TIMING_NOW (stop);
-	  HP_TIMING_BEST (best_time, start, stop);
-	}
-
-      printf ("\t%zd", (size_t) best_time);
-    }
+  size_t i, iters = INNER_LOOP_ITERS;
+  timing_t start, stop, cur;
+
+  TIMING_NOW (start);
+  for (i = 0; i < iters; ++i)
+    {
+      CALL (impl, s1, s2, n);
+    }
+  TIMING_NOW (stop);
+
+  TIMING_DIFF (cur, start, stop);
+
+  TIMING_PRINT_MEAN ((double) cur, (double) iters);
 }
 
 static void
@@ -84,14 +80,12 @@
     {
       s1 = (char*)(buf1 + page_size);
       s2 = (char*)(buf2 + page_size);
-      if (HP_TIMING_AVAIL)
-	printf ("Length %4zd/%4zd:", len, n);
+      printf ("Length %4zd/%4zd:", len, n);
 
       FOR_EACH_IMPL (impl, 0)
 	do_one_test (impl, s1, s2, n, 0);
 
-      if (HP_TIMING_AVAIL)
-	putchar ('\n');
+      putchar ('\n');
 
       return;
     }
@@ -122,14 +116,12 @@
 	s1[len] = 64;
     }
 
-  if (HP_TIMING_AVAIL)
-    printf ("Length %4zd/%4zd, alignment %2zd/%2zd:", len, n, align1, align2);
+  printf ("Length %4zd/%4zd, alignment %2zd/%2zd:", len, n, align1, align2);
 
   FOR_EACH_IMPL (impl, 0)
     do_one_test (impl, s1, s2, n, exp_result);
 
-  if (HP_TIMING_AVAIL)
-    putchar ('\n');
+  putchar ('\n');
 }
 
 static void
@@ -167,14 +159,12 @@
   if (len >= n)
     s2[n - 1] -= exp_result;
 
-  if (HP_TIMING_AVAIL)
-    printf ("Length %4zd/%4zd, alignment %2zd/%2zd:", len, n, align1, align2);
+  printf ("Length %4zd/%4zd, alignment %2zd/%2zd:", len, n, align1, align2);
 
   FOR_EACH_IMPL (impl, 0)
     do_one_test (impl, (char*)s1, (char*)s2, n, exp_result);
 
-  if (HP_TIMING_AVAIL)
-    putchar ('\n');
+  putchar ('\n');
 }
 
 int

Modified: fsf/trunk/libc/benchtests/bench-strncpy.c
==============================================================================
--- fsf/trunk/libc/benchtests/bench-strncpy.c (original)
+++ fsf/trunk/libc/benchtests/bench-strncpy.c Thu Sep  5 00:03:45 2013
@@ -62,6 +62,9 @@
 static void
 do_one_test (impl_t *impl, char *dst, const char *src, size_t len, size_t n)
 {
+  size_t i, iters = INNER_LOOP_ITERS;
+  timing_t start, stop, cur;
+
   if (CALL (impl, dst, src, n) != STRNCPY_RESULT (dst, len, n))
     {
       error (0, 0, "Wrong result in function %s %p %p", impl->name,
@@ -90,23 +93,16 @@
 	  }
     }
 
-  if (HP_TIMING_AVAIL)
+  TIMING_NOW (start);
+  for (i = 0; i < iters; ++i)
     {
-      hp_timing_t start __attribute__ ((unused));
-      hp_timing_t stop __attribute__ ((unused));
-      hp_timing_t best_time = ~ (hp_timing_t) 0;
-      size_t i;
+      CALL (impl, dst, src, n);
+    }
+  TIMING_NOW (stop);
 
-      for (i = 0; i < 32; ++i)
-	{
-	  HP_TIMING_NOW (start);
-	  CALL (impl, dst, src, n);
-	  HP_TIMING_NOW (stop);
-	  HP_TIMING_BEST (best_time, start, stop);
-	}
+  TIMING_DIFF (cur, start, stop);
 
-      printf ("\t%zd", (size_t) best_time);
-    }
+  TIMING_PRINT_MEAN ((double) cur, (double) iters);
 }
 
 static void
@@ -132,14 +128,12 @@
   for (i = len + 1; i + align1 < page_size && i < len + 64; ++i)
     s1[i] = 32 + 32 * i % (max_char - 32);
 
-  if (HP_TIMING_AVAIL)
-    printf ("Length %4zd, n %4zd, alignment %2zd/%2zd:", len, n, align1, align2);
+  printf ("Length %4zd, n %4zd, alignment %2zd/%2zd:", len, n, align1, align2);
 
   FOR_EACH_IMPL (impl, 0)
     do_one_test (impl, s2, s1, len, n);
 
-  if (HP_TIMING_AVAIL)
-    putchar ('\n');
+  putchar ('\n');
 }
 
 int

Modified: fsf/trunk/libc/benchtests/bench-strnlen.c
==============================================================================
--- fsf/trunk/libc/benchtests/bench-strnlen.c (original)
+++ fsf/trunk/libc/benchtests/bench-strnlen.c Thu Sep  5 00:03:45 2013
@@ -38,7 +38,9 @@
 static void
 do_one_test (impl_t *impl, const char *s, size_t maxlen, size_t exp_len)
 {
-  size_t len = CALL (impl, s, maxlen);
+  size_t len = CALL (impl, s, maxlen), i, iters = INNER_LOOP_ITERS;
+  timing_t start, stop, cur;
+
   if (len != exp_len)
     {
       error (0, 0, "Wrong result in function %s %zd %zd", impl->name,
@@ -47,23 +49,16 @@
       return;
     }
 
-  if (HP_TIMING_AVAIL)
+  TIMING_NOW (start);
+  for (i = 0; i < iters; ++i)
     {
-      hp_timing_t start __attribute ((unused));
-      hp_timing_t stop __attribute ((unused));
-      hp_timing_t best_time = ~ (hp_timing_t) 0;
-      size_t i;
+      CALL (impl, s, maxlen);
+    }
+  TIMING_NOW (stop);
 
-      for (i = 0; i < 32; ++i)
-	{
-	  HP_TIMING_NOW (start);
-	  CALL (impl, s, maxlen);
-	  HP_TIMING_NOW (stop);
-	  HP_TIMING_BEST (best_time, start, stop);
-	}
+  TIMING_DIFF (cur, start, stop);
 
-      printf ("\t%zd", (size_t) best_time);
-    }
+  TIMING_PRINT_MEAN ((double) cur, (double) iters);
 }
 
 static void
@@ -79,14 +74,12 @@
     buf1[align + i] = 1 + 7 * i % max_char;
   buf1[align + len] = 0;
 
-  if (HP_TIMING_AVAIL)
-    printf ("Length %4zd, alignment %2zd:", len, align);
+  printf ("Length %4zd, alignment %2zd:", len, align);
 
   FOR_EACH_IMPL (impl, 0)
     do_one_test (impl, (char *) (buf1 + align), maxlen, MIN (len, maxlen));
 
-  if (HP_TIMING_AVAIL)
-    putchar ('\n');
+  putchar ('\n');
 }
 
 int

Modified: fsf/trunk/libc/benchtests/bench-strpbrk.c
==============================================================================
--- fsf/trunk/libc/benchtests/bench-strpbrk.c (original)
+++ fsf/trunk/libc/benchtests/bench-strpbrk.c Thu Sep  5 00:03:45 2013
@@ -62,6 +62,9 @@
 do_one_test (impl_t *impl, const char *s, const char *rej, RES_TYPE exp_res)
 {
   RES_TYPE res = CALL (impl, s, rej);
+  size_t i, iters = INNER_LOOP_ITERS;
+  timing_t start, stop, cur;
+
   if (res != exp_res)
     {
       error (0, 0, "Wrong result in function %s %p %p", impl->name,
@@ -70,23 +73,16 @@
       return;
     }
 
-  if (HP_TIMING_AVAIL)
+  TIMING_NOW (start);
+  for (i = 0; i < iters; ++i)
     {
-      hp_timing_t start __attribute ((unused));
-      hp_timing_t stop __attribute ((unused));
-      hp_timing_t best_time = ~ (hp_timing_t) 0;
-      size_t i;
+      CALL (impl, s, rej);
+    }
+  TIMING_NOW (stop);
 
-      for (i = 0; i < 32; ++i)
-	{
-	  HP_TIMING_NOW (start);
-	  CALL (impl, s, rej);
-	  HP_TIMING_NOW (stop);
-	  HP_TIMING_BEST (best_time, start, stop);
-	}
+  TIMING_DIFF (cur, start, stop);
 
-      printf ("\t%zd", (size_t) best_time);
-    }
+  TIMING_PRINT_MEAN ((double) cur, (double) iters);
 }
 
 static void
@@ -136,14 +132,12 @@
     }
   result = STRPBRK_RESULT (s, pos);
 
-  if (HP_TIMING_AVAIL)
-    printf ("Length %4zd, alignment %2zd, rej len %2zd:", pos, align, len);
+  printf ("Length %4zd, alignment %2zd, rej len %2zd:", pos, align, len);
 
   FOR_EACH_IMPL (impl, 0)
     do_one_test (impl, s, rej, result);
 
-  if (HP_TIMING_AVAIL)
-    putchar ('\n');
+  putchar ('\n');
 }
 
 int

Modified: fsf/trunk/libc/benchtests/bench-strrchr.c
==============================================================================
--- fsf/trunk/libc/benchtests/bench-strrchr.c (original)
+++ fsf/trunk/libc/benchtests/bench-strrchr.c Thu Sep  5 00:03:45 2013
@@ -63,6 +63,9 @@
 do_one_test (impl_t *impl, const CHAR *s, int c, CHAR *exp_res)
 {
   CHAR *res = CALL (impl, s, c);
+  size_t i, iters = INNER_LOOP_ITERS;
+  timing_t start, stop, cur;
+
   if (res != exp_res)
     {
       error (0, 0, "Wrong result in function %s %p %p", impl->name,
@@ -71,23 +74,16 @@
       return;
     }
 
-  if (HP_TIMING_AVAIL)
+  TIMING_NOW (start);
+  for (i = 0; i < iters; ++i)
     {
-      hp_timing_t start __attribute ((unused));
-      hp_timing_t stop __attribute ((unused));
-      hp_timing_t best_time = ~ (hp_timing_t) 0;
-      size_t i;
+      CALL (impl, s, c);
+    }
+  TIMING_NOW (stop);
 
-      for (i = 0; i < 32; ++i)
-	{
-	  HP_TIMING_NOW (start);
-	  CALL (impl, s, c);
-	  HP_TIMING_NOW (stop);
-	  HP_TIMING_BEST (best_time, start, stop);
-	}
+  TIMING_DIFF (cur, start, stop);
 
-      printf ("\t%zd", (size_t) best_time);
-    }
+  TIMING_PRINT_MEAN ((double) cur, (double) iters);
 }
 
 static void
@@ -126,14 +122,12 @@
   else
     result = NULL;
 
-  if (HP_TIMING_AVAIL)
-    printf ("Length %4zd, alignment in bytes %2zd:", pos, align * sizeof(CHAR));
+  printf ("Length %4zd, alignment in bytes %2zd:", pos, align * sizeof(CHAR));
 
   FOR_EACH_IMPL (impl, 0)
     do_one_test (impl, (CHAR *) (buf + align), seek_char, result);
 
-  if (HP_TIMING_AVAIL)
-    putchar ('\n');
+  putchar ('\n');
 }
 
 int

Modified: fsf/trunk/libc/benchtests/bench-strspn.c
==============================================================================
--- fsf/trunk/libc/benchtests/bench-strspn.c (original)
+++ fsf/trunk/libc/benchtests/bench-strspn.c Thu Sep  5 00:03:45 2013
@@ -65,7 +65,9 @@
 static void
 do_one_test (impl_t *impl, const char *s, const char *acc, size_t exp_res)
 {
-  size_t res = CALL (impl, s, acc);
+  size_t res = CALL (impl, s, acc), i, iters = INNER_LOOP_ITERS;
+  timing_t start, stop, cur;
+
   if (res != exp_res)
     {
       error (0, 0, "Wrong result in function %s %p %p", impl->name,
@@ -74,23 +76,16 @@
       return;
     }
 
-  if (HP_TIMING_AVAIL)
+  TIMING_NOW (start);
+  for (i = 0; i < iters; ++i)
     {
-      hp_timing_t start __attribute ((unused));
-      hp_timing_t stop __attribute ((unused));
-      hp_timing_t best_time = ~ (hp_timing_t) 0;
-      size_t i;
+      CALL (impl, s, acc);
+    }
+  TIMING_NOW (stop);
 
-      for (i = 0; i < 32; ++i)
-	{
-	  HP_TIMING_NOW (start);
-	  CALL (impl, s, acc);
-	  HP_TIMING_NOW (stop);
-	  HP_TIMING_BEST (best_time, start, stop);
-	}
+  TIMING_DIFF (cur, start, stop);
 
-      printf ("\t%zd", (size_t) best_time);
-    }
+  TIMING_PRINT_MEAN ((double) cur, (double) iters);
 }
 
 static void
@@ -128,14 +123,12 @@
       s[i] = '\0';
     }
 
-  if (HP_TIMING_AVAIL)
-    printf ("Length %4zd, alignment %2zd, acc len %2zd:", pos, align, len);
+  printf ("Length %4zd, alignment %2zd, acc len %2zd:", pos, align, len);
 
   FOR_EACH_IMPL (impl, 0)
     do_one_test (impl, s, acc, pos);
 
-  if (HP_TIMING_AVAIL)
-    putchar ('\n');
+  putchar ('\n');
 }
 
 int

Modified: fsf/trunk/libc/benchtests/bench-strstr.c
==============================================================================
--- fsf/trunk/libc/benchtests/bench-strstr.c (original)
+++ fsf/trunk/libc/benchtests/bench-strstr.c Thu Sep  5 00:03:45 2013
@@ -58,23 +58,19 @@
 static void
 do_one_test (impl_t *impl, const char *s1, const char *s2, char *exp_result)
 {
-  if (HP_TIMING_AVAIL)
+  size_t i, iters = INNER_LOOP_ITERS;
+  timing_t start, stop, cur;
+
+  TIMING_NOW (start);
+  for (i = 0; i < iters; ++i)
     {
-      hp_timing_t start __attribute ((unused));
-      hp_timing_t stop __attribute ((unused));
-      hp_timing_t best_time = ~(hp_timing_t) 0;
-      size_t i;
+      CALL (impl, s1, s2);
+    }
+  TIMING_NOW (stop);
 
-      for (i = 0; i < 32; ++i)
-	{
-	  HP_TIMING_NOW (start);
-	  CALL (impl, s1, s2);
-	  HP_TIMING_NOW (stop);
-	  HP_TIMING_BEST (best_time, start, stop);
-	}
+  TIMING_DIFF (cur, start, stop);
 
-      printf ("\t%zd", (size_t) best_time);
-    }
+  TIMING_PRINT_MEAN ((double) cur, (double) iters);
 }
 
 
@@ -113,15 +109,13 @@
     }
   s1[len1] = '\0';
 
-  if (HP_TIMING_AVAIL)
-    printf ("Length %4zd/%zd, alignment %2zd/%2zd, %s:",
-	    len1, len2, align1, align2, fail ? "fail" : "found");
+  printf ("Length %4zd/%zd, alignment %2zd/%2zd, %s:",
+	  len1, len2, align1, align2, fail ? "fail" : "found");
 
   FOR_EACH_IMPL (impl, 0)
     do_one_test (impl, s1, s2, fail ? NULL : s1 + len1 - len2);
 
-  if (HP_TIMING_AVAIL)
-    putchar ('\n');
+  putchar ('\n');
 }
 
 static int

Modified: fsf/trunk/libc/benchtests/bench-timing.h
==============================================================================
--- fsf/trunk/libc/benchtests/bench-timing.h (original)
+++ fsf/trunk/libc/benchtests/bench-timing.h Thu Sep  5 00:03:45 2013
@@ -70,3 +70,6 @@
 	  (min) / (d_iters), 1e9 * (d_total_i) / (d_total_s))
 
 #endif
+
+#define TIMING_PRINT_MEAN(d_total_s, d_iters) \
+  printf ("\t%g", (d_total_s) / (d_iters))

Modified: fsf/trunk/libc/config.h.in
==============================================================================
--- fsf/trunk/libc/config.h.in (original)
+++ fsf/trunk/libc/config.h.in Thu Sep  5 00:03:45 2013
@@ -56,9 +56,6 @@
 /* Define if using ELF and the assembler supports the `.popsection'
    directive.  */
 #undef	HAVE_ASM_POPSECTION_DIRECTIVE
-
-/* Define if versioning of the library is wanted.  */
-#undef	DO_VERSIONING
 
 /* Defined to the oldest ABI we support, like 2.1.  */
 #undef GLIBC_OLDEST_ABI

Modified: fsf/trunk/libc/config.make.in
==============================================================================
--- fsf/trunk/libc/config.make.in (original)
+++ fsf/trunk/libc/config.make.in Thu Sep  5 00:03:45 2013
@@ -67,7 +67,6 @@
 
 static-libgcc = @libc_cv_gcc_static_libgcc@
 
-versioning = @VERSIONING@
 oldest-abi = @oldest_abi@
 exceptions = @exceptions@
 multi-arch = @multi_arch@

Modified: fsf/trunk/libc/configure
==============================================================================
--- fsf/trunk/libc/configure (original)
+++ fsf/trunk/libc/configure Thu Sep  5 00:03:45 2013
@@ -613,7 +613,6 @@
 ASFLAGS_config
 libc_cv_Bgroup
 libc_cv_cc_with_libunwind
-VERSIONING
 BISON
 INSTALL_INFO
 PERL
@@ -739,7 +738,6 @@
 enable_sanity_checks
 enable_shared
 enable_profile
-enable_versioning
 enable_oldest_abi
 enable_hardcoded_path_in_tests
 enable_stackguard_randomization
@@ -1392,8 +1390,6 @@
                           in special situations) [default=yes]
   --enable-shared         build shared library [default=yes if GNU ld]
   --enable-profile        build profiled library [default=no]
-  --disable-versioning    do not include versioning information in the library
-                          objects [default=yes if supported]
   --enable-oldest-abi=ABI configure the oldest ABI supported [e.g. 2.2]
                           [default=glibc default]
   --enable-hardcoded-path-in-tests
@@ -3430,13 +3426,6 @@
   enableval=$enable_profile; profile=$enableval
 else
   profile=no
-fi
-
-# Check whether --enable-versioning was given.
-if test "${enable_versioning+set}" = set; then :
-  enableval=$enable_versioning; enable_versioning=$enableval
-else
-  enable_versioning=yes
 fi
 
 
@@ -5631,90 +5620,6 @@
 
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for .symver assembler directive" >&5
-$as_echo_n "checking for .symver assembler directive... " >&6; }
-if ${libc_cv_asm_symver_directive+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat > conftest.s <<EOF
-${libc_cv_dot_text}
-_sym:
-.symver _sym,sym@VERS
-EOF
-if ${CC-cc} -c $ASFLAGS conftest.s 1>&5 2>&5; then
-  libc_cv_asm_symver_directive=yes
-else
-  libc_cv_asm_symver_directive=no
-fi
-rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_symver_directive" >&5
-$as_echo "$libc_cv_asm_symver_directive" >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld --version-script" >&5
-$as_echo_n "checking for ld --version-script... " >&6; }
-if ${libc_cv_ld_version_script_option+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test $libc_cv_asm_symver_directive = yes; then
-  cat > conftest.s <<EOF
-${libc_cv_dot_text}
-_sym:
-.symver _sym,sym@VERS
-EOF
-  cat > conftest.map <<EOF
-VERS_1 {
-	global: sym;
-};
-
-VERS_2 {
-	global: sym;
-} VERS_1;
-EOF
-  if ${CC-cc} -c $ASFLAGS conftest.s 1>&5 2>&5; then
-    if { ac_try='${CC-cc} $CFLAGS $LDFLAGS -shared
-				-o conftest.so conftest.o
-				-nostartfiles -nostdlib
-				-Wl,--version-script,conftest.map
-		       1>&5'
-  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; };
-    then
-      libc_cv_ld_version_script_option=yes
-    else
-      libc_cv_ld_version_script_option=no
-    fi
-  else
-    libc_cv_ld_version_script_option=no
-  fi
-else
-  libc_cv_ld_version_script_option=no
-fi
-rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ld_version_script_option" >&5
-$as_echo "$libc_cv_ld_version_script_option" >&6; }
-if test $shared != no &&
-   test $libc_cv_asm_symver_directive = yes &&
-   test $libc_cv_ld_version_script_option = yes &&
-   test $enable_versioning = yes; then
-  VERSIONING=yes
-  $as_echo "#define DO_VERSIONING 1" >>confdefs.h
-
-else
-  VERSIONING=no
-fi
-
-
-if test $shared != no && test $VERSIONING = no; then
-  echo "\
-*** WARNING: You should not compile GNU libc without versioning. Not using
-*** versioning will introduce incompatibilities so that old binaries
-*** will not run anymore.
-*** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)."
-fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .previous assembler directive" >&5
 $as_echo_n "checking for .previous assembler directive... " >&6; }
 if ${libc_cv_asm_previous_directive+:} false; then :

Modified: fsf/trunk/libc/configure.in
==============================================================================
--- fsf/trunk/libc/configure.in (original)
+++ fsf/trunk/libc/configure.in Thu Sep  5 00:03:45 2013
@@ -150,11 +150,6 @@
 			     [build profiled library @<:@default=no@:>@]),
 	      [profile=$enableval],
 	      [profile=no])
-AC_ARG_ENABLE([versioning],
-	      AC_HELP_STRING([--disable-versioning],
-			     [do not include versioning information in the library objects @<:@default=yes if supported@:>@]),
-	      [enable_versioning=$enableval],
-	      [enable_versioning=yes])
 
 AC_ARG_ENABLE([oldest-abi],
 	      AC_HELP_STRING([--enable-oldest-abi=ABI],
@@ -1204,70 +1199,6 @@
   AC_DEFINE(HAVE_ASM_UNIQUE_OBJECT)
 fi
 
-AC_CACHE_CHECK(for .symver assembler directive, libc_cv_asm_symver_directive,
-[cat > conftest.s <<EOF
-${libc_cv_dot_text}
-_sym:
-.symver _sym,sym@VERS
-EOF
-if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
-  libc_cv_asm_symver_directive=yes
-else
-  libc_cv_asm_symver_directive=no
-fi
-rm -f conftest*])
-AC_CACHE_CHECK(for ld --version-script, libc_cv_ld_version_script_option, [dnl
-if test $libc_cv_asm_symver_directive = yes; then
-  cat > conftest.s <<EOF
-${libc_cv_dot_text}
-_sym:
-.symver _sym,sym@VERS
-EOF
-  cat > conftest.map <<EOF
-VERS_1 {
-	global: sym;
-};
-
-VERS_2 {
-	global: sym;
-} VERS_1;
-EOF
-  if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
-    if AC_TRY_COMMAND([${CC-cc} $CFLAGS $LDFLAGS -shared
-				-o conftest.so conftest.o
-				-nostartfiles -nostdlib
-				-Wl,--version-script,conftest.map
-		       1>&AS_MESSAGE_LOG_FD]);
-    then
-      libc_cv_ld_version_script_option=yes
-    else
-      libc_cv_ld_version_script_option=no
-    fi
-  else
-    libc_cv_ld_version_script_option=no
-  fi
-else
-  libc_cv_ld_version_script_option=no
-fi
-rm -f conftest*])
-if test $shared != no &&
-   test $libc_cv_asm_symver_directive = yes &&
-   test $libc_cv_ld_version_script_option = yes &&
-   test $enable_versioning = yes; then
-  VERSIONING=yes
-  AC_DEFINE(DO_VERSIONING)
-else
-  VERSIONING=no
-fi
-AC_SUBST(VERSIONING)
-
-if test $shared != no && test $VERSIONING = no; then
-  echo "\
-*** WARNING: You should not compile GNU libc without versioning. Not using
-*** versioning will introduce incompatibilities so that old binaries
-*** will not run anymore.
-*** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)."
-fi
 AC_CACHE_CHECK(for .previous assembler directive,
 	       libc_cv_asm_previous_directive, [dnl
 cat > conftest.s <<EOF

Modified: fsf/trunk/libc/conform/conformtest.pl
==============================================================================
--- fsf/trunk/libc/conform/conformtest.pl (original)
+++ fsf/trunk/libc/conform/conformtest.pl Thu Sep  5 00:03:45 2013
@@ -236,6 +236,8 @@
   for ($idx = 0; $idx <= $#allow; ++$idx) {
     return if (poorfnmatch ($allow[$idx], $token));
   }
+
+  $errors{$token} = 1;
 }
 
 
@@ -786,7 +788,7 @@
       if (/^element *({([^}]*)}|([^ ]*)) *({([^}]*)}|([^ ]*)) *([A-Za-z0-9_]*) *(.*)/) {
 	push @allow, $7;
       } elsif (/^(macro|constant|macro-constant|macro-int-constant) +([a-zA-Z0-9_]*) *(?:{([^}]*)} *)?(?:([>=<!]+) ([A-Za-z0-9_-]*))?/) {
-	push @allow, $1;
+	push @allow, $2;
       } elsif (/^(type|tag) *({([^}]*)|([a-zA-Z0-9_]*))/) {
 	my($type) = "$3$4";
 

Modified: fsf/trunk/libc/dlfcn/Makefile
==============================================================================
--- fsf/trunk/libc/dlfcn/Makefile (original)
+++ fsf/trunk/libc/dlfcn/Makefile Thu Sep  5 00:03:45 2013
@@ -27,7 +27,7 @@
 
 include ../Makeconfig
 
-ifeq ($(versioning),yes)
+ifeq ($(build-shared),yes)
 libdl-routines	+= dlopenold
 libdl-shared-only-routines := dlopenold dlfcn
 endif

Modified: fsf/trunk/libc/dlfcn/modstatic2.c
==============================================================================
--- fsf/trunk/libc/dlfcn/modstatic2.c (original)
+++ fsf/trunk/libc/dlfcn/modstatic2.c Thu Sep  5 00:03:45 2013
@@ -117,13 +117,11 @@
       exit (1);
     }
 
-#ifdef DO_VERSIONING
   if (dlvsym (handle2, "_dlfcn_hook", "GLIBC_PRIVATE") == NULL)
     {
       fprintf (out, "dlvsym: %s\n", dlerror ());
       exit (1);
     }
-#endif
 
   void *(*dlsymfn) (void *, const char *);
   dlsymfn = dlsym (handle2, "dlsym");

Modified: fsf/trunk/libc/dlfcn/tststatic2.c
==============================================================================
--- fsf/trunk/libc/dlfcn/tststatic2.c (original)
+++ fsf/trunk/libc/dlfcn/tststatic2.c Thu Sep  5 00:03:45 2013
@@ -115,13 +115,11 @@
       exit (1);
     }
 
-#ifdef DO_VERSIONING
   if (dlvsym (handle2, "_dlfcn_hook", "GLIBC_PRIVATE") == NULL)
     {
       printf ("dlvsym: %s\n", dlerror ());
       exit (1);
     }
-#endif
 
   void *(*dlsymfn) (void *, const char *);
   dlsymfn = dlsym (handle2, "dlsym");

Modified: fsf/trunk/libc/elf/Makefile
==============================================================================
--- fsf/trunk/libc/elf/Makefile (original)
+++ fsf/trunk/libc/elf/Makefile Thu Sep  5 00:03:45 2013
@@ -59,7 +59,7 @@
 generated	:= trusted-dirs.h trusted-dirs.st for-renamed/renamed.so
 generated-dirs	:= for-renamed
 
-ifeq ($(versioning),yes)
+ifeq ($(build-shared),yes)
 ld-map		= $(common-objpfx)ld.map
 endif
 

Modified: fsf/trunk/libc/extra-lib.mk
==============================================================================
--- fsf/trunk/libc/extra-lib.mk (original)
+++ fsf/trunk/libc/extra-lib.mk Thu Sep  5 00:03:45 2013
@@ -90,7 +90,7 @@
 	$(build-extra-lib)
 endif
 
-ifeq ($(versioning),yes)
+ifeq ($(build-shared),yes)
 # Add the version script to the dependencies of the shared library.
 $(objpfx)$(lib).so: $(firstword $($(lib)-map) \
 				$(addprefix $(common-objpfx), \

Modified: fsf/trunk/libc/hurd/Makefile
==============================================================================
--- fsf/trunk/libc/hurd/Makefile (original)
+++ fsf/trunk/libc/hurd/Makefile Thu Sep  5 00:03:45 2013
@@ -71,7 +71,7 @@
 routines += hurdmalloc
 
 # Binary compatibility for libc.so.0.2[GLIBC_2.0].
-ifeq ($(versioning),yes)
+ifeq ($(build-shared),yes)
 routines += compat-20
 endif
 

Modified: fsf/trunk/libc/hurd/geteuids.c
==============================================================================
--- fsf/trunk/libc/hurd/geteuids.c (original)
+++ fsf/trunk/libc/hurd/geteuids.c Thu Sep  5 00:03:45 2013
@@ -63,6 +63,6 @@
 
 /* XXX Remove this alias when we bump the libc soname.  */
 
-#if defined SHARED && DO_VERSIONING
+#ifdef SHARED
 weak_alias (geteuids, __getuids)
 #endif

Modified: fsf/trunk/libc/include/complex.h
==============================================================================
--- fsf/trunk/libc/include/complex.h (original)
+++ fsf/trunk/libc/include/complex.h Thu Sep  5 00:03:45 2013
@@ -1,11 +1,13 @@
 #ifndef _COMPLEX_H
 # include <math/complex.h>
 
+# ifndef _ISOMAC
 /* Return the complex inverse hyperbolic sine of finite nonzero Z,
    with the imaginary part of the result subtracted from pi/2 if ADJ
    is nonzero.  */
 extern complex float __kernel_casinhf (complex float z, int adj);
 extern complex double __kernel_casinh (complex double z, int adj);
 extern complex long double __kernel_casinhl (complex long double z, int adj);
+# endif
 
 #endif

Modified: fsf/trunk/libc/include/fenv.h
==============================================================================
--- fsf/trunk/libc/include/fenv.h (original)
+++ fsf/trunk/libc/include/fenv.h Thu Sep  5 00:03:45 2013
@@ -1,8 +1,8 @@
 #ifndef _FENV_H
 #include <math/fenv.h>
-#include <stdbool.h>
 
 #ifndef _ISOMAC
+# include <stdbool.h>
 /* Now define the internal interfaces.  */
 
 extern int __feclearexcept (int __excepts);
@@ -22,7 +22,6 @@
 libm_hidden_proto (feupdateenv)
 libm_hidden_proto (fetestexcept)
 libm_hidden_proto (feclearexcept)
-#endif
 
 /* Rounding mode context.  This allows functions to set/restore rounding mode
    only when the desired rounding mode is different from the current rounding
@@ -32,5 +31,6 @@
   fenv_t env;
   bool updated_status;
 };
+#endif
 
 #endif

Modified: fsf/trunk/libc/include/libc-symbols.h
==============================================================================
--- fsf/trunk/libc/include/libc-symbols.h (original)
+++ fsf/trunk/libc/include/libc-symbols.h Thu Sep  5 00:03:45 2013
@@ -322,7 +322,7 @@
    past the last element in SET.  */
 #define symbol_set_end_p(set, ptr) ((ptr) >= (void *const *) &__stop_##set)
 
-#if DO_VERSIONING
+#ifdef SHARED
 # define symbol_version(real, name, version) \
      _symbol_version(real, name, version)
 # define default_symbol_version(real, name, version) \
@@ -466,7 +466,7 @@
    versioned_symbol (libc, __real_foo, foo, GLIBC_2_1);
    libc_hidden_ver (__real_foo, foo)  */
 
-#if defined SHARED && defined DO_VERSIONING && !defined NO_HIDDEN
+#if defined SHARED && !defined NO_HIDDEN
 # ifndef __ASSEMBLER__
 #  define __hidden_proto_hiddenattr(attrs...) \
   __attribute__ ((visibility ("hidden"), ##attrs))

Modified: fsf/trunk/libc/include/shlib-compat.h
==============================================================================
--- fsf/trunk/libc/include/shlib-compat.h (original)
+++ fsf/trunk/libc/include/shlib-compat.h Thu Sep  5 00:03:45 2013
@@ -19,13 +19,9 @@
 #ifndef _SHLIB_COMPAT_H
 #define _SHLIB_COMPAT_H	1
 
-#if defined DO_VERSIONING
-/* Since there is just one set of .d files generated, we need to
-   include this unconditionally to have the dependency noticed properly.  */
-#include <abi-versions.h>	/* header generated by abi-versions.awk */
-#endif
+#ifdef SHARED
 
-#if defined SHARED && defined DO_VERSIONING
+# include <abi-versions.h>
 
 /* The file abi-versions.h (generated by scripts/abi-versions.awk) defines
    symbols like `ABI_libm_GLIBC_2_0' for each version set in the source

Modified: fsf/trunk/libc/libio/Makefile
==============================================================================
--- fsf/trunk/libc/libio/Makefile (original)
+++ fsf/trunk/libc/libio/Makefile Thu Sep  5 00:03:45 2013
@@ -70,7 +70,7 @@
 
 all: # Make this the default target; it will be defined in Rules.
 
-ifeq ($(versioning),yes)
+ifeq ($(build-shared),yes)
 routines += oldiofopen oldiofdopen oldiofclose oldiopopen oldpclose \
 	    oldtmpfile oldiofgetpos oldiofgetpos64 oldiofsetpos	    \
 	    oldiofsetpos64
@@ -165,7 +165,7 @@
 
 aux	:= fileops genops stdfiles stdio strops
 
-ifeq ($(versioning),yes)
+ifeq ($(build-shared),yes)
 aux	+= oldfileops oldstdfiles
 endif
 

Modified: fsf/trunk/libc/locale/iso-4217.def
==============================================================================
--- fsf/trunk/libc/locale/iso-4217.def (original)
+++ fsf/trunk/libc/locale/iso-4217.def Thu Sep  5 00:03:45 2013
@@ -17,7 +17,7 @@
 DEFINE_INT_CURR("ARS")		/* Argentine Peso  */
 DEFINE_INT_CURR("AUD")		/* Australian Dollar  */
 DEFINE_INT_CURR("AWG")		/* Aruba Guilder  */
-DEFINE_INT_CURR("AZM")		/* Azerbaijan Manat  */
+DEFINE_INT_CURR("AZN")		/* Azerbaijan Manat  */
 DEFINE_INT_CURR("BAM")		/* Bosnian and Herzegovina Convertible Mark  */
 DEFINE_INT_CURR("BBD")		/* Barbados Dollar  */
 DEFINE_INT_CURR("BDT")		/* Bangladesh Taka  */
@@ -27,7 +27,7 @@
 DEFINE_INT_CURR("BMD")		/* Burmudian Dollar  */
 DEFINE_INT_CURR("BND")		/* Brunei Dollar  */
 DEFINE_INT_CURR("BOB")		/* Bolivian Boliviano  */
-DEFINE_INT_CURR("BRL")		/* Brazil Cruzeiro  */
+DEFINE_INT_CURR("BRL")		/* Brazil Real  */
 DEFINE_INT_CURR("BSD")		/* Bahamas Dollar  */
 DEFINE_INT_CURR("BTN")		/* Bhutan Ngultrum  */
 DEFINE_INT_CURR("BWP")		/* Botswana Pula  */
@@ -57,7 +57,7 @@
 DEFINE_INT_CURR("FKP")		/* Falkland Islands Pound (Malvinas)  */
 DEFINE_INT_CURR("GBP")		/* British Pound  */
 DEFINE_INT_CURR("GEL")		/* Georgia Lari  */
-DEFINE_INT_CURR("GHC")		/* Ghana Cedi  */
+DEFINE_INT_CURR("GHS")		/* Ghana Cedi  */
 DEFINE_INT_CURR("GIP")		/* Gibraltar Pound  */
 DEFINE_INT_CURR("GMD")		/* Gambian Dalasi  */
 DEFINE_INT_CURR("GNF")		/* Guinea Franc  */
@@ -70,12 +70,10 @@
 DEFINE_INT_CURR("HUF")		/* Hungarian Forint  */
 DEFINE_INT_CURR("IDR")		/* Indonesia Rupiah  */
 DEFINE_INT_CURR("ILS")		/* Israeli Shekel  */
-DEFINE_INT_CURR("IMP")		/* Isle of Man Pounds  */
 DEFINE_INT_CURR("INR")		/* Indian Rupee (Bhutan)  */
 DEFINE_INT_CURR("IQD")		/* Iraqi Dinar  */
 DEFINE_INT_CURR("IRR")		/* Iranian Rial  */
 DEFINE_INT_CURR("ISK")		/* Iceland Krona  */
-DEFINE_INT_CURR("JEP")		/* Jersey Pound  */
 DEFINE_INT_CURR("JMD")		/* Jamaican Dollar  */
 DEFINE_INT_CURR("JOD")		/* Jordanian Dinar  */
 DEFINE_INT_CURR("JPY")		/* Japanese Yen  */
@@ -106,11 +104,11 @@
 DEFINE_INT_CURR("MRO")		/* Mauritania Ouguiya  */
 DEFINE_INT_CURR("MTL")		/* Maltese Lira  */
 DEFINE_INT_CURR("MUR")		/* Mauritius Rupee  */
-DEFINE_INT_CURR("MVR")		/* Maldives Rupee  */
+DEFINE_INT_CURR("MVR")		/* Maldives Rufiyaa  */
 DEFINE_INT_CURR("MWK")		/* Malawi Kwacha  */
 DEFINE_INT_CURR("MXN")		/* Mexican Peso  */
 DEFINE_INT_CURR("MYR")		/* Malaysian Ringgit  */
-DEFINE_INT_CURR("MZM")		/* Mozambique Metical  */
+DEFINE_INT_CURR("MZN")		/* Mozambique Metical  */
 DEFINE_INT_CURR("NAD")		/* Namibia Dollar  */
 DEFINE_INT_CURR("NGN")		/* Nigeria Naira  */
 DEFINE_INT_CURR("NIO")		/* Nicaragua Cordoba Oro  */
@@ -126,7 +124,6 @@
 DEFINE_INT_CURR("PLN")		/* Polish Zloty  */
 DEFINE_INT_CURR("PYG")		/* Paraguay Guarani  */
 DEFINE_INT_CURR("QAR")		/* Qatar Rial  */
-DEFINE_INT_CURR("ROL")		/* Romanian Leu  */
 DEFINE_INT_CURR("RON")		/* Romanian New Leu  */
 DEFINE_INT_CURR("RSD")		/* Serbian Dinars  */
 DEFINE_INT_CURR("RUB")		/* Russian Ruble  */
@@ -134,16 +131,13 @@
 DEFINE_INT_CURR("SAR")		/* Saudi Arabia Riyal  */
 DEFINE_INT_CURR("SBD")		/* Solomon Islands Dollar  */
 DEFINE_INT_CURR("SCR")		/* Seychelles Rupee  */
-DEFINE_INT_CURR("SDD")		/* Sudanese Dinars  */
+DEFINE_INT_CURR("SDG")		/* Sudanese Pound  */
 DEFINE_INT_CURR("SEK")		/* Swedish Krona  */
 DEFINE_INT_CURR("SGD")		/* Singapore Dollar  */
 DEFINE_INT_CURR("SHP")		/* St. Helena Pound  */
-DEFINE_INT_CURR("SIT")		/* Slovenian Tolar  */
-DEFINE_INT_CURR("SKK")		/* Slovakian Koruna  */
 DEFINE_INT_CURR("SLL")		/* Sierra Leone Leone  */
 DEFINE_INT_CURR("SOS")		/* Somalia Schilling  */
-DEFINE_INT_CURR("SPL")		/* Seborga Luigini  */
-DEFINE_INT_CURR("SRG")		/* Suriname Guilder  */
+DEFINE_INT_CURR("SRD")		/* Suriname Dollar  */
 DEFINE_INT_CURR("STD")		/* Sao Tome and Principe Dobra  */
 DEFINE_INT_CURR("SVC")		/* El Salvador Colon  */
 DEFINE_INT_CURR("SYP")		/* Syrian Arab Republic Pound  */
@@ -155,7 +149,6 @@
 DEFINE_INT_CURR("TOP")		/* Tonga Pa'Anga  */
 DEFINE_INT_CURR("TRY")		/* New Turkish Lira  */
 DEFINE_INT_CURR("TTD")		/* Trinidad and Tobago  */
-DEFINE_INT_CURR("TVD")		/* Tuvalu Dollars  */
 DEFINE_INT_CURR("TWD")		/* Taiwan, Province of China Dollar  */
 DEFINE_INT_CURR("TZS")		/* United Republic of Tanzania Shilling  */
 DEFINE_INT_CURR("UAH")		/* Ukraine Hryvna  */
@@ -163,13 +156,12 @@
 DEFINE_INT_CURR("USD")		/* United States Dollar  */
 DEFINE_INT_CURR("UYU")		/* Uruguay Peso Uruguayo  */
 DEFINE_INT_CURR("UZS")		/* Uzbekistan Sum  */
-DEFINE_INT_CURR("VEB")		/* Venezuelan Bolivar  */
+DEFINE_INT_CURR("VEF")		/* Venezuelan Bolivar Fuerte */
 DEFINE_INT_CURR("VND")		/* Viet Nam Dong  */
 DEFINE_INT_CURR("VUV")		/* Vanuatu Vatu  */
 DEFINE_INT_CURR("WST")		/* Samoa Tala  */
 DEFINE_INT_CURR("XAF")		/* Central African Franc (United Republic of Cameroon, Central African Republic, Chad, Congo, Gabon)  */
 DEFINE_INT_CURR("XCD")		/* East Caribbean Dollar (Antiqua, Dominica, Grenada, Montserrat, St. Kitts-Nevis-Anguilla, Saint Lucia, Saint Vincent and the Grenadines)  */
-DEFINE_INT_CURR("XDR")		/* International Monetary Fund  */
 DEFINE_INT_CURR("XOF")		/* West African Franc (Benin, Ivory Coast, Niger, Senegal, Togo, Upper Volta)  */
 DEFINE_INT_CURR("XPF")		/* French polynesia, New Caledonia, Wallis and Futuna Islands  */
 DEFINE_INT_CURR("YER")		/* Yemeni Rial  */

Modified: fsf/trunk/libc/localedata/ChangeLog
==============================================================================
--- fsf/trunk/libc/localedata/ChangeLog (original)
+++ fsf/trunk/libc/localedata/ChangeLog Thu Sep  5 00:03:45 2013
@@ -1,4 +1,160 @@
+2013-09-04  Chris Leonard  <cjl@sugarlabs,.org>
+
+     [BZ #15923]
+
+	* locales/ar_SD: Update iso-1427.def and related occurrences.
+	* locales/az_AZ: Likewise.
+	* locales/dv_MV: Likewise.
+	* locales/es_VE: Likewise.
+
+2013-09-04  Jakub Bogusz  <qboosh@xxxxxxxxxxxxx>
+
+	* locales/am_ET: Add country_car field to LC_ADDRESS.
+	* locales/an_ES: Likewise.
+	* locales/ar_AE: Likewise.
+	* locales/ar_BH: Likewise.
+	* locales/ar_DZ: Likewise.
+	* locales/ar_EG: Likewise.
+	* locales/ar_IN: Likewise.
+	* locales/ar_IQ: Likewise.
+	* locales/ar_JO: Likewise.
+	* locales/ar_KW: Likewise.
+	* locales/ar_LB: Likewise.
+	* locales/ar_LY: Likewise.
+	* locales/ar_MA: Likewise.
+	* locales/ar_QA: Likewise.
+	* locales/ar_SA: Likewise.
+	* locales/ar_SD: Likewise.
+	* locales/ar_SY: Likewise.
+	* locales/ar_TN: Likewise.
+	* locales/az_AZ: Likewise.
+	* locales/be_BY: Likewise.
+	* locales/bn_BD: Likewise.
+	* locales/bn_IN: Likewise.
+	* locales/br_FR: Likewise.
+	* locales/bs_BA: Likewise.
+	* locales/ca_ES: Likewise.
+	* locales/csb_PL: Likewise.
+	* locales/da_DK: Likewise.
+	* locales/de_AT: Likewise.
+	* locales/de_BE: Likewise.
+	* locales/de_CH: Likewise.
+	* locales/de_LU: Likewise.
+	* locales/el_GR: Likewise.
+	* locales/en_AU: Likewise.
+	* locales/en_BW: Likewise.
+	* locales/en_CA: Likewise.
+	* locales/en_DK: Likewise.
+	* locales/en_GB: Likewise.
+	* locales/en_HK: Likewise.
+	* locales/en_IE: Likewise.
+	* locales/en_IN: Likewise.
+	* locales/en_NZ: Likewise.
+	* locales/en_PH: Likewise.
+	* locales/en_SG: Likewise.
+	* locales/en_ZW: Likewise.
+	* locales/es_AR: Likewise.
+	* locales/es_BO: Likewise.
+	* locales/es_CL: Likewise.
+	* locales/es_CO: Likewise.
+	* locales/es_DO: Likewise.
+	* locales/es_EC: Likewise.
+	* locales/es_ES: Likewise.
+	* locales/es_GT: Likewise.
+	* locales/es_MX: Likewise.
+	* locales/es_NI: Likewise.
+	* locales/es_PA: Likewise.
+	* locales/es_PE: Likewise.
+	* locales/es_PY: Likewise.
+	* locales/es_SV: Likewise.
+	* locales/es_UY: Likewise.
+	* locales/es_VE: Likewise.
+	* locales/eu_ES: Likewise.
+	* locales/fo_FO: Likewise.
+	* locales/fr_BE: Likewise.
+	* locales/fr_CA: Likewise.
+	* locales/fr_CH: Likewise.
+	* locales/fr_FR: Likewise.
+	* locales/fr_LU: Likewise.
+	* locales/fur_IT: Likewise.
+	* locales/fy_DE: Likewise.
+	* locales/ga_IE: Likewise.
+	* locales/gez_ER: Likewise.
+	* locales/gez_ET: Likewise.
+	* locales/gl_ES: Likewise.
+	* locales/gu_IN: Likewise.
+	* locales/gv_GB: Likewise.
+	* locales/he_IL: Likewise.
+	* locales/hi_IN: Likewise.
+	* locales/hr_HR: Likewise.
+	* locales/hu_HU: Likewise.
+	* locales/id_ID: Likewise.
+	* locales/ik_CA: Likewise.
+	* locales/is_IS: Likewise.
+	* locales/it_CH: Likewise.
+	* locales/it_IT: Likewise.
+	* locales/iu_CA: Likewise.
+	* locales/ja_JP: Likewise.
+	* locales/ka_GE: Likewise.
+	* locales/kk_KZ: Likewise.
+	* locales/kn_IN: Likewise.
+	* locales/ko_KR: Likewise.
+	* locales/ku_TR: Likewise.
+	* locales/kw_GB: Likewise.
+	* locales/ky_KG: Likewise.
+	* locales/lg_UG: Likewise.
+	* locales/lt_LT: Likewise.
+	* locales/lv_LV: Likewise.
+	* locales/mi_NZ: Likewise.
+	* locales/ml_IN: Likewise.
+	* locales/mr_IN: Likewise.
+	* locales/ms_MY: Likewise.
+	* locales/mt_MT: Likewise.
+	* locales/nb_NO: Likewise.
+	* locales/ne_NP: Likewise.
+	* locales/nl_BE: Likewise.
+	* locales/nn_NO: Likewise.
+	* locales/nr_ZA: Likewise.
+	* locales/nso_ZA: Likewise.
+	* locales/om_ET: Likewise.
+	* locales/om_KE: Likewise.
+	* locales/pa_IN: Likewise.
+	* locales/pl_PL: Likewise.
+	* locales/pt_BR: Likewise.
+	* locales/pt_PT: Likewise.
+	* locales/ru_RU: Likewise.
+	* locales/ru_UA: Likewise.
+	* locales/sa_IN: Likewise.
+	* locales/se_NO: Likewise.
+	* locales/sk_SK: Likewise.
+	* locales/sl_SI: Likewise.
+	* locales/so_ET: Likewise.
+	* locales/so_KE: Likewise.
+	* locales/so_SO: Likewise.
+	* locales/sq_AL: Likewise.
+	* locales/ss_ZA: Likewise.
+	* locales/sv_SE: Likewise.
+	* locales/ta_IN: Likewise.
+	* locales/te_IN: Likewise.
+	* locales/tg_TJ: Likewise.
+	* locales/th_TH: Likewise.
+	* locales/ti_ET: Likewise.
+	* locales/tl_PH: Likewise.
+	* locales/tn_ZA: Likewise.
+	* locales/ts_ZA: Likewise.
+	* locales/tt_RU: Likewise.
+	* locales/tt_RU@iqtelif: Likewise.
+	* locales/ur_PK: Likewise.
+	* locales/uz_UZ: Likewise.
+	* locales/ve_ZA: Likewise.
+	* locales/vi_VN: Likewise.
+	* locales/wal_ET: Likewise.
+	* locales/wo_SN: Likewise.
+	* locales/zh_SG: Likewise.
+
 2013-09-03  Chris Leonard  <cjl@xxxxxxxxxxxxx>
+
+	* locales/ayc_PE: Add FSF statement to ayc_PE locale.
 
 	[BZ#15886]
 	* locales/ht_HT: 1.1 revision of ht_HT locale.

Modified: fsf/trunk/libc/localedata/locales/aa_ET
==============================================================================
--- fsf/trunk/libc/localedata/locales/aa_ET (original)
+++ fsf/trunk/libc/localedata/locales/aa_ET Thu Sep  5 00:03:45 2013
@@ -109,7 +109,8 @@
 country_ab2   "<U0045><U0054>"
 country_ab3   "<U0045><U0054><U0048>"
 country_num   231   % 210 found in at least one ISO 3166 doc
-% country_car   unknown
+% ETH
+country_car   "<U0045><U0054><U0048>"
 % country_isbn  unknown, Need ISO 2108
 lang_name     "<U0051><U0061><U0066><U0061><U0072>"
 lang_ab       "<U0061><U0061>"

Modified: fsf/trunk/libc/localedata/locales/am_ET
==============================================================================
--- fsf/trunk/libc/localedata/locales/am_ET (original)
+++ fsf/trunk/libc/localedata/locales/am_ET Thu Sep  5 00:03:45 2013
@@ -1444,7 +1444,8 @@
 country_ab2   "<U0045><U0054>"
 country_ab3   "<U0045><U0054><U0048>"
 country_num   231   % 210 found in at least one ISO 3166 doc
-% country_car   unknown
+% ETH
+country_car   "<U0045><U0054><U0048>"
 % country_isbn  unknown, Need ISO 2108
 lang_name     "<U12A0><U121B><U122D><U129B>"
 lang_ab       "<U0061><U006D>"

Modified: fsf/trunk/libc/localedata/locales/an_ES
==============================================================================
--- fsf/trunk/libc/localedata/locales/an_ES (original)
+++ fsf/trunk/libc/localedata/locales/an_ES Thu Sep  5 00:03:45 2013
@@ -124,5 +124,14 @@
 END LC_NAME
 
 LC_ADDRESS
-copy "es_ES"
+postal_fmt    "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/
+<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/
+<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/
+<U004E><U0025><U007A><U0020><U0025><U0054><U0025>/
+<U004E><U0025><U0063><U0025><U004E>"
+country_ab2   "<U0045><U0053>"
+country_ab3   "<U0045><U0053><U0050>"
+country_num   724
+% E
+country_car    "<U0045>"
 END LC_ADDRESS

Modified: fsf/trunk/libc/localedata/locales/ar_AE
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_AE (original)
+++ fsf/trunk/libc/localedata/locales/ar_AE Thu Sep  5 00:03:45 2013
@@ -181,6 +181,8 @@
 country_ab2 "<U0041><U0045>"
 country_ab3 "<U0041><U0052><U0045>"
 country_num 784
+% UAE
+country_car    "<U0055><U0041><U0045>"
 END LC_ADDRESS
 
 

Modified: fsf/trunk/libc/localedata/locales/ar_BH
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_BH (original)
+++ fsf/trunk/libc/localedata/locales/ar_BH Thu Sep  5 00:03:45 2013
@@ -185,7 +185,8 @@
 country_ab2 "<U0042><U0048>"
 country_ab3 "<U0042><U0048><U0052>"
 country_num 048
-
+% BRN
+country_car    "<U0042><U0052><U004E>"
 END LC_ADDRESS
 
 

Modified: fsf/trunk/libc/localedata/locales/ar_DZ
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_DZ (original)
+++ fsf/trunk/libc/localedata/locales/ar_DZ Thu Sep  5 00:03:45 2013
@@ -184,7 +184,8 @@
 country_ab2 "<U0044><U005A>"
 country_ab3 "<U0044><U005A><U0041>"
 country_num 012
-
+% DZ
+country_car    "<U0044><U005A>"
 END LC_ADDRESS
 
 

Modified: fsf/trunk/libc/localedata/locales/ar_EG
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_EG (original)
+++ fsf/trunk/libc/localedata/locales/ar_EG Thu Sep  5 00:03:45 2013
@@ -192,6 +192,8 @@
 country_ab2 "<U0045><U0047>"
 country_ab3 "<U0045><U0047><U0059>"
 country_num 818
+% ET
+country_car    "<U0045><U0054>"
 
 END LC_ADDRESS
 

Modified: fsf/trunk/libc/localedata/locales/ar_IN
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_IN (original)
+++ fsf/trunk/libc/localedata/locales/ar_IN Thu Sep  5 00:03:45 2013
@@ -162,6 +162,8 @@
 country_ab2 "<U0049><U004E>"
 country_ab3 "<U0049><U004E><U0044>"
 country_num 356
+% IND
+country_car    "<U0049><U004E><U0044>"
 
 END LC_ADDRESS
 

Modified: fsf/trunk/libc/localedata/locales/ar_IQ
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_IQ (original)
+++ fsf/trunk/libc/localedata/locales/ar_IQ Thu Sep  5 00:03:45 2013
@@ -184,6 +184,8 @@
 country_ab2 "<U0049><U0051>"
 country_ab3 "<U0049><U0052><U0051>"
 country_num 368
+% IRQ
+country_car    "<U0049><U0052><U0051>"
 
 END LC_ADDRESS
 

Modified: fsf/trunk/libc/localedata/locales/ar_JO
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_JO (original)
+++ fsf/trunk/libc/localedata/locales/ar_JO Thu Sep  5 00:03:45 2013
@@ -202,6 +202,8 @@
 country_ab2 "<U004A><U004F>"
 country_ab3 "<U004A><U004F><U0052>"
 country_num 400
+% HKJ
+country_car    "<U0048><U004B><U004A>"
 
 END LC_ADDRESS
 

Modified: fsf/trunk/libc/localedata/locales/ar_KW
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_KW (original)
+++ fsf/trunk/libc/localedata/locales/ar_KW Thu Sep  5 00:03:45 2013
@@ -184,6 +184,8 @@
 country_ab2 "<U004B><U0057>"
 country_ab3 "<U004B><U0057><U0054>"
 country_num 414
+% KWT
+country_car    "<U004B><U0057><U0054>"
 
 END LC_ADDRESS
 

Modified: fsf/trunk/libc/localedata/locales/ar_LB
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_LB (original)
+++ fsf/trunk/libc/localedata/locales/ar_LB Thu Sep  5 00:03:45 2013
@@ -201,6 +201,8 @@
 country_ab2 "<U004C><U0042>"
 country_ab3 "<U004C><U0042><U004E>"
 country_num 422
+% RL
+country_car    "<U0052><U004C>"
 
 END LC_ADDRESS
 

Modified: fsf/trunk/libc/localedata/locales/ar_LY
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_LY (original)
+++ fsf/trunk/libc/localedata/locales/ar_LY Thu Sep  5 00:03:45 2013
@@ -184,6 +184,8 @@
 country_ab2 "<U004C><U0059>"
 country_ab3 "<U004C><U0042><U0059>"
 country_num 434
+% LAR
+country_car    "<U004C><U0041><U0052>"
 
 END LC_ADDRESS
 

Modified: fsf/trunk/libc/localedata/locales/ar_MA
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_MA (original)
+++ fsf/trunk/libc/localedata/locales/ar_MA Thu Sep  5 00:03:45 2013
@@ -184,6 +184,8 @@
 country_ab2 "<U004D><U0041>"
 country_ab3 "<U004D><U0041><U0052>"
 country_num 504
+% MA
+country_car    "<U004D><U0041>"
 
 END LC_ADDRESS
 

Modified: fsf/trunk/libc/localedata/locales/ar_QA
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_QA (original)
+++ fsf/trunk/libc/localedata/locales/ar_QA Thu Sep  5 00:03:45 2013
@@ -184,6 +184,8 @@
 country_ab2 "<U0051><U0041>"
 country_ab3 "<U0051><U0041><U0054>"
 country_num 634
+% Q
+country_car    "<U0051>"
 
 END LC_ADDRESS
 

Modified: fsf/trunk/libc/localedata/locales/ar_SA
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_SA (original)
+++ fsf/trunk/libc/localedata/locales/ar_SA Thu Sep  5 00:03:45 2013
@@ -386,4 +386,7 @@
 country_ab2 "<U0053><U0041>"
 country_ab3 "<U0053><U0041><U0055>"
 country_num 682
+% KSA
+country_car    "<U004B><U0053><U0041>"
+
 END LC_ADDRESS

Modified: fsf/trunk/libc/localedata/locales/ar_SD
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_SD (original)
+++ fsf/trunk/libc/localedata/locales/ar_SD Thu Sep  5 00:03:45 2013
@@ -47,7 +47,8 @@
 % These are generated based on XML base Locale definition file
 % for IBM Class for Unicode/Java
 %
-int_curr_symbol       "<U0053><U0044><U0044><U0020>"
+% SDG
+int_curr_symbol       "<U0053><U0044><U0047><U0020>"
 currency_symbol       "<U062C><U002E><U0633><U002E>"
 mon_decimal_point     "<U002E>"
 mon_thousands_sep     "<U002C>"
@@ -184,6 +185,8 @@
 country_ab2 "<U0053><U0044>"
 country_ab3 "<U0053><U0044><U004E>"
 country_num 736
+% SUD
+country_car    "<U0053><U0055><U0044>"
 
 END LC_ADDRESS
 

Modified: fsf/trunk/libc/localedata/locales/ar_SY
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_SY (original)
+++ fsf/trunk/libc/localedata/locales/ar_SY Thu Sep  5 00:03:45 2013
@@ -201,6 +201,8 @@
 country_ab2 "<U0053><U0059>"
 country_ab3 "<U0053><U0059><U0052>"
 country_num 760
+% SYR
+country_car    "<U0053><U0059><U0052>"
 
 END LC_ADDRESS
 

Modified: fsf/trunk/libc/localedata/locales/ar_TN
==============================================================================
--- fsf/trunk/libc/localedata/locales/ar_TN (original)
+++ fsf/trunk/libc/localedata/locales/ar_TN Thu Sep  5 00:03:45 2013
@@ -184,6 +184,8 @@
 country_ab2 "<U0054><U004E>"
 country_ab3 "<U0054><U0055><U004E>"
 country_num 788
+% TN
+country_car    "<U0054><U004E>"
 
 END LC_ADDRESS
 

Modified: fsf/trunk/libc/localedata/locales/ayc_PE
==============================================================================
--- fsf/trunk/libc/localedata/locales/ayc_PE (original)
+++ fsf/trunk/libc/localedata/locales/ayc_PE Thu Sep  5 00:03:45 2013
@@ -1,8 +1,39 @@
 comment_char %
 escape_char /
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Aymara, Southern (ayc) language locale for Peru
+%
 % Charset: UTF-8
-% WARNING: This file has been autogenerated by the Locale Helper application
-%          Check it carefully before using it in production.
+%
+% Aymara terms provided by Edgar Quispe Chambi <equispe7@xxxxxxxxx> and
+% Amos Batto <amosbatto@xxxxxxxxx>
+%
+% Prepared and contributed to glibc by Chris Leonard <cjl@xxxxxxxxxxxxx> and
+% Amos Batto <amosbatto@xxxxxxxxx>
+%
+% This locale data has been developed in collaboration between:
+% Sugar Labs,  http://www.sugarlabs.org/
+% One Laptop Per Child, http://one.laptop.org/
+% Runasimipi Quespiqa Software, http://runasimipi.org/
+% Somos AzÃÂcar. http://somosazucar.org/
+%
+% Los autores desean agradecer a los desafÃÂos de la clasificaciÃÂn de las lenguas andinas
+% con los cÃÂdigos ISO-639 disponibles en la actualidad y su disposiciÃÂn a trabajar con
+% todos los interesados ÃÂÂÃÂÂen mejorar la representaciÃÂn de todas las lenguas andinas.
+%
+% build with: localedef -f UTF-8 -i ayc_PE ayc_PE
+%
+% This file is a part of GNU C Library (glibc) and contains locale data. The
+% Free Software Foundation does not claim any copyright interest in the
+% locale data contained in this file. The foregoing does not affect the
+% license of GNU C Library (glibc) as a whole. It does not exempt you from the
+% conditions of the license if your use would otherwise be governed by
+% that license.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
 LC_IDENTIFICATION
 title      "Aymara (ayc) locale for Peru"
 source       "runasimipi.org"
@@ -13,37 +44,8 @@
 fax          ""
 language  "Aymara"
 territory "Peru"
-revision  "1.0"
+revision  "1.1"
 date      "2011-11-13"
-%
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% Aymara, Southern (ayc) language locale for Peru
-%
-% Charset: ISO-8859-1
-%

[... 2037 lines stripped ...]
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits