[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commits] r23928 - in /trunk: ./ libc/ libc/argp/ libc/benchtests/ libc/bits/ libc/conform/ libc/crypt/ libc/csu/ libc/debug/ libc/dlf...
- To: commits@xxxxxxxxxx
- Subject: [Commits] r23928 - in /trunk: ./ libc/ libc/argp/ libc/benchtests/ libc/bits/ libc/conform/ libc/crypt/ libc/csu/ libc/debug/ libc/dlf...
- From: joseph@xxxxxxxxxx
- Date: Thu, 05 Sep 2013 22:41:08 -0000
Author: joseph
Date: Thu Sep 5 22:41:05 2013
New Revision: 23928
Log:
Merge changes between r23795 and r23927 from /fsf/trunk.
Added:
trunk/libc/debug/tst-backtrace6.c
- copied unchanged from r23927, fsf/trunk/libc/debug/tst-backtrace6.c
trunk/libc/dlfcn/bug-dl-leaf-lib-cb.c
- copied unchanged from r23927, fsf/trunk/libc/dlfcn/bug-dl-leaf-lib-cb.c
trunk/libc/dlfcn/bug-dl-leaf-lib.c
- copied unchanged from r23927, fsf/trunk/libc/dlfcn/bug-dl-leaf-lib.c
trunk/libc/dlfcn/bug-dl-leaf.c
- copied unchanged from r23927, fsf/trunk/libc/dlfcn/bug-dl-leaf.c
trunk/libc/localedata/locales/quz_PE
- copied unchanged from r23927, fsf/trunk/libc/localedata/locales/quz_PE
trunk/libc/po/uk.po
- copied unchanged from r23927, fsf/trunk/libc/po/uk.po
trunk/libc/ports/sysdeps/arm/armv6t2/strlen.S
- copied unchanged from r23927, fsf/trunk/libc/ports/sysdeps/arm/armv6t2/strlen.S
trunk/libc/ports/sysdeps/unix/sysv/linux/m68k/mmap64.c
- copied unchanged from r23927, fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/m68k/mmap64.c
trunk/libc/socket/sa_len.c
- copied unchanged from r23927, fsf/trunk/libc/socket/sa_len.c
trunk/libc/sysdeps/gnu/ldsodefs.h
- copied unchanged from r23927, fsf/trunk/libc/sysdeps/gnu/ldsodefs.h
trunk/libc/sysdeps/unix/ifreq.c
- copied unchanged from r23927, fsf/trunk/libc/sysdeps/unix/ifreq.c
trunk/libc/sysdeps/unix/sysv/linux/tst-fanotify.c
- copied unchanged from r23927, fsf/trunk/libc/sysdeps/unix/sysv/linux/tst-fanotify.c
trunk/libc/sysdeps/x86_64/multiarch/strcmp-sse2-unaligned.S
- copied unchanged from r23927, fsf/trunk/libc/sysdeps/x86_64/multiarch/strcmp-sse2-unaligned.S
Removed:
trunk/libc/sysdeps/unix/bsd/bsd4.4/bits/socket.h
trunk/libc/sysdeps/unix/sysv/linux/powerpc/aix/
trunk/libc/sysdeps/x86_64/multiarch/rawmemchr.S
Modified:
trunk/ (props changed)
trunk/libc/ChangeLog
trunk/libc/INSTALL
trunk/libc/Makefile
trunk/libc/Makerules
trunk/libc/NEWS
trunk/libc/Versions.def
trunk/libc/argp/argp-help.c
trunk/libc/argp/argp-parse.c
trunk/libc/benchtests/Makefile
trunk/libc/benchtests/bench-memccpy.c
trunk/libc/benchtests/bench-memchr.c
trunk/libc/benchtests/bench-memcmp.c
trunk/libc/benchtests/bench-memcpy.c
trunk/libc/benchtests/bench-memmem.c
trunk/libc/benchtests/bench-memmove.c
trunk/libc/benchtests/bench-memset.c
trunk/libc/benchtests/bench-rawmemchr.c
trunk/libc/benchtests/bench-strcasecmp.c
trunk/libc/benchtests/bench-strcasestr.c
trunk/libc/benchtests/bench-strcat.c
trunk/libc/benchtests/bench-strchr.c
trunk/libc/benchtests/bench-strcmp.c
trunk/libc/benchtests/bench-strcpy.c
trunk/libc/benchtests/bench-strcpy_chk.c
trunk/libc/benchtests/bench-string.h
trunk/libc/benchtests/bench-strlen.c
trunk/libc/benchtests/bench-strncasecmp.c
trunk/libc/benchtests/bench-strncat.c
trunk/libc/benchtests/bench-strncmp.c
trunk/libc/benchtests/bench-strncpy.c
trunk/libc/benchtests/bench-strnlen.c
trunk/libc/benchtests/bench-strpbrk.c
trunk/libc/benchtests/bench-strrchr.c
trunk/libc/benchtests/bench-strspn.c
trunk/libc/benchtests/bench-strstr.c
trunk/libc/benchtests/bench-timing.h
trunk/libc/bits/socket.h
trunk/libc/config.h.in
trunk/libc/config.make.in
trunk/libc/configure
trunk/libc/configure.in
trunk/libc/conform/conformtest.pl
trunk/libc/crypt/speeds.c
trunk/libc/csu/check_fds.c
trunk/libc/csu/init-first.c
trunk/libc/debug/Makefile
trunk/libc/debug/backtracesyms.c
trunk/libc/debug/tst-backtrace5.c
trunk/libc/dlfcn/Makefile
trunk/libc/dlfcn/dlfcn.h
trunk/libc/dlfcn/modstatic2.c
trunk/libc/dlfcn/tststatic2.c
trunk/libc/elf/Makefile
trunk/libc/elf/dl-load.c
trunk/libc/elf/dl-open.c
trunk/libc/elf/elf.h
trunk/libc/elf/reldep.c
trunk/libc/elf/reldep3.c
trunk/libc/elf/sprof.c
trunk/libc/extra-lib.mk
trunk/libc/hurd/Makefile
trunk/libc/hurd/geteuids.c
trunk/libc/iconv/gconv_int.h
trunk/libc/iconv/iconv_charmap.c
trunk/libc/iconv/loop.c
trunk/libc/iconv/skeleton.c
trunk/libc/iconv/strtab.c
trunk/libc/iconvdata/gbbig5.c
trunk/libc/iconvdata/iso-2022-jp.c
trunk/libc/include/complex.h
trunk/libc/include/fenv.h
trunk/libc/include/libc-symbols.h
trunk/libc/include/netdb.h
trunk/libc/include/resolv.h
trunk/libc/include/shlib-compat.h
trunk/libc/inet/ifreq.c
trunk/libc/io/lockf64.c
trunk/libc/io/lxstat64.c
trunk/libc/libidn/ChangeLog
trunk/libc/libidn/stringprep.c
trunk/libc/libio/Makefile
trunk/libc/libio/libioP.h
trunk/libc/locale/categories.def
trunk/libc/locale/iso-4217.def
trunk/libc/locale/programs/ld-collate.c
trunk/libc/locale/programs/linereader.h
trunk/libc/localedata/ChangeLog
trunk/libc/localedata/SUPPORTED
trunk/libc/localedata/locales/aa_ET
trunk/libc/localedata/locales/am_ET
trunk/libc/localedata/locales/an_ES
trunk/libc/localedata/locales/ar_AE
trunk/libc/localedata/locales/ar_BH
trunk/libc/localedata/locales/ar_DZ
trunk/libc/localedata/locales/ar_EG
trunk/libc/localedata/locales/ar_IN
trunk/libc/localedata/locales/ar_IQ
trunk/libc/localedata/locales/ar_JO
trunk/libc/localedata/locales/ar_KW
trunk/libc/localedata/locales/ar_LB
trunk/libc/localedata/locales/ar_LY
trunk/libc/localedata/locales/ar_MA
trunk/libc/localedata/locales/ar_QA
trunk/libc/localedata/locales/ar_SA
trunk/libc/localedata/locales/ar_SD
trunk/libc/localedata/locales/ar_SY
trunk/libc/localedata/locales/ar_TN
trunk/libc/localedata/locales/ayc_PE
trunk/libc/localedata/locales/az_AZ
trunk/libc/localedata/locales/be_BY
trunk/libc/localedata/locales/bn_BD
trunk/libc/localedata/locales/bn_IN
trunk/libc/localedata/locales/br_FR
trunk/libc/localedata/locales/bs_BA
trunk/libc/localedata/locales/ca_ES
trunk/libc/localedata/locales/csb_PL
trunk/libc/localedata/locales/da_DK
trunk/libc/localedata/locales/de_AT
trunk/libc/localedata/locales/de_BE
trunk/libc/localedata/locales/de_CH
trunk/libc/localedata/locales/de_LU
trunk/libc/localedata/locales/dv_MV
trunk/libc/localedata/locales/el_GR
trunk/libc/localedata/locales/en_AU
trunk/libc/localedata/locales/en_BW
trunk/libc/localedata/locales/en_CA
trunk/libc/localedata/locales/en_DK
trunk/libc/localedata/locales/en_GB
trunk/libc/localedata/locales/en_HK
trunk/libc/localedata/locales/en_IE
trunk/libc/localedata/locales/en_IN
trunk/libc/localedata/locales/en_NZ
trunk/libc/localedata/locales/en_PH
trunk/libc/localedata/locales/en_SG
trunk/libc/localedata/locales/en_ZW
trunk/libc/localedata/locales/es_AR
trunk/libc/localedata/locales/es_BO
trunk/libc/localedata/locales/es_CL
trunk/libc/localedata/locales/es_CO
trunk/libc/localedata/locales/es_DO
trunk/libc/localedata/locales/es_EC
trunk/libc/localedata/locales/es_ES
trunk/libc/localedata/locales/es_GT
trunk/libc/localedata/locales/es_MX
trunk/libc/localedata/locales/es_NI
trunk/libc/localedata/locales/es_PA
trunk/libc/localedata/locales/es_PE
trunk/libc/localedata/locales/es_PY
trunk/libc/localedata/locales/es_SV
trunk/libc/localedata/locales/es_UY
trunk/libc/localedata/locales/es_VE
trunk/libc/localedata/locales/eu_ES
trunk/libc/localedata/locales/fo_FO
trunk/libc/localedata/locales/fr_BE
trunk/libc/localedata/locales/fr_CA
trunk/libc/localedata/locales/fr_CH
trunk/libc/localedata/locales/fr_FR
trunk/libc/localedata/locales/fr_LU
trunk/libc/localedata/locales/fur_IT
trunk/libc/localedata/locales/fy_DE
trunk/libc/localedata/locales/ga_IE
trunk/libc/localedata/locales/gez_ER
trunk/libc/localedata/locales/gez_ET
trunk/libc/localedata/locales/gl_ES
trunk/libc/localedata/locales/gu_IN
trunk/libc/localedata/locales/gv_GB
trunk/libc/localedata/locales/he_IL
trunk/libc/localedata/locales/hi_IN
trunk/libc/localedata/locales/hr_HR
trunk/libc/localedata/locales/ht_HT
trunk/libc/localedata/locales/hu_HU
trunk/libc/localedata/locales/id_ID
trunk/libc/localedata/locales/ik_CA
trunk/libc/localedata/locales/is_IS
trunk/libc/localedata/locales/it_CH
trunk/libc/localedata/locales/it_IT
trunk/libc/localedata/locales/iu_CA
trunk/libc/localedata/locales/ja_JP
trunk/libc/localedata/locales/ka_GE
trunk/libc/localedata/locales/kk_KZ
trunk/libc/localedata/locales/kn_IN
trunk/libc/localedata/locales/ko_KR
trunk/libc/localedata/locales/ku_TR
trunk/libc/localedata/locales/kw_GB
trunk/libc/localedata/locales/ky_KG
trunk/libc/localedata/locales/lg_UG
trunk/libc/localedata/locales/lt_LT
trunk/libc/localedata/locales/lv_LV
trunk/libc/localedata/locales/mi_NZ
trunk/libc/localedata/locales/ml_IN
trunk/libc/localedata/locales/mr_IN
trunk/libc/localedata/locales/ms_MY
trunk/libc/localedata/locales/mt_MT
trunk/libc/localedata/locales/nb_NO
trunk/libc/localedata/locales/ne_NP
trunk/libc/localedata/locales/nl_BE
trunk/libc/localedata/locales/nn_NO
trunk/libc/localedata/locales/nr_ZA
trunk/libc/localedata/locales/nso_ZA
trunk/libc/localedata/locales/om_ET
trunk/libc/localedata/locales/om_KE
trunk/libc/localedata/locales/pa_IN
trunk/libc/localedata/locales/pl_PL
trunk/libc/localedata/locales/pt_BR
trunk/libc/localedata/locales/pt_PT
trunk/libc/localedata/locales/ru_RU
trunk/libc/localedata/locales/ru_UA
trunk/libc/localedata/locales/sa_IN
trunk/libc/localedata/locales/se_NO
trunk/libc/localedata/locales/sk_SK
trunk/libc/localedata/locales/sl_SI
trunk/libc/localedata/locales/so_ET
trunk/libc/localedata/locales/so_KE
trunk/libc/localedata/locales/so_SO
trunk/libc/localedata/locales/sq_AL
trunk/libc/localedata/locales/ss_ZA
trunk/libc/localedata/locales/sv_SE
trunk/libc/localedata/locales/ta_IN
trunk/libc/localedata/locales/te_IN
trunk/libc/localedata/locales/tg_TJ
trunk/libc/localedata/locales/th_TH
trunk/libc/localedata/locales/ti_ET
trunk/libc/localedata/locales/tl_PH
trunk/libc/localedata/locales/tn_ZA
trunk/libc/localedata/locales/ts_ZA
trunk/libc/localedata/locales/tt_RU
trunk/libc/localedata/locales/tt_RU@iqtelif
trunk/libc/localedata/locales/ur_PK
trunk/libc/localedata/locales/uz_UZ
trunk/libc/localedata/locales/ve_ZA
trunk/libc/localedata/locales/vi_VN
trunk/libc/localedata/locales/wal_ET
trunk/libc/localedata/locales/wo_SN
trunk/libc/localedata/locales/zh_SG
trunk/libc/localedata/tests-mbwc/dat_wcsncat.c
trunk/libc/localedata/tests/test6.c
trunk/libc/localedata/tst-digits.c
trunk/libc/malloc/malloc.c
trunk/libc/manual/charset.texi
trunk/libc/manual/filesys.texi
trunk/libc/manual/install.texi
trunk/libc/manual/stdio.texi
trunk/libc/manual/string.texi
trunk/libc/math/basic-test.c
trunk/libc/math/libm-test.inc
trunk/libc/math/s_cexp.c
trunk/libc/math/s_cexpf.c
trunk/libc/math/s_cexpl.c
trunk/libc/math/s_cproj.c
trunk/libc/math/s_cprojf.c
trunk/libc/math/s_cprojl.c
trunk/libc/math/s_fdim.c
trunk/libc/math/s_fdimf.c
trunk/libc/math/s_fdiml.c
trunk/libc/nis/nis_print.c
trunk/libc/nis/nss_nis/nis-publickey.c
trunk/libc/nis/rpcsvc/nis.h
trunk/libc/nptl/ChangeLog
trunk/libc/nptl/pthread_getschedparam.c
trunk/libc/nptl/sysdeps/pthread/pthread.h
trunk/libc/nptl/sysdeps/unix/sysv/linux/internaltypes.h
trunk/libc/nptl/sysdeps/unix/sysv/linux/register-atfork.c
trunk/libc/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S
trunk/libc/nptl/tst-cancel4.c
trunk/libc/nptl/tst-cleanup2.c
trunk/libc/nscd/aicache.c
trunk/libc/nss/nss_files/files-key.c
trunk/libc/po/ca.po
trunk/libc/ports/ChangeLog
trunk/libc/ports/ChangeLog.alpha
trunk/libc/ports/ChangeLog.am33
trunk/libc/ports/ChangeLog.arm
trunk/libc/ports/ChangeLog.hppa
trunk/libc/ports/ChangeLog.ia64
trunk/libc/ports/ChangeLog.m68k
trunk/libc/ports/ChangeLog.mips
trunk/libc/ports/ChangeLog.powerpc
trunk/libc/ports/ChangeLog.tile
trunk/libc/ports/sysdeps/alpha/alphaev67/stpncpy.S
trunk/libc/ports/sysdeps/am33/fpu/fraiseexcpt.c
trunk/libc/ports/sysdeps/arm/dl-machine.h
trunk/libc/ports/sysdeps/hppa/dl-lookupcfg.h
trunk/libc/ports/sysdeps/hppa/fpu/fraiseexcpt.c
trunk/libc/ports/sysdeps/ia64/fpu/e_acoshl.S
trunk/libc/ports/sysdeps/ia64/fpu/e_atanhl.S
trunk/libc/ports/sysdeps/ia64/fpu/e_log.S
trunk/libc/ports/sysdeps/ia64/fpu/e_log2l.S
trunk/libc/ports/sysdeps/ia64/fpu/e_logf.S
trunk/libc/ports/sysdeps/ia64/fpu/e_logl.S
trunk/libc/ports/sysdeps/ia64/fpu/fraiseexcpt.c
trunk/libc/ports/sysdeps/ia64/fpu/libm_lgammaf.S
trunk/libc/ports/sysdeps/ia64/fpu/libm_lgammal.S
trunk/libc/ports/sysdeps/ia64/fpu/libm_reduce.S
trunk/libc/ports/sysdeps/ia64/fpu/s_erfc.S
trunk/libc/ports/sysdeps/ia64/fpu/s_erfcf.S
trunk/libc/ports/sysdeps/ia64/fpu/s_erfcl.S
trunk/libc/ports/sysdeps/ia64/fpu/s_log1p.S
trunk/libc/ports/sysdeps/ia64/fpu/s_log1pl.S
trunk/libc/ports/sysdeps/ia64/fpu/w_tgammal.S
trunk/libc/ports/sysdeps/m68k/m680x0/fpu/fraiseexcpt.c
trunk/libc/ports/sysdeps/mips/fpu/fedisblxcpt.c
trunk/libc/ports/sysdeps/mips/fpu/feenablxcpt.c
trunk/libc/ports/sysdeps/mips/fpu_control.h
trunk/libc/ports/sysdeps/mips/memcpy.S
trunk/libc/ports/sysdeps/mips/sys/asm.h
trunk/libc/ports/sysdeps/powerpc/powerpc32/405/memcpy.S
trunk/libc/ports/sysdeps/tile/jmpbuf-offsets.h
trunk/libc/ports/sysdeps/unix/sysv/linux/alpha/bits/netdb.h
trunk/libc/ports/sysdeps/unix/sysv/linux/am33/bits/fcntl.h
trunk/libc/ports/sysdeps/unix/sysv/linux/arm/clone.S
trunk/libc/ports/sysdeps/unix/sysv/linux/arm/ldsodefs.h
trunk/libc/ports/sysdeps/unix/sysv/linux/hppa/Versions
trunk/libc/ports/sysdeps/unix/sysv/linux/hppa/clone.S
trunk/libc/ports/sysdeps/unix/sysv/linux/hppa/nptl/pthread.h
trunk/libc/ports/sysdeps/unix/sysv/linux/hppa/syscalls.list
trunk/libc/ports/sysdeps/unix/sysv/linux/hppa/sysdep.h
trunk/libc/ports/sysdeps/unix/sysv/linux/ia64/nptl/__sigstack_longjmp.c
trunk/libc/ports/sysdeps/unix/sysv/linux/m68k/kernel-features.h
trunk/libc/ports/sysdeps/unix/sysv/linux/mips/ldsodefs.h
trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/c++-types.data (props changed)
trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/localplt.data (props changed)
trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/c++-types.data (props changed)
trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/localplt.data (props changed)
trunk/libc/resolv/gai_notify.c
trunk/libc/resolv/ns_name.c
trunk/libc/resolv/ns_samedomain.c
trunk/libc/resolv/res_comp.c
trunk/libc/resolv/res_hconf.c
trunk/libc/resolv/res_libc.c
trunk/libc/resolv/res_mkquery.c
trunk/libc/resolv/res_send.c
trunk/libc/socket/Makefile
trunk/libc/stdio-common/vfscanf.c
trunk/libc/stdlib/Makefile
trunk/libc/stdlib/fmtmsg.c
trunk/libc/stdlib/random.c
trunk/libc/stdlib/stdlib.h
trunk/libc/stdlib/strtod_l.c
trunk/libc/stdlib/strtof_l.c
trunk/libc/stdlib/tst-strtod6.c
trunk/libc/streams/stropts.h
trunk/libc/string/Makefile
trunk/libc/string/test-strcasecmp.c
trunk/libc/string/test-strncasecmp.c
trunk/libc/sunrpc/Makefile
trunk/libc/sunrpc/clnt_tcp.c
trunk/libc/sunrpc/clnt_udp.c
trunk/libc/sunrpc/clnt_unix.c
trunk/libc/sunrpc/rpc/xdr.h
trunk/libc/sunrpc/rpc_thread.c
trunk/libc/sysdeps/gnu/Makefile
trunk/libc/sysdeps/i386/fpu/fraiseexcpt.c
trunk/libc/sysdeps/i386/fpu/libm-test-ulps
trunk/libc/sysdeps/i386/i686/multiarch/memcmp-sse4.S
trunk/libc/sysdeps/i386/i686/multiarch/memset-sse2-rep.S
trunk/libc/sysdeps/i386/i686/multiarch/memset-sse2.S
trunk/libc/sysdeps/i386/i686/multiarch/strcasecmp.S
trunk/libc/sysdeps/i386/i686/multiarch/strcat-sse2.S
trunk/libc/sysdeps/i386/i686/multiarch/strcmp-sse4.S
trunk/libc/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
trunk/libc/sysdeps/i386/i686/multiarch/strcmp.S
trunk/libc/sysdeps/i386/i686/multiarch/strcpy-sse2.S
trunk/libc/sysdeps/i386/i686/multiarch/strncase.S
trunk/libc/sysdeps/i386/i686/multiarch/strstr-c.c
trunk/libc/sysdeps/i386/stpncpy.S
trunk/libc/sysdeps/i386/strpbrk.S
trunk/libc/sysdeps/ieee754/flt-32/e_jnf.c
trunk/libc/sysdeps/ieee754/flt-32/e_lgammaf_r.c
trunk/libc/sysdeps/ieee754/k_standard.c
trunk/libc/sysdeps/ieee754/ldbl-128/e_expl.c
trunk/libc/sysdeps/ieee754/ldbl-128/strtold_l.c
trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_expl.c
trunk/libc/sysdeps/ieee754/ldbl-128ibm/ieee754.h
trunk/libc/sysdeps/ieee754/ldbl-128ibm/s_cprojl.c
trunk/libc/sysdeps/ieee754/ldbl-128ibm/strtold_l.c
trunk/libc/sysdeps/ieee754/ldbl-64-128/strtold_l.c
trunk/libc/sysdeps/ieee754/ldbl-96/strtold_l.c
trunk/libc/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h
trunk/libc/sysdeps/mach/hurd/bits/errno.h
trunk/libc/sysdeps/mach/hurd/check_fds.c
trunk/libc/sysdeps/mach/hurd/dl-sysdep.c
trunk/libc/sysdeps/mach/hurd/errnos.awk
trunk/libc/sysdeps/mach/hurd/i386/init-first.c
trunk/libc/sysdeps/mach/hurd/profil.c
trunk/libc/sysdeps/posix/getaddrinfo.c
trunk/libc/sysdeps/powerpc/powerpc32/backtrace.c
trunk/libc/sysdeps/powerpc/powerpc32/cell/memcpy.S
trunk/libc/sysdeps/powerpc/powerpc32/dl-machine.c
trunk/libc/sysdeps/powerpc/powerpc32/fpu/setjmp.S
trunk/libc/sysdeps/powerpc/powerpc32/power4/memcmp.S
trunk/libc/sysdeps/powerpc/powerpc32/power6/memcpy.S
trunk/libc/sysdeps/powerpc/powerpc32/power6/memset.S
trunk/libc/sysdeps/powerpc/powerpc32/power7/memcmp.S
trunk/libc/sysdeps/powerpc/powerpc32/setjmp.S
trunk/libc/sysdeps/powerpc/powerpc32/sysdep.h
trunk/libc/sysdeps/powerpc/powerpc64/backtrace.c
trunk/libc/sysdeps/powerpc/powerpc64/cell/memcpy.S
trunk/libc/sysdeps/powerpc/powerpc64/power6/memcpy.S
trunk/libc/sysdeps/powerpc/powerpc64/power6/memset.S
trunk/libc/sysdeps/pthread/aio_notify.c
trunk/libc/sysdeps/s390/dl-procinfo.h
trunk/libc/sysdeps/sparc/fpu/fraiseexcpt.c
trunk/libc/sysdeps/unix/bsd/ptsname.c
trunk/libc/sysdeps/unix/sysv/linux/Makefile
trunk/libc/sysdeps/unix/sysv/linux/i386/chown.c
trunk/libc/sysdeps/unix/sysv/linux/ifaddrs.c
trunk/libc/sysdeps/unix/sysv/linux/ldsodefs.h
trunk/libc/sysdeps/unix/sysv/linux/mmap64.c
trunk/libc/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h
trunk/libc/sysdeps/unix/sysv/linux/powerpc/init-first.c
trunk/libc/sysdeps/unix/sysv/linux/powerpc/libc-start.c
trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S
trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S
trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S
trunk/libc/sysdeps/unix/sysv/linux/ptsname.c
trunk/libc/sysdeps/unix/sysv/linux/s390/s390-32/chown.c
trunk/libc/sysdeps/unix/sysv/linux/s390/sa_len.c
trunk/libc/sysdeps/unix/sysv/linux/sa_len.c
trunk/libc/sysdeps/unix/sysv/linux/socketcall.h
trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc32/makecontext.c
trunk/libc/sysdeps/wordsize-32/divdi3.c
trunk/libc/sysdeps/x86/fpu/bits/fenv.h
trunk/libc/sysdeps/x86_64/dl-trampoline.S
trunk/libc/sysdeps/x86_64/fpu/fraiseexcpt.c
trunk/libc/sysdeps/x86_64/fpu/libm-test-ulps
trunk/libc/sysdeps/x86_64/multiarch/Makefile
trunk/libc/sysdeps/x86_64/multiarch/ifunc-impl-list.c
trunk/libc/sysdeps/x86_64/multiarch/strcmp-sse42.S
trunk/libc/sysdeps/x86_64/multiarch/strcmp.S
trunk/libc/sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S
Propchange: trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Sep 5 22:41:05 2013
@@ -1,1 +1,1 @@
-/fsf/trunk:15224-23795
+/fsf/trunk:15224-23927
Modified: trunk/libc/ChangeLog
==============================================================================
--- trunk/libc/ChangeLog (original)
+++ trunk/libc/ChangeLog Thu Sep 5 22:41:05 2013
@@ -1,3 +1,503 @@
+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]
+ * sysdeps/ieee754/flt-32/e_lgammaf_r.c (__ieee754_lgammaf_r): Use
+ 2**-30 instead of 2**-70 as threshold for returning -log(|x|).
+ * math/libm-test.inc (lgamma_test_data): Add more tests.
+ * sysdeps/i386/fpu/libm-test-ulps: Update.
+ * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
+
+2013-09-03 OndÃÂej BÃÂlka <neleai@xxxxxxxxx>
+
+ * sysdeps/x86_64/multiarch/strcmp-sse2-unaligned.S: New file.
+ * sysdeps/x86_64/multiarch/ifunc-impl-list.c (__libc_ifunc_impl_list):
+ Add ifunc.
+ * sysdeps/x86_64/multiarch/Makefile (sysdep_routines):
+ Add strcmp-sse2-unaligned
+ * sysdeps/x86_64/multiarch/strcmp.S (strcmp): Add ifunc.
+
+2013-09-02 Mike Frysinger <vapier@xxxxxxxxxx>
+
+ * Versions.def (libc): Add GLIBC_2.19.
+
+2013-09-02 Mike Frysinger <vapier@xxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/tst-fanotify.c: New test.
+ * sysdeps/unix/sysv/linux/Makefile (tests): Add tst-fanotify.
+
+2013-09-02 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ [BZ #14155]
+ * sysdeps/ieee754/flt-32/e_jnf.c (__ieee754_jnf): Use double for
+ intermediate calculations in recurrence.
+ (__ieee754_ynf): Likewise.
+ * math/libm-test.inc (jn_test_data): Do not allow spurious
+ underflow exception. Add more tests.
+ (yn_test_data): Add more tests.
+ * sysdeps/i386/fpu/libm-test-ulps: Update.
+ * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
+
+2013-09-02 OndÃÂej BÃÂlka <neleai@xxxxxxxxx>
+
+ * sysdeps/powerpc/powerpc32/power6/memcpy.S: Fix typo.
+
+2013-08-30 OndÃÂej BÃÂlka <neleai@xxxxxxxxx>
+
+ * csu/init-first.c: Fix then/than typos.
+ * locale/programs/ld-collate.c: Likewise.
+ * locale/programs/linereader.h: Likewise.
+ * manual/charset.texi: Likewise.
+ * manual/filesys.texi: Likewise.
+ * manual/stdio.texi: Likewise.
+ * manual/string.texi: Likewise.
+ * stdlib/fmtmsg.c: Likewise.
+ * sysdeps/i386/stpncpy.S: Likewise.
+ * sysdeps/powerpc/powerpc32/power6/memcpy.S: Likewise.
+ * sysdeps/powerpc/powerpc32/power6/memset.S: Likewise.
+ * sysdeps/powerpc/powerpc64/power6/memcpy.S: Likewise.
+ * sysdeps/powerpc/powerpc64/power6/memset.S: Likewise.
+
+2013-08-30 OndÃÂej BÃÂlka <neleai@xxxxxxxxx>
+
+ * elf/dl-open.c: Fix typos.
+ * iconvdata/gbbig5.c: Likewise.
+ * iconvdata/iso-2022-jp.c: Likewise.
+ * iconv/gconv_int.h: Likewise.
+ * iconv/loop.c: Likewise.
+ * nis/rpcsvc/nis.h: Likewise.
+ * resolv/ns_name.c: Likewise.
+ * stdio-common/vfscanf.c: Likewise.
+ * streams/stropts.h: Likewise.
+ * sunrpc/rpc_thread.c: Likewise.
+ * sysdeps/i386/strpbrk.S: Likewise.
+ * sysdeps/ieee754/k_standard.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/e_expl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/e_expl.c: Likewise.
+ * sysdeps/mach/hurd/dl-sysdep.c: Likewise.
+ * sysdeps/mach/hurd/profil.c: Likewise.
+ * sysdeps/s390/dl-procinfo.h: Likewise.
+ * sysdeps/unix/sysv/linux/i386/chown.c: Likewise.
+ * sysdeps/unix/sysv/linux/s390/s390-32/chown.c: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/sparc32/makecontext.c: Likewise.
+ * sysdeps/x86_64/dl-trampoline.S: Likewise.
+ * sysdeps/x86_64/multiarch/strcmp-sse42.S: Likewise.
+
+2013-08-30 OndÃÂej BÃÂlka <neleai@xxxxxxxxx>
+
+ * sysdeps/x86_64/multiarch/rawmemchr.S: Delete.
+ * sysdeps/x86_64/multiarch/ifunc-impl-list.c: Remove rawmemchr ifunc.
+
+2013-08-29 OndÃÂej BÃÂlka <neleai@xxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/powerpc/aix/aix-dirent.h: Remove
+ aix specific files.
+ * sysdeps/unix/sysv/linux/powerpc/aix/aix-errno.h: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/aix/aix-stat.h: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/aix/aix-termios.h: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/aix/direntconv.c: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/aix/errnoconv.c: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/aix/statconv.c: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/aix/tcgetattr.c: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/aix/tcsetattr.c: Likewise.
+
+2013-08-29 Thomas Schwinge <thomas@xxxxxxxxxxxxxxxx>
+ Roland McGrath <roland@xxxxxxxxxxxxx>
+
+ * sysdeps/mach/hurd/errnos.awk (BEGIN): Emit ESUCCESS.
+ * sysdeps/mach/hurd/bits/errno.h: Regenerate.
+
+2013-08-29 Samuel Thibault <samuel.thibault@xxxxxxxxxxxx>
+
+ * sysdeps/mach/hurd/i386/init-first.c (init1): Use
+ __executable_start symbol instead of _start.
+
+2013-08-29 Thomas Schwinge <thomas@xxxxxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/ldsodefs.h (VALID_ELF_HEADER)
+ (VALID_ELF_OSABI, VALID_ELF_ABIVERSION, MORE_ELF_HEADER_DATA):
+ Move macros to...
+ * sysdeps/gnu/ldsodefs.h: ... this new file.
+
+ * sysdeps/unix/sysv/linux/ldsodefs.h (VALID_ELF_OSABI)
+ (VALID_ELF_ABIVERSION, MORE_ELF_HEADER_DATA): Use ELFOSABI_GNU
+ instead of ELFOSABI_LINUX.
+
+ [BZ #15522] strtod ("nan(N)") returning a sNaN in some cases
+ * stdlib/strtof_l.c (SET_MANTISSA): Rewrite.
+ * stdlib/strtod_l.c (SET_MANTISSA): Likewise.
+ * sysdeps/ieee754/ldbl-64-128/strtold_l.c (SET_MANTISSA):
+ Likewise.
+ * sysdeps/ieee754/ldbl-96/strtold_l.c (SET_MANTISSA): Likewise.
+ * sysdeps/ieee754/ldbl-128/strtold_l.c (SET_MANTISSA): Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/strtold_l.c (SET_MANTISSA):
+ Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/ieee754.h
+ (ibm_extended_long_double): Add ieee_nan member.
+ * stdlib/tst-strtod6.c (test): New function, renamed from do_test.
+ (do_test): New function.
+
+ * math/basic-test.c (TEST_CONVERT): New macro, renamed from
+ TEST_TRUNC.
+ (convert_dfsf_test, convert_tfsf_test, convert_tfdf_test): New
+ functions, renamed from truncdfsf_test, trunctfsf_test,
+ trunctfdf_test.
+ (convert_sfdf_test, convert_sftf_test, convert_dftf_test): New
+ functions.
+ (do_test): Run all these.
+
+2013-08-29 OndÃÂej BÃÂlka <neleai@xxxxxxxxx>
+
+ * argp/argp-help.c: Fix typos.
+ * argp/argp-parse.c: Likewise.
+ * debug/backtracesyms.c: Likewise.
+ * elf/elf.h: Likewise.
+ * malloc/malloc.c: Likewise.
+ * nis/nis_print.c: Likewise.
+ * resolv/res_comp.c: Likewise.
+ * stdlib/stdlib.h: Likewise.
+ * sunrpc/clnt_tcp.c: Likewise.
+ * sunrpc/clnt_udp.c: Likewise.
+ * sunrpc/clnt_unix.c: Likewise.
+ * sysdeps/unix/bsd/ptsname.c: Likewise.
+ * sysdeps/unix/sysv/linux/ifaddrs.c: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/libc-start.c: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S:
+ Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S:
+ Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S:
+ Likewise.
+ * sysdeps/unix/sysv/linux/ptsname.c: Likewise.
+
+2013-08-28 Siddhesh Poyarekar <siddhesh@xxxxxxxxxx>
+
+ * nscd/aicache.c (addhstaiX): Use __glibc_unlikely.
+ * sysdeps/posix/getaddrinfo.c (gaih_inet): Likewise.
+
+2013-08-27 Mike Frysinger <vapier@xxxxxxxxxx>
+
+ [BZ #15897]
+ * dlfcn/Makefile (tests): Add bug-dl-leaf.
+ (modules-names): Add bug-dl-leaf-lib and bug-dl-leaf-lib-cb.
+ ($(objpfx)bug-dl-leaf): New rule.
+ ($(objpfx)bug-dl-leaf.so): Likewise.
+ ($(objpfx)bug-dl-leaf.out): Likewise.
+ ($(objpfx)bug-dl-leaf-lib.so): Likewise.
+ ($(objpfx)bug-dl-leaf-lib-cb.so): Likewise.
+ * dlfcn/bug-dl-leaf.c: New test.
+ * dlfcn/bug-dl-leaf-lib.c: Likewise.
+ * dlfcn/bug-dl-leaf-lib-cb.c: Likewise.
+ * dlfcn/dlfcn.h (dlopen): Change __THROW to __THROWNL.
+ (dlclose): Likewise.
+ (dlmopen): Likewise.
+
+2013-08-27 Roland McGrath <roland@xxxxxxxxxxxxx>
+
+ * include/netdb.h [!_ISOMAC]:
+ Don't include <tls.h>.
+ (h_errno, __libc_h_errno): Move declaration and macros out of
+ [_LIBC_REENTRANT].
+
+ * include/resolv.h [_RESOLV_H_]:
+ Don't include <tls.h>.
+ (__resp, _res): Move declaration and macro out of [_LIBC_REENTRANT].
+ * resolv/res_libc.c: Don't include <tls.h>.
+ (_res): Use __attribute__ ((nocommon)) in place of
+ __attribute__ ((section (".bss"))).
+
+ * Makefile ($(common-objpfx)linkobj/libc_pic.a):
+ If [sunrpc not in $(subdirs)], define to use libc_pic.a directly.
+
+ * resolv/res_send.c (send_dg): Don't try to use ioctl unless [FIONREAD].
+
+ * resolv/res_hconf.c [!NOT_IN_libc] (ifaddrs): Declare
+ only under [SIOCGIFCONF && SIOCGIFNETMASK].
+
+ * resolv/res_mkquery.c: Include <sys/time.h>.
+
+ * inet/ifreq.c: Moved to ...
+ * sysdeps/unix/ifreq.c: ... here.
+ * inet/ifreq.c: New file, true stub version.
+
+ * socket/sa_len.c: New file.
+ * socket/Makefile (aux): Add it.
+ * sysdeps/unix/sysv/linux/Makefile
+ [$(subdir) = socket] (sysdep_routines): Don't add sa_len here.
+ * sysdeps/unix/sysv/linux/sa_len.c: Just #define HAVE_NET*_H
+ and #include <socket/sa_len.c>.
+ * sysdeps/unix/sysv/linux/s390/sa_len.c: Just #define
+ HAVE_NETIUCV_IUCV_H and #include <sysdeps/unix/sysv/linux/sa_len.c>.
+
+ * sysdeps/unix/bsd/bsd4.4/bits/socket.h: Moved to ...
+ * bits/socket.h: ... here.
+
+ * sysdeps/unix/bsd/bsd4.4/bits/socket.h (enum __socket_type):
+ Add SOCK_CLOEXEC, SOCK_NONBLOCK with values from FreeBSD.
+ (SOCK_MAX, SOCK_TYPE_MASK): New macros.
+
+2013-08-27 Andreas Schwab <schwab@xxxxxxx>
+
+ [BZ #15736]
+ * locale/categories.def (LC_CTYPE): Add "nonascii-case" element.
+ * string/Makefile (test-strcasecmp-ENV, test-strncasecmp-ENV)
+ (test-strcasecmp-ifunc-ENV, test-strncasecmp-ifunc-ENV): Define.
+ * string/test-strcasecmp.c (test_main): Run tests in several
+ locales.
+ * string/test-strncasecmp.c (test_main): Likewise.
+
+ * sysdeps/i386/i686/multiarch/strcmp-sse4.S (__strcasecmp_sse4_2)
+ (__strncasecmp_sse4_2) [PIC]: Restore %ebx before falling through
+ to __strcasecmp_nonascii and __strncasecmp_nonascii.
+ * sysdeps/i386/i686/multiarch/strcmp-ssse3.S (__strcasecmp_ssse3)
+ (__strncasecmp_ssse3) [PIC]: Likewise.
+
+2013-08-26 Roland McGrath <roland@xxxxxxxxxxxxx>
+
+ * io/lxstat64.c: Just call __xstat64, for parity with stub __lxstat.
+
+ * nss/nss_files/files-key.c: Include <rpc/des_crypt.h>
+ instead of explicitly declaring xdecrypt.
+ * nis/nss_nis/nis-publickey.c: Likewise.
+
+2013-08-26 Siddhesh Poyarekar <siddhesh@xxxxxxxxxx>
+
+ [BZ #15890]
+ * nscd/aicache.c: Include res_hconf.h.
+ (addhstaiX): Initialize res_hconf.
+
+2013-08-26 Andreas Schwab <schwab@xxxxxxx>
+
+ * stdlib/Makefile (LDFLAGS-tst-tls-atexit): Remove.
+ ($(objpfx)tst-tls-atexit): Add dependencies here instead.
+
+2013-08-26 Siddhesh Poyarekar <siddhesh@xxxxxxxxxx>
+
+ * nscd/aicache.c (addhstaiX): Fix indentation.
+
+2013-08-25 Mike Frysinger <vapier@xxxxxxxxxx>
+
+ * configure.ac: Quote $build_pt_chown test.
+ * configure: Regenerated.
+
+2013-08-23 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ [BZ #15532]
+ * math/s_cexp.c (__cexp): Return NaN + i0 for NaN + i0 argument.
+ * math/s_cexpf.c (__cexpf): Likewise.
+ * math/s_cexpl.c (__cexpl): Likewise.
+ * math/libm-test.inc (cexp_test_data): Correct expected return
+ value for NaN + i0. Add another test.
+
+2013-08-22 David S. Miller <davem@xxxxxxxxxxxxx>
+
+ * po/ca.po: Update Catalan translation from translation project.
+ * po/uk.po: Add Ukrainian translations from translation project.
+
+2013-08-21 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ [BZ #15797]
+ * math/s_fdim.c (__fdim): Check for infinite arguments if result
+ is infinite, not alongside NaN test.
+ * math/s_fdimf.c (__fdimf): Likewise.
+ * math/s_fdiml.c (__fdiml): Likewise.
+ * math/libm-test.inc (fdim_test_data): Add more tests. Test that
+ errno is unchanged.
+
+2013-08-21 OndÃÂej BÃÂlka <neleai@xxxxxxxxx>
+
+ * argp/argp-help.c: Fix typos.
+ * crypt/speeds.c: Likewise.
+ * csu/check_fds.c: Likewise.
+ * elf/dl-load.c: Likewise.
+ * elf/dl-open.c: Likewise.
+ * elf/reldep3.c: Likewise.
+ * elf/reldep.c: Likewise.
+ * elf/sprof.c: Likewise.
+ * iconv/iconv_charmap.c: Likewise.
+ * iconv/skeleton.c: Likewise.
+ * iconv/strtab.c: Likewise.
+ * io/lockf64.c: Likewise.
+ * libio/libioP.h: Likewise.
+ * resolv/gai_notify.c: Likewise.
+ * resolv/ns_name.c: Likewise.
+ * resolv/ns_samedomain.c: Likewise.
+ * resolv/res_send.c: Likewise.
+ * stdlib/random.c: Likewise.
+ * sunrpc/rpc/xdr.h: Likewise.
+ * sysdeps/i386/fpu/fraiseexcpt.c: Likewise.
+ * sysdeps/i386/i686/multiarch/memcmp-sse4.S: Likewise.
+ * sysdeps/i386/i686/multiarch/memset-sse2-rep.S: Likewise.
+ * sysdeps/i386/i686/multiarch/memset-sse2.S: Likewise.
+ * sysdeps/i386/i686/multiarch/strcat-sse2.S: Likewise.
+ * sysdeps/i386/i686/multiarch/strcmp-sse4.S: Likewise.
+ * sysdeps/i386/i686/multiarch/strcmp-ssse3.S: Likewise.
+ * sysdeps/i386/i686/multiarch/strcpy-sse2.S: Likewise.
+ * sysdeps/mach/hurd/check_fds.c: Likewise.
+ * sysdeps/powerpc/powerpc32/cell/memcpy.S: Likewise.
+ * sysdeps/powerpc/powerpc32/fpu/setjmp.S: Likewise.
+ * sysdeps/powerpc/powerpc32/power4/memcmp.S: Likewise.
+ * sysdeps/powerpc/powerpc32/power7/memcmp.S: Likewise.
+ * sysdeps/powerpc/powerpc32/setjmp.S: Likewise.
+ * sysdeps/powerpc/powerpc64/cell/memcpy.S: Likewise.
+ * sysdeps/pthread/aio_notify.c: Likewise.
+ * sysdeps/sparc/fpu/fraiseexcpt.c: Likewise.
+ * sysdeps/unix/sysv/linux/socketcall.h: Likewise.
+ * sysdeps/x86_64/fpu/fraiseexcpt.c: Likewise.
+ * sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S: Likewise.
+ * sysdeps/x86/fpu/bits/fenv.h: Likewise.
+
+2013-08-21 Liubov Dmitrieva <liubov.dmitrieva@xxxxxxxxx>
+
+ * sysdeps/i386/i686/multiarch/strcmp.S: Skip SSE4_2
+ version if bit_Slow_SSE4_2 is set.
+ * sysdeps/i386/i686/multiarch/strncase.S: Likewise.
+ * sysdeps/i386/i686/multiarch/strcasecmp.S: Likewise.
+
+2013-07-23 Adhemerval Zanella <azanella@xxxxxxxxxxxxxxxxxx>
+
+ [BZ #15867]
+ * sysdeps/powerpc/powerpc32/backtrace.c (__backtrace): Handle signal
+ trampoline stack frame information.
+ * sysdeps/powerpc/powerpc64/backtrace.c (__backtrace): Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h
+ (__vdso_sigtramp_rt64): New variable: PPC64 signal trampoline.
+ (__vdso_sigtramp32): New variable: PPC32 signal trampoline.
+ (__vdso_sigtramp_rt32): New variable: PPC32 signal trampoline.
+ * sysdeps/unix/sysv/linux/powerpc/init-first.c
+ (_libc_vdso_platform_setup): Initialize the signal trampolines.
+ * debug/tst-backtrace5.c (fn): Add an option set modify sigaction
+ sa_flags value.
+ * debug/tst-backtrace6.c: New file: check backtrace for signal frames,
+ interrupting a syscall and set with option SA_SIGINFO.
+
+2013-08-20 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ [BZ #15531]
+ * math/s_cproj.c (__cproj): Only return an infinity if one part of
+ argument is infinite.
+ * math/s_cprojf.c (__cprojf): Likewise.
+ * math/s_cprojl.c (__cprojl): Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/s_cprojl.c (__cprojl): Likewise.
+ * math/libm-test.inc (cproj_test_data): Add more tests.
+
+ * sysdeps/unix/sysv/linux/mmap64.c: Include <string.h>.
+
+ * sysdeps/unix/sysv/linux/mmap64.c (__mmap64)
+ [MMAP2_PAGE_SHIFT == -1]: Use __getpagesize to determine page
+ size. Use __ffs to determine corresponding shift.
+
+2013-08-20 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+ Roland McGrath <roland@xxxxxxxxxxxxx>
+
+ * Makefile (INSTALL): Remove trailing blank lines from output of
+ makeinfo.
+
2013-08-20 Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
* sysdeps/unix/sysv/linux/s390/sys/procfs.h (struct elf_prstatus):
Modified: trunk/libc/INSTALL
==============================================================================
--- trunk/libc/INSTALL (original)
+++ trunk/libc/INSTALL Thu Sep 5 22:41:05 2013
@@ -122,11 +122,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: trunk/libc/Makefile
==============================================================================
--- trunk/libc/Makefile (original)
+++ trunk/libc/Makefile Thu Sep 5 22:41:05 2013
@@ -147,16 +147,22 @@
$(shlib-lds)
$(build-shlib)
+ifeq (,$(filter sunrpc,$(subdirs)))
+$(common-objpfx)linkobj/libc_pic.a: $(common-objpfx)libc_pic.a
+ $(make-target-directory)
+ ln -f $< $@
+else
$(common-objpfx)linkobj/libc_pic.a: $(common-objpfx)libc_pic.a \
$(common-objpfx)sunrpc/librpc_compat_pic.a
- $(..)./scripts/mkinstalldirs $(common-objpfx)linkobj
+ $(make-target-directory)
(cd $(common-objpfx)linkobj; \
$(AR) x ../libc_pic.a; \
rm $$($(AR) t ../sunrpc/librpc_compat_pic.a | sed 's/^compat-//'); \
$(AR) x ../sunrpc/librpc_compat_pic.a; \
$(AR) cr libc_pic.a *.os; \
rm *.os)
-endif
+endif # $(subdirs) contains sunrpc
+endif # $(build-shared)
# This is a handy script for running any dynamically linked program against
@@ -423,8 +429,13 @@
INSTALL: manual/install.texi manual/macros.texi \
$(common-objpfx)manual/pkgvers.texi
makeinfo --no-validate --plaintext --no-number-sections \
- -I$(common-objpfx)manual $< -o $@
- -chmod a-w $@
+ -I$(common-objpfx)manual $< -o $@-tmp
+ $(AWK) 'NF == 0 { ++n; next } \
+ NF != 0 { while (n-- > 0) print ""; n = 0; print }' \
+ < $@-tmp > $@-tmp2
+ rm -f $@-tmp
+ -chmod a-w $@-tmp2
+ mv -f $@-tmp2 $@
$(common-objpfx)manual/%: FORCE
$(MAKE) $(PARALLELMFLAGS) -C manual $@
FORCE:
Modified: trunk/libc/Makerules
==============================================================================
--- trunk/libc/Makerules (original)
+++ trunk/libc/Makerules Thu Sep 5 22:41:05 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.
@@ -419,9 +419,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))))
@@ -594,7 +594,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
@@ -1189,7 +1189,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: trunk/libc/NEWS
==============================================================================
--- trunk/libc/NEWS (original)
+++ trunk/libc/NEWS Thu Sep 5 22:41:05 2013
@@ -9,11 +9,18 @@
* The following bugs are resolved with this release:
- 14699, 15749
+ 14155, 14699, 15427, 15522, 15531, 15532, 15736, 15749, 15797, 15867,
+ 15886, 15887, 15890, 15897, 15905, 15909, 15921.
* CVE-2013-4237 The readdir_r function could write more than NAME_MAX bytes
to the d_name member of struct dirent, or omit the terminating NUL
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: trunk/libc/Versions.def
==============================================================================
--- trunk/libc/Versions.def (original)
+++ trunk/libc/Versions.def Thu Sep 5 22:41:05 2013
@@ -35,6 +35,7 @@
GLIBC_2.16
GLIBC_2.17
GLIBC_2.18
+ GLIBC_2.19
HURD_CTHREADS_0.3
%ifdef EXPORT_UNWIND_FIND_FDE
GCC_3.0
Modified: trunk/libc/argp/argp-help.c
==============================================================================
--- trunk/libc/argp/argp-help.c (original)
+++ trunk/libc/argp/argp-help.c Thu Sep 5 22:41:05 2013
@@ -161,7 +161,7 @@
};
#define nuparam_names (sizeof (uparam_names) / sizeof (uparam_names[0]))
-/* Read user options from the environment, and fill in UPARAMS appropiately. */
+/* Read user options from the environment, and fill in UPARAMS appropriately. */
static void
fill_in_uparams (const struct argp_state *state)
{
@@ -276,11 +276,11 @@
-xARG, -yARG, --long1=ARG, --long2=ARG Documentation...
Where ARG will be omitted if there's no argument, for this option, or
- will be surrounded by "[" and "]" appropiately if the argument is
- optional. The documentation string is word-wrapped appropiately, and if
+ will be surrounded by "[" and "]" appropriately if the argument is
+ optional. The documentation string is word-wrapped appropriately, and if
the list of options is long enough, it will be started on a separate line.
If there are no short options for a given option, the first long option is
- indented slighly in a way that's supposed to make most long options appear
+ indented slightly in a way that's supposed to make most long options appear
to be in a separate column.
For example, the following output (from ps):
@@ -358,7 +358,7 @@
/* A pointers into the HOL's short_options field, to the first short option
letter for this entry. The order of the characters following this point
corresponds to the order of options pointed to by OPT, and there are at
- most NUM. A short option recorded in a option following OPT is only
+ most NUM. A short option recorded in an option following OPT is only
valid if it occurs in the right place in SHORT_OPTIONS (otherwise it's
probably been shadowed by some other entry). */
char *short_options;
@@ -737,12 +737,12 @@
if (entry1->cluster != entry2->cluster)
{
/* The entries are not within the same cluster, so we can't compare them
- directly, we have to use the appropiate clustering level too. */
+ directly, we have to use the appropriate clustering level too. */
if (! entry1->cluster)
/* ENTRY1 is at the `base level', not in a cluster, so we have to
compare it's group number with that of the base cluster in which
ENTRY2 resides. Note that if they're in the same group, the
- clustered option always comes laster. */
+ clustered option always comes last. */
return group_cmp (group1, hol_cluster_base (entry2->cluster)->group, -1);
else if (! entry2->cluster)
/* Likewise, but ENTRY2's not in a cluster. */
@@ -999,7 +999,7 @@
return doc;
}
-/* Prints STR as a header line, with the margin lines set appropiately, and
+/* Prints STR as a header line, with the margin lines set appropriately, and
notes the fact that groups should be separated with a blank line. ARGP is
the argp that should dictate any user doc filtering to take place. Note
that the previous wrap margin isn't restored, but the left margin is reset
Modified: trunk/libc/argp/argp-parse.c
==============================================================================
--- trunk/libc/argp/argp-parse.c (original)
+++ trunk/libc/argp/argp-parse.c Thu Sep 5 22:41:05 2013
@@ -410,7 +410,7 @@
return group;
}
-/* Find the merged set of getopt options, with keys appropiately prefixed. */
+/* Find the merged set of getopt options, with keys appropriately prefixed. */
static void
parser_convert (struct parser *parser, const struct argp *argp, int flags)
{
Modified: trunk/libc/benchtests/Makefile
==============================================================================
--- trunk/libc/benchtests/Makefile (original)
+++ trunk/libc/benchtests/Makefile Thu Sep 5 22:41:05 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: trunk/libc/benchtests/bench-memccpy.c
==============================================================================
--- trunk/libc/benchtests/bench-memccpy.c (original)
+++ trunk/libc/benchtests/bench-memccpy.c Thu Sep 5 22:41:05 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: trunk/libc/benchtests/bench-memchr.c
==============================================================================
--- trunk/libc/benchtests/bench-memchr.c (original)
+++ trunk/libc/benchtests/bench-memchr.c Thu Sep 5 22:41:05 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: trunk/libc/benchtests/bench-memcmp.c
==============================================================================
--- trunk/libc/benchtests/bench-memcmp.c (original)
+++ trunk/libc/benchtests/bench-memcmp.c Thu Sep 5 22:41:05 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: trunk/libc/benchtests/bench-memcpy.c
==============================================================================
--- trunk/libc/benchtests/bench-memcpy.c (original)
+++ trunk/libc/benchtests/bench-memcpy.c Thu Sep 5 22:41:05 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: trunk/libc/benchtests/bench-memmem.c
==============================================================================
--- trunk/libc/benchtests/bench-memmem.c (original)
+++ trunk/libc/benchtests/bench-memmem.c Thu Sep 5 22:41:05 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: trunk/libc/benchtests/bench-memmove.c
==============================================================================
--- trunk/libc/benchtests/bench-memmove.c (original)
+++ trunk/libc/benchtests/bench-memmove.c Thu Sep 5 22:41:05 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: trunk/libc/benchtests/bench-memset.c
==============================================================================
--- trunk/libc/benchtests/bench-memset.c (original)
+++ trunk/libc/benchtests/bench-memset.c Thu Sep 5 22:41:05 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: trunk/libc/benchtests/bench-rawmemchr.c
==============================================================================
--- trunk/libc/benchtests/bench-rawmemchr.c (original)
+++ trunk/libc/benchtests/bench-rawmemchr.c Thu Sep 5 22:41:05 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: trunk/libc/benchtests/bench-strcasecmp.c
==============================================================================
--- trunk/libc/benchtests/bench-strcasecmp.c (original)
+++ trunk/libc/benchtests/bench-strcasecmp.c Thu Sep 5 22:41:05 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: trunk/libc/benchtests/bench-strcasestr.c
==============================================================================
--- trunk/libc/benchtests/bench-strcasestr.c (original)
+++ trunk/libc/benchtests/bench-strcasestr.c Thu Sep 5 22:41:05 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: trunk/libc/benchtests/bench-strcat.c
==============================================================================
--- trunk/libc/benchtests/bench-strcat.c (original)
+++ trunk/libc/benchtests/bench-strcat.c Thu Sep 5 22:41:05 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: trunk/libc/benchtests/bench-strchr.c
==============================================================================
--- trunk/libc/benchtests/bench-strchr.c (original)
+++ trunk/libc/benchtests/bench-strchr.c Thu Sep 5 22:41:05 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: trunk/libc/benchtests/bench-strcmp.c
==============================================================================
--- trunk/libc/benchtests/bench-strcmp.c (original)
+++ trunk/libc/benchtests/bench-strcmp.c Thu Sep 5 22:41:05 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: trunk/libc/benchtests/bench-strcpy.c
==============================================================================
--- trunk/libc/benchtests/bench-strcpy.c (original)
+++ trunk/libc/benchtests/bench-strcpy.c Thu Sep 5 22:41:05 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: trunk/libc/benchtests/bench-strcpy_chk.c
==============================================================================
--- trunk/libc/benchtests/bench-strcpy_chk.c (original)
+++ trunk/libc/benchtests/bench-strcpy_chk.c Thu Sep 5 22:41:05 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: trunk/libc/benchtests/bench-string.h
==============================================================================
--- trunk/libc/benchtests/bench-string.h (original)
+++ trunk/libc/benchtests/bench-string.h Thu Sep 5 22:41:05 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: trunk/libc/benchtests/bench-strlen.c
==============================================================================
--- trunk/libc/benchtests/bench-strlen.c (original)
+++ trunk/libc/benchtests/bench-strlen.c Thu Sep 5 22:41:05 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: trunk/libc/benchtests/bench-strncasecmp.c
==============================================================================
--- trunk/libc/benchtests/bench-strncasecmp.c (original)
+++ trunk/libc/benchtests/bench-strncasecmp.c Thu Sep 5 22:41:05 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: trunk/libc/benchtests/bench-strncat.c
==============================================================================
--- trunk/libc/benchtests/bench-strncat.c (original)
+++ trunk/libc/benchtests/bench-strncat.c Thu Sep 5 22:41:05 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: trunk/libc/benchtests/bench-strncmp.c
==============================================================================
--- trunk/libc/benchtests/bench-strncmp.c (original)
+++ trunk/libc/benchtests/bench-strncmp.c Thu Sep 5 22:41:05 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: trunk/libc/benchtests/bench-strncpy.c
==============================================================================
--- trunk/libc/benchtests/bench-strncpy.c (original)
+++ trunk/libc/benchtests/bench-strncpy.c Thu Sep 5 22:41:05 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: trunk/libc/benchtests/bench-strnlen.c
==============================================================================
--- trunk/libc/benchtests/bench-strnlen.c (original)
+++ trunk/libc/benchtests/bench-strnlen.c Thu Sep 5 22:41:05 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: trunk/libc/benchtests/bench-strpbrk.c
==============================================================================
--- trunk/libc/benchtests/bench-strpbrk.c (original)
+++ trunk/libc/benchtests/bench-strpbrk.c Thu Sep 5 22:41:05 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: trunk/libc/benchtests/bench-strrchr.c
==============================================================================
--- trunk/libc/benchtests/bench-strrchr.c (original)
+++ trunk/libc/benchtests/bench-strrchr.c Thu Sep 5 22:41:05 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: trunk/libc/benchtests/bench-strspn.c
==============================================================================
--- trunk/libc/benchtests/bench-strspn.c (original)
+++ trunk/libc/benchtests/bench-strspn.c Thu Sep 5 22:41:05 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: trunk/libc/benchtests/bench-strstr.c
==============================================================================
--- trunk/libc/benchtests/bench-strstr.c (original)
+++ trunk/libc/benchtests/bench-strstr.c Thu Sep 5 22:41:05 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: trunk/libc/benchtests/bench-timing.h
==============================================================================
--- trunk/libc/benchtests/bench-timing.h (original)
+++ trunk/libc/benchtests/bench-timing.h Thu Sep 5 22:41:05 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: trunk/libc/bits/socket.h
==============================================================================
--- trunk/libc/bits/socket.h (original)
+++ trunk/libc/bits/socket.h Thu Sep 5 22:41:05 2013
@@ -1,11 +1,11 @@
-/* System-specific socket constants and types. Generic/4.3 BSD version.
+/* System-specific socket constants and types. 4.4 BSD version.
Copyright (C) 1991-2013 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
+ modify it under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation; either version 2.1 of the
+ License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -13,21 +13,22 @@
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ License along with the GNU C Library; see the file COPYING.LIB. If
+ not, see <http://www.gnu.org/licenses/>. */
#ifndef __BITS_SOCKET_H
#define __BITS_SOCKET_H 1
-#if !defined _SYS_SOCKET_H && !defined _NETINET_IN_H
+#ifndef _SYS_SOCKET_H
# error "Never include <bits/socket.h> directly; use <sys/socket.h> instead."
#endif
-#include <limits.h>
+#define __need_size_t
+#define __need_NULL
+#include <stddef.h>
+
+#include <limits.h> /* XXX Is this allowed? */
#include <bits/types.h>
-
-#define __need_size_t
-#include <stddef.h>
/* Type for length arguments in socket calls. */
#ifndef __socklen_t_defined
@@ -49,9 +50,25 @@
#define SOCK_RAW SOCK_RAW
SOCK_RDM = 4, /* Reliably-delivered messages. */
#define SOCK_RDM SOCK_RDM
- SOCK_SEQPACKET = 5 /* Sequenced, reliable, connection-based,
+ SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based,
datagrams of fixed maximum length. */
#define SOCK_SEQPACKET SOCK_SEQPACKET
+
+#define SOCK_MAX (SOCK_SEQPACKET + 1)
+ /* Mask which covers at least up to SOCK_MASK-1.
+ The remaining bits are used as flags. */
+#define SOCK_TYPE_MASK 0xf
+
+ /* Flags to be ORed into the type parameter of socket and socketpair and
+ used for the flags parameter of accept4. */
+
+ SOCK_CLOEXEC = 0x10000000, /* Atomically set close-on-exec flag for the
+ new descriptor(s). */
+#define SOCK_CLOEXEC SOCK_CLOEXEC
+
+ SOCK_NONBLOCK = 0x20000000 /* Atomically mark descriptor(s) as
+ non-blocking. */
+#define SOCK_NONBLOCK SOCK_NONBLOCK
};
/* Protocol families. */
@@ -120,6 +137,8 @@
#define AF_INET6 PF_INET6
#define AF_MAX PF_MAX
+/* Maximum queue length specifiable by listen. */
+#define SOMAXCONN 128 /* 5 on the origional 4.4 BSD. */
/* Get the definition of the macro to define the common sockaddr members. */
#include <bits/sockaddr.h>
@@ -167,8 +186,10 @@
#define MSG_CTRUNC MSG_CTRUNC
MSG_WAITALL = 0x40, /* Wait for full request or error. */
#define MSG_WAITALL MSG_WAITALL
- MSG_DONTWAIT = 0x80 /* This message should be nonblocking. */
+ MSG_DONTWAIT = 0x80, /* This message should be nonblocking. */
#define MSG_DONTWAIT MSG_DONTWAIT
+ MSG_NOSIGNAL = 0x0400 /* Do not generate SIGPIPE on EPIPE. */
+#define MSG_NOSIGNAL MSG_NOSIGNAL
};
@@ -176,18 +197,105 @@
`sendmsg' and received by `recvmsg'. */
struct msghdr
{
- __ptr_t msg_name; /* Address to send to/receive from. */
+ void *msg_name; /* Address to send to/receive from. */
socklen_t msg_namelen; /* Length of address data. */
struct iovec *msg_iov; /* Vector of data to send/receive into. */
int msg_iovlen; /* Number of elements in the vector. */
- __ptr_t msg_accrights; /* Access rights information. */
- socklen_t msg_accrightslen; /* Length of access rights information. */
+ void *msg_control; /* Ancillary data (eg BSD filedesc passing). */
+ socklen_t msg_controllen; /* Ancillary data buffer length. */
int msg_flags; /* Flags in received message. */
};
+/* Structure used for storage of ancillary data object information. */
+struct cmsghdr
+ {
+ socklen_t cmsg_len; /* Length of data in cmsg_data plus length
+ of cmsghdr structure. */
+ int cmsg_level; /* Originating protocol. */
+ int cmsg_type; /* Protocol specific type. */
+#if (!defined __STRICT_ANSI__ && __GNUC__ >= 2) || __STDC_VERSION__ >= 199901L
+ __extension__ unsigned char __cmsg_data __flexarr; /* Ancillary data. */
+#endif
+ };
+
+/* Ancillary data object manipulation macros. */
+#if (!defined __STRICT_ANSI__ && __GNUC__ >= 2) || __STDC_VERSION__ >= 199901L
+# define CMSG_DATA(cmsg) ((cmsg)->__cmsg_data)
+#else
+# define CMSG_DATA(cmsg) ((unsigned char *) ((struct cmsghdr *) (cmsg) + 1))
+#endif
+
+#define CMSG_NXTHDR(mhdr, cmsg) __cmsg_nxthdr (mhdr, cmsg)
+
+#define CMSG_FIRSTHDR(mhdr) \
+ ((size_t) (mhdr)->msg_controllen >= sizeof (struct cmsghdr) \
+ ? (struct cmsghdr *) (mhdr)->msg_control : (struct cmsghdr *) NULL)
+
+#define CMSG_ALIGN(len) (((len) + sizeof (size_t) - 1) \
+ & (size_t) ~(sizeof (size_t) - 1))
+#define CMSG_SPACE(len) (CMSG_ALIGN (len) \
[... 14414 lines stripped ...]
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits