diff options
author | joseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d> | 2013-11-06 23:03:08 +0000 |
---|---|---|
committer | joseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d> | 2013-11-06 23:03:08 +0000 |
commit | 036dfd44bcc8ed8e97dcd9c763f61d3b59796941 (patch) | |
tree | 27fe47c83800c73d61262ea4e70b211f6753e516 | |
parent | fe2ed5aaa408e1ab996a9fe1595a05634208a79c (diff) |
Merge changes between r24305 and r24468 from /fsf/trunk.
git-svn-id: svn://svn.eglibc.org/trunk@24469 7b3dc134-2b1b-0410-93df-9e9f96275f8d
239 files changed, 3095 insertions, 576 deletions
diff --git a/libc/ChangeLog b/libc/ChangeLog index cb3651ac8..3b65d5a7b 100644 --- a/libc/ChangeLog +++ b/libc/ChangeLog @@ -1,3 +1,281 @@ +2013-11-06 David S. Miller <davem@davemloft.net> + + [BZ #15985] + * sysdeps/sparc/sparc32/fpu/s_fdim.S (__fdim): Do not use fnegd + on pre-v9 cpus, use a fnegs+fmovs sequence instead. + +2013-11-06 Will Newton <will.newton@linaro.org> + + * manual/memory.texi (Malloc Examples): Remove register + keyword from examples. + +2013-11-04 Chris Leonard <cjl@sugarlabs.org> + + * locale/iso-639.def: Correct Walaita (wal) and add Unami Delaware (unm). + +2013-11-04 Joseph Myers <joseph@codesourcery.com> + + * include/stdc-predef.h [__GCC_IEC_559] (__STDC_IEC_559__): Define + depending on [__GCC_IEC_559 > 0]. + [__GCC_IEC_559_COMPLEX] (__STDC_IEC_559_COMPLEX__): Define + depending on [__GCC_IEC_559_COMPLEX > 0]. + +2013-11-03 Chris Leonard <cjl@sugarlabs.org> + + * locale/iso-639.def: Add Quechua, Southern (quz) and Silesian (szl) + to iso-639.def. + +2013-11-03 Ondřej Bílka <neleai@seznam.cz> + + * elf/rtld.c: Remove unused NONTLS_INIT_TP. + +2013-11-01 Ondřej Bílka <neleai@seznam.cz> + + [BZ #16112] + * malloc/malloc (malloc_info): Do not handle first bin as + special case. + +2013-11-01 Chris Leonard <cjl@sugarlabs.org> + + * locale/iso-639.def: Add Central Nahuatl (nhn). + +2013-11-01 Bruno Haible <bruno@clisp.org> + + [BZ #7003] + * manual/math.texi (BSD Random): Specify range upper bound as + in POSIX. + +2013-10-31 Chris Leonard <cjl@sugarlabs.org> + + * locale/iso-639.def: Add Meadow Mari (mhr). + +2013-10-31 Ondřej Bílka <neleai@seznam.cz> + + [BZ #14752], [BZ #15763] + * sysdeps/unix/sysv/linux/shm_open.c (shm_open, shm_unlink): + Validate name. + * rt/tst_shm.c: Add test for escaping directory. + +2013-10-31 Andreas Schwab <schwab@suse.de> + + [BZ #15917] + * stdio-common/vfscanf.c (_IO_vfwscanf): Handle leading '0' not + followed by 'x' as part of digit sequence. + * stdio-common/tst-sscanf.c (double_tests2): New tests. + +2013-10-31 Marc-Antoine Perennou <Marc-Antoine@Perennou.com> + + [BZ #16037] + * configure.ac: allow GNU Make 4.0 and greater. + * configure: Regenerated. + +2013-10-30 Will Newton <will.newton@linaro.org> + + [BZ #16038] + * malloc/hooks.c (memalign_check): Limit alignment to the + maximum representable power of two. + * malloc/malloc.c (__libc_memalign): Likewise. + * malloc/tst-memalign.c (do_test): Add test for very + large alignment values. + * malloc/tst-posix_memalign.c (do_test): Likewise. + +2013-10-30 Ondřej Bílka <neleai@seznam.cz> + + [BZ #11087] + * malloc/malloc.c (sysmalloc): Compute statistics atomically. + (munmap_chunk): Likewise. + (mremap_chunk): Likewise. + +2013-10-30 Ondřej Bílka <neleai@seznam.cz> + + [BZ #15799] + * stdlib/div.c (div): Remove obsolete code. + * stdlib/ldiv.c (ldiv): Likewise. + * stdlib/lldiv.c (lldiv): Likewise. + +2013-10-30 Siddhesh Poyarekar <siddhesh@redhat.com> + + [BZ #16071] + * nss/nss_files/files-XXX.c (get_contents_ret): New + enumerator. + (get_contents): New function. + (internal_getent): Use it. Expand size of LINEBUFLEN. + +2013-10-30 Mike Frysinger <vapier@gentoo.org> + + * configure.in: Moved to ... + * configure.ac: ... here. Change reference to configure.in + to configure.ac. + * sysdeps/arm/preconfigure.ac: ... here. + configure.in to configure.ac. + * sysdeps/gnu/configure.in: Moved to ... + * sysdeps/gnu/configure.ac: ... here. + * sysdeps/i386/configure.in: Moved to ... + * sysdeps/i386/configure.ac: ... here. + * sysdeps/ieee754/ldbl-opt/configure.in: Moved to ... + * sysdeps/ieee754/ldbl-opt/configure.ac: ... here. + * sysdeps/mach/configure.in: Moved to ... + * sysdeps/mach/configure.ac: ... here. + * sysdeps/mach/hurd/configure.in: Moved to ... + * sysdeps/mach/hurd/configure.ac: ... here. + * sysdeps/powerpc/configure.in: Moved to ... + * sysdeps/powerpc/configure.ac: ... here. + * sysdeps/powerpc/powerpc32/configure.in: Moved to ... + * sysdeps/powerpc/powerpc32/configure.ac: ... here. + * sysdeps/powerpc/powerpc64/configure.in: Moved to ... + * sysdeps/powerpc/powerpc64/configure.ac: ... here. + * sysdeps/s390/s390-32/configure.in: Moved to ... + * sysdeps/s390/s390-32/configure.ac: ... here. + * sysdeps/s390/s390-64/configure.in: Moved to ... + * sysdeps/s390/s390-64/configure.ac: ... here. + * sysdeps/sh/configure.in: Moved to ... + * sysdeps/sh/configure.ac: ... here. + * sysdeps/sparc/configure.in: Moved to ... + * sysdeps/sparc/configure.ac: ... here. + * sysdeps/unix/sysv/linux/configure.in: Moved to ... + * sysdeps/unix/sysv/linux/configure.ac: ... here. + * sysdeps/unix/sysv/linux/powerpc/configure.in: Moved to ... + * sysdeps/unix/sysv/linux/powerpc/configure.ac: ... here. + * sysdeps/x86_64/configure.in: Moved to ... + * sysdeps/x86_64/configure.ac: ... here. + * sysdeps/x86_64/preconfigure.in: Moved to ... + * sysdeps/x86_64/preconfigure.ac: ... here. + * aclocal.m4: Change reference to configure.in to configure.ac. + * config.h.in: Likewise. + * manual/install.texi: Likewise. + * manual/maint.texi: Likewise. + * Makefile: Likewise. + * malloc/Makefile: Likewise. + * nscd/Makefile: Likewise. + * Makeconfig: Change reference to configure.in and + preconfigure.in to configure.ac and preconfigure.ac + respectively. + * INSTALL: Regenerated. + * configure: Likewise. + * sysdeps/gnu/configure: Likewise. + * sysdeps/i386/configure: Likewise. + * sysdeps/ieee754/ldbl-opt/configure: Likewise. + * sysdeps/mach/configure: Likewise. + * sysdeps/mach/hurd/configure: Likewise. + * sysdeps/powerpc/configure: Likewise. + * sysdeps/powerpc/powerpc32/configure: Likewise. + * sysdeps/powerpc/powerpc64/configure: Likewise. + * sysdeps/s390/s390-32/configure: Likewise. + * sysdeps/s390/s390-64/configure: Likewise. + * sysdeps/sh/configure: Likewise. + * sysdeps/sparc/configure: Likewise. + * sysdeps/unix/sysv/linux/configure: Likewise. + * sysdeps/unix/sysv/linux/powerpc/configure: Likewise. + * sysdeps/x86_64/configure: Likewise. + * sysdeps/x86_64/preconfigure: Likewise. + +2013-10-29 Andreas Schwab <schwab@suse.de> + + * stdio-common/Makefile (tst-swscanf-ENV): Define. + +2013-10-28 Siddhesh Poyarekar <siddhesh@redhat.com> + + * benchtests/pow-inputs: Add new inputs. + + * benchtests/exp-inputs: Add new inputs. + + * sysdeps/ieee754/dbl-64/sincos32.c (__sin32): Consolidate + conditional check for return value. + (__cos32): Likewise. + +2013-10-26 Adhemerval Zanella <azanella@linux.vnet.ibm.com> + + * sysdeps/powerpc/powerpc64/strcpy.S (strcpy): Add word load/store + to provide a boost for large inputs with word alignment. + * sysdeps/powerpc/powerpc64/stpcpy.S (__stpcpy): Rewrite + implementation based on optimized PPC64 strcpy. + * sysdeps/powerpc/powerpc64/power7/strcpy.S: New file: optimized + strcpy for PPC64/POWER7 based on both doubleword and word load/store. + * sysdeps/powerpc/powerpc64/power7/stpcpy.S: New file: optimized + stpcpy for PPC64/POWER7 based on PPC64/POWER7 strcpy. + +2013-10-25 Ondřej Bílka <neleai@seznam.cz> + + [BZ #2801] + * manual/socket.texi (Host Names): Fix gethostbyname_r example. + +2013-10-25 Ondřej Bílka <neleai@seznam.cz> + + [BZ #14876] + * time/strptime_l.c (__strptime_internal): 14876 Read timezone entry. + * time/tst-strptime.c (day_tests): Add testcase. + +2013-10-25 Ondřej Bílka <neleai@seznam.cz> + + [BZ #14029] + * manual/pattern.texi: Acknowledge that fnmatch can fail. + +2013-10-25 Fabrice Bauzac <fbauzac@debian71.nce.amadeus.net> + + [BZ #16074] + * manual/llio.texi (Memory-mapped I/O): Indicate that mmap returns + MAP_FAILED on error. + +2013-10-25 Siddhesh Poyarekar <siddhesh@redhat.com> + + [BZ #16072] + * sysdeps/posix/getaddrinfo.c (gethosts): Allocate tmpbuf on + heap for large requests. + +2013-10-25 Aurelien Jarno <aurelien@aurel32.net> + + [BZ #9954] + * sysdeps/posix/getaddrinfo.c (rfc3484_sort): do not assign native + result if the result has no associated interface. + * sysdeps/posix/getaddrinfo.c (getaddrinfo): correctly detect + interface for all 127.X.Y.Z addresses. + +2013-10-24 Chris Leonard <cjl@sugarlabs.org> + + * locale/iso-639.def: Add Ligurian (lij) + +2013-10-21 Ondřej Bílka <neleai@seznam.cz> + + [BZ #15825] + * sunrpc/rpc_main.c: Document rpcgen -5. + +2013-10-19 Michael Stahl <mstahl@redhat.com> + + * elf/rtld.c (do_preload): Print the reason why preloading failed. + +2013-10-19 Ondřej Bílka <neleai@seznam.cz> + + [BZ #10278] + * posix/glob.c: Match only directories when trailing slash is present. + * posix/tst-gnuglob.c (my_opendir): Do not open files. + (main): Add testcase. + +2013-10-19 Ondřej Bílka <neleai@seznam.cz> + + [BZ #15670] + * time/tzfile.c (__tzfile_read): Replace alloca with malloc. + +2013-10-18 Carlos O'Donell <carlos@redhat.com> + + * manual/crypt.texi (Cryptographic Functions): Using SunRPC and + AUTH_DES will prevent FIPS 140-2 compliance. Add vindex for + AUTH_DES and cindex for FIPS 140-2. + (DES Encryption): Add cindex FIPS 46-3. + + * locale/locarchive.h (struct locarhandle): Add fname. + * locale/programs/localedef.c (main): Pass ARGV[remaining] + if an optional argument was specified to --list-archive, + otherwise NULL. + * locale/programs/locarchive.c (show_archive_content): Take new + argument fname and pass it via ah.fname to open_archive. + * locale/programs/localedef.h: Update decl. + (open_archive): If AH->fname is non-null, open that file + rather than the default file name, and don't ignore ENOENT. + (create_archive): Set AH.fname to NULL. + (delete_locales_from_archive): Likewise. + (add_locales_to_archive): Likewise. + * locale/programs/locfile.c (write_all_categories): Likewise. + 2013-10-18 Joseph Myers <joseph@codesourcery.com> Aldy Hernandez <aldyh@redhat.com> diff --git a/libc/INSTALL b/libc/INSTALL index 9d55fccca..ec960ad2a 100644 --- a/libc/INSTALL +++ b/libc/INSTALL @@ -380,7 +380,7 @@ build the GNU C Library: should definitely upgrade `sed'. -If you change any of the `configure.in' files you will also need +If you change any of the `configure.ac' files you will also need * GNU `autoconf' 2.53 or higher diff --git a/libc/Makeconfig b/libc/Makeconfig index dc9363c4c..36ba506cd 100644 --- a/libc/Makeconfig +++ b/libc/Makeconfig @@ -88,16 +88,16 @@ $(common-objpfx)config.status: $(..)version.h $(..)configure \ $(wildcard $(dir)/Implies) \ $(patsubst %.in,%,\ $(firstword $(wildcard \ - $(addprefix $(dir)/,configure configure.in))))) \ + $(addprefix $(dir)/,configure configure.ac))))) \ $(patsubst %.in,%,\ - $(wildcard $(..)sysdeps/*/preconfigure $(..)sysdeps/*/preconfigure.in)) \ + $(wildcard $(..)sysdeps/*/preconfigure $(..)sysdeps/*/preconfigure.ac)) \ $(patsubst %.in,%,\ $(foreach add-on,$(add-ons),\ $(firstword $(wildcard \ $(addprefix $(firstword $(filter /%,$(add-on)) $(..)$(add-on))/,\ - configure configure.in))) \ + configure configure.ac))) \ $(wildcard $(addprefix $(firstword $(filter /%,$(add-on)) $(..)$(add-on))/,\ - sysdeps/*/preconfigure sysdeps/*/preconfigure.in)))) + sysdeps/*/preconfigure sysdeps/*/preconfigure.ac)))) @cd $(@D); if test -f $(@F); then exec $(SHELL) $(@F) --recheck; else \ echo The GNU C library has not been configured. >&2; \ echo Run \`configure\' to configure it before building. >&2; \ diff --git a/libc/Makefile b/libc/Makefile index 1ff2a785b..96cfd10fe 100644 --- a/libc/Makefile +++ b/libc/Makefile @@ -38,9 +38,9 @@ chmod a-w$(patsubst %,$(comma)a+x,$(filter .,$(@D))) $@.new mv -f $@.new $@ endef -configure: configure.in aclocal.m4; $(autoconf-it) -%/configure: %/configure.in aclocal.m4; $(autoconf-it) -%/preconfigure: %/preconfigure.in aclocal.m4; $(autoconf-it) +configure: configure.ac aclocal.m4; $(autoconf-it) +%/configure: %/configure.ac aclocal.m4; $(autoconf-it) +%/preconfigure: %/preconfigure.ac aclocal.m4; $(autoconf-it) endif # $(AUTOCONF) = no @@ -59,7 +59,7 @@ endif # $(AUTOCONF) = no $(addprefix install-, no-libc.a bin lib data headers others) headers := limits.h values.h features.h gnu-versions.h bits/libc-lock.h \ - bits/xopen_lim.h gnu/libc-version.h stdc-predef.h bits/predefs.h + bits/xopen_lim.h gnu/libc-version.h stdc-predef.h echo-headers: subdir_echo-headers @@ -9,13 +9,15 @@ Version 2.19 * The following bugs are resolved with this release: - 156, 431, 832, 13028, 13982, 13985, 14155, 14547, 14699, 14910, 15048, - 15218, 15277, 15308, 15362, 15400, 15427, 15522, 15531, 15532, 15608, - 15609, 15610, 15632, 15640, 15672, 15680, 15681, 15723, 15734, 15735, - 15736, 15748, 15749, 15754, 15760, 15764, 15797, 15844, 15847, 15849, - 15855, 15856, 15857, 15859, 15867, 15886, 15887, 15890, 15892, 15893, - 15895, 15897, 15905, 15909, 15919, 15921, 15923, 15939, 15948, 15963, - 15966, 15988, 16032, 16034, 16036, 16041. + 156, 431, 832, 2801, 7003, 9954, 10278, 11087, 13028, 13982, 13985, + 14029, 14155, 14547, 14699, 14752, 14876, 14910, 15048, 15218, 15277, + 15308, 15362, 15400, 15427, 15522, 15531, 15532, 15608, 15609, 15610, + 15632, 15640, 15670, 15672, 15680, 15681, 15723, 15734, 15735, 15736, + 15748, 15749, 15754, 15760, 15763, 15764, 15797, 15799, 15825, 15844, + 15847, 15849, 15855, 15856, 15857, 15859, 15867, 15886, 15887, 15890, + 15892, 15893, 15895, 15897, 15905, 15909, 15917, 15919, 15921, 15923, + 15939, 15948, 15963, 15966, 15985, 15988, 16032, 16034, 16036, 16037, + 16041, 16071, 16072, 16074, 16078, 16112. * CVE-2012-4412 The strcoll implementation caches indices and rules for large collation sequences to optimize multiple passes. This cache @@ -44,8 +46,11 @@ Version 2.19 heap when passed very large allocation size values (Bugzilla #15855, #15856, #15857). -* New locales: ak_GH, cmn_TW, hak_TW, lzh_TW, nan_TW, quz_PE, pap_AW, pap_CW, - ar_SS. +* CVE-2013-4458 Stack overflow in getaddrinfo with large number of results + for AF_INET6 has been fixed (Bugzilla #16072). + +* New locales: ak_GH, anp_IN, ar_SS, cmn_TW, hak_TW, lzh_TW, nan_TW, pap_AW, + pap_CW, quz_PE * Substantially revised locales: gd_GB, ht_HT @@ -60,6 +65,18 @@ Version 2.19 command-line options to generate locales for a different system from that for which the C library was built. +* Binary locale files now only depend on the endianness of the system for + which they are generated and not on other properties of that system. As a + consequence, binary files generated with new localedef may be incompatible + with old versions of the GNU C Library, and binary files generated with + old localedef may be incompatible with this version of the GNU C Library, + in the following circumstances: + + + Locale files may be incompatible on m68k systems. + + + Locale archive files (but not separate files for individual locales) may + be incompatible on systems where plain "char" is signed. + * The configure option --disable-versioning has been removed. Builds with --disable-versioning had not worked for several years. @@ -69,6 +86,8 @@ Version 2.19 * SystemTap probes for malloc have been introduced. * Support for powerpc64le has been added. + +* The soft-float powerpc port now supports e500 processors. Version 2.18 diff --git a/libc/aclocal.m4 b/libc/aclocal.m4 index 64351d0a0..bc48586dc 100644 --- a/libc/aclocal.m4 +++ b/libc/aclocal.m4 @@ -9,8 +9,8 @@ m4_defn([AC_AUTOCONF_VERSION]) ), [63])])dnl dnl dnl We define the macro GLIBC_PROVIDES to do an AC_PROVIDE for each macro -dnl which appears in configure.in before the sysdep configure scripts are run. -dnl Each sysdep configure.in does GLIBC_PROVIDES first, to avoid any +dnl which appears in configure.ac before the sysdep configure scripts are run. +dnl Each sysdep configure.ac does GLIBC_PROVIDES first, to avoid any dnl AC_REQUIREs or AC_BEFOREs duplicating their code. dnl define([GLIBC_PROVIDES], [dnl @@ -39,7 +39,7 @@ dnl Ripped out of AS_INIT, which does more cruft we do not want. m4_wrap([m4_divert_pop([BODY])[]]) m4_divert_push([BODY])[]dnl dnl End of ripped out of AS_INIT. -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! define([_AC_LANG], [C])dnl ])dnl dnl diff --git a/libc/benchtests/exp-inputs b/libc/benchtests/exp-inputs index 593ad7c74..aff3fb42f 100644 --- a/libc/benchtests/exp-inputs +++ b/libc/benchtests/exp-inputs @@ -1,8 +1,589 @@ ## args: double ## ret: double ## includes: math.h +0x1.6200315ce81efp9 +0x1.0000000031579p0 +0x1.000000009b551p0 +0x1.000000067ace6p0 +0x1.6200315ad0fc0p9 +0x1.0000000000060p0 +0x1.00000004237a7p0 +0x1.6200315ad0fb2p9 +0x1.0000000054ac1p0 +0x1.6200315c98bcdp9 +0x1.0000000002d96p0 +0x1.0000000000038p256 +0x1.6200315ad0fafp9 +0x1.6200315d680ecp9 +0x1.0000000000042p0 +0x1.0000000000048p256 +0x1.6200315ad0fbcp9 +0x1.000000000000dp256 +0x1.000000000001ep256 +0x1.0000000000015p256 +0x1.0000000000018p-256 +0x1.000000000002ep0 +0x1.000000000004ep-256 +0x1.000000000001dp-256 +0x1.6200315ad0fb4p9 +0x1.00000002ca5f8p0 +0x1.0000000000017p256 +0x1.0000000000022p0 +0x1.0000000000059p256 +0x1.0000000000028p0 +0x1.6200315ad0fa7p9 +0x1.000000048059cp0 +0x1.0000000000023p256 +0x1.000000000003ap-256 +0x1.0000000000022p-256 +0x1.6200315f211bep9 +0x1.000000000002ep-256 +0x1.0000000000041p256 +0x1.0000000000042p-256 +0x1.6200315ad0fcfp9 +0x1.6200315ad0fd7p9 +0x1.000000004bd6fp0 +0x1.000000000000dp-256 +0x1.6200315ad0fb7p9 +0x1.000000000001fp0 +0x1.0000000000024p-256 +0x1.0000000000058p256 +0x1.6200315ad0fc5p9 +0x1.620030025fbe9p9 +0x1.000000000003dp-256 +0x1.000000000003fp-256 +0x1.0000000000009p256 +0x1.00000005c7304p0 +0x1.0000000000045p-256 +0x1.0000000000011p-256 +0x1.0000000000033p-256 +0x1.0000000000036p256 +0x1.0000000000059p-256 +0x1.0000000000001p-256 +0x1.0000000000052p-256 +0x1.000000045baafp0 +0x1.0000000000032p0 +0x1.00000004a5089p0 +0x1.00000005edb68p0 +0x1.6200315ad0fd1p9 +0x1.0000000080d5bp0 +0x1.0000000000038p0 +0x1.6200315ad0fdbp9 +0x1.000000000005fp256 +0x1.0000000291b1ep0 +0x1.6200315af4bedp9 +0x1.0000000000031p-256 +0x1.6200315aea99bp9 +0x1.00000005ab569p0 +0x1.6200315d47b24p9 +0x1.6200315ad0fd9p9 +0x1.000000000003bp256 +0x1.6200315d31eb9p9 +0x1.000000059a297p0 +0x1.0000000000011p256 +0x1.0000000000021p-256 +0x1.0000000000041p-256 +0x1.0000000000049p0 +0x1.00000006857afp0 +0x1.6200315ceb300p9 +0x1.000000000003bp-256 +0x1.6200315bcaec3p9 +0x1.0000000000018p256 +0x1.00000002f3b77p0 +0x1.6200315ad0fb5p9 +0x1.0000000000027p-256 +0x1.000000054447dp0 +0x1.6200315e84846p9 +0x1.0000000172fefp0 +0x1.00000001c8808p0 +0x1.0000000000003p256 +0x1.000000000003ep-256 +0x1.00000002ed36ep0 +0x1.000000000002ap0 +0x1.00000002ae08bp0 +0x1.000000000005dp-256 +0x1.0000000000063p256 +0x1.000000000003ep0 +0x1.0000000000037p256 +0x1.6200315ad0fb6p9 +0x1.000000000005ep0 +0x1.000000000002ap256 +0x1.0000000000056p256 +0x1.0000000266056p0 +0x1.6200315ad0fdap9 +0x1.000000000002dp0 +0x1.000000000004cp0 +0x1.6200315ad0fb8p9 +0x1.0000000000039p0 +0x1.000000000002ap-256 +0x1.6200315ad0fa5p9 +0x1.0000000000035p256 +0x1.000000000005ep256 +0x1.000000000004cp-256 +0x1.0000000000039p256 +0x1.000000055574fp0 +0x1.0000000000033p256 +0x1.6200315ad0fc2p9 +0x1.62003001fc398p9 +0x1.000000000004ap-256 +0x1.000000000001ap256 +0x1.000000005d813p0 +0x1.6200315ad0fe4p9 +0x1.0000000000030p-256 +0x1.0000000000020p-256 +0x1.0000000066565p0 +0x1.0000000000029p-256 +0x1.6200315ad0fc7p9 +0x1.000000049e880p0 +0x1.0000000609903p0 +0x1.00000005e309fp0 +0x1.0000000000013p256 +0x1.0000000000026p0 +0x1.000000000002dp-256 +0x1.6200315ad0fbdp9 +0x1.000000000000fp256 +0x1.00000001a9d52p0 +0x1.000000000002cp256 +0x1.0000000479d93p0 +0x1.0000000000016p256 +0x1.00000001d7d63p0 +0x1.6200315bd5b13p9 +0x1.00000001097e9p0 +0x1.0000000000030p0 +0x1.6200315d37392p9 +0x1.6200315ad0fe0p9 +0x1.6200315ba6119p9 +0x1.000000000003ep256 +0x1.00000000e87eap0 +0x1.0000000000002p256 +0x1.00000006501c2p0 +0x1.000000000004bp256 +0x1.620030022b98ap9 +0x1.000000000003fp0 +0x1.00000002d0e01p0 +0x1.00000001f6819p0 +0x1.0000000000020p256 +0x1.0000000000021p0 +0x1.000000000005cp256 +0x1.6200315ad0faep9 +0x1.6200315c61515p9 +0x1.0000000000008p256 +0x1.0000000000056p-256 +0x1.00000004f2923p0 +0x1.000000000001ep0 +0x1.0000000000028p256 +0x1.000000000004fp256 +0x1.000000000002cp-256 +0x1.0000000000025p0 +0x1.6200315e1215ap9 +0x1.6200315ad0fb3p9 +0x1.6200315e921dap9 +0x1.6200315ad0fd6p9 +0x1.0000000000049p256 +0x1.000000000004dp256 +0x1.0000000000042p256 +0x1.0000000000051p0 +0x1.6200315d83129p9 +0x1.0000000690278p0 +0x1.0000000000036p0 +0x1.0000000000026p256 +0x1.000000000005fp-256 +0x1.000000000000cp256 +0x1.0000000000007p256 +0x1.000000050a3fep0 +0x1.000000000001fp-256 +0x1.000000000002ep256 +0x1.000000000004ep256 +0x1.6200315f00e77p9 +0x1.6200315ad0fd2p9 +0x1.6200315d4ee5bp9 +0x1.00000004552a6p0 +0x1.6200315ad0fe3p9 +0x1.000000003a2cbp0 +0x1.6200315ad0fdfp9 +0x1.00000002b4894p0 +0x1.0000000000022p256 +0x1.000000023a58ep0 +0x1.6200315ad0fd8p9 +0x1.0000000000029p256 +0x1.6200315efe051p9 +0x1.0000000205d74p0 +0x1.0000000000045p256 +0x1.6200315ad0fb0p9 +0x1.6200315d77cc5p9 +0x1.000000065ac8bp0 +0x1.0000000000037p0 +0x1.6200315ad0fbfp9 +0x1.6200315dacc95p9 +0x1.000000000002fp-256 +0x1.000000000000ep256 +0x1.00000006bf05cp0 +0x1.0000000000051p256 +0x1.0000000000062p0 +0x1.0000000000031p256 +0x1.6200315be943dp9 +0x1.000000000005bp0 +0x1.0000000000045p0 +0x1.6200315e08505p9 +0x1.000000000001bp256 +0x1.0000000000005p256 +0x1.000000000005dp256 +0x1.6200315ad0fc9p9 +0x1.6200315e97676p9 +0x1.0000000000024p0 +0x1.0000000000003p-256 +0x1.6200315ad0fd4p9 +0x1.6200315ee2c3bp9 +0x1.0000000000020p0 +0x1.6200315ad0fdcp9 +0x1.0000000000053p-256 +0x1.000000000004bp-256 +0x1.6200315cafb6ep9 +0x1.000000000003ap256 +0x1.0000000000013p-256 +0x1.0000000000060p256 +0x1.6200315ad0fd3p9 +0x1.0000000000009p-256 +0x1.000000000005cp-256 +0x1.00000000acff5p0 +0x1.000000000004dp0 +0x1.0000000000050p256 +0x1.6200315e34fc6p9 +0x1.0000000000044p-256 +0x1.000000000002dp256 +0x1.0000000000062p256 +0x1.6200315bf4442p9 +0x1.6200315ad0fabp9 +0x1.000000000003cp0 +0x1.0000000000019p256 +0x1.000000000000cp-256 +0x1.000000000000bp-256 +0x1.0000000000063p0 +0x1.000000000003cp256 +0x1.0000000000061p-256 +0x1.6200315ad0fb1p9 +0x1.00000006456f9p0 +0x1.6200315ad0fb9p9 +0x1.6200315ad0fccp9 +0x1.6200315ad0fd5p9 +0x1.6200315ad0fd0p9 +0x1.0000000353687p0 +0x1.6200315ad0facp9 +0x1.000000000005bp256 +0x1.6200315e8bb51p9 +0x1.6200315d73094p9 +0x1.000000027bdbap0 +0x1.000000006f2b7p0 +0x1.0000000000057p0 +0x1.0000000298327p0 +0x1.000000019a7f7p0 +0x1.6200315b7b9ddp9 +0x1.000000041cf9ep0 +0x1.0000000000040p256 +0x1.0000000000059p0 +0x1.6200315ad0fe2p9 +0x1.0000000000056p0 +0x1.0000000000034p-256 +0x1.6200315cf49aep9 +0x1.0000000000017p-256 +0x1.000000000bae8p0 +0x1.6200315ad0fc1p9 +0x1.00000004c336dp0 +0x1.0000000000032p256 +0x1.6200315ae9fb5p9 +0x1.000000000004cp256 +0x1.0000000000057p-256 +0x1.0000000000035p-256 +0x1.6200315d4d455p9 42 +0x1.6200315ad0fa8p9 +0x1.00000002502f2p0 +0x1.6200315ad0fa3p9 +0x1.000000000005dp0 +0x1.0000000000012p-256 +0x1.0000000000006p256 +0x1.0000000000028p-256 +0x1.0000000000044p256 +0x1.000000000004ap0 +0x1.00000000927ffp0 +0x1.0000000000044p0 +0x1.00000006f8909p0 +0x1.6200315ad0fc8p9 +0x1.0000000000061p0 +0x1.000000012a7e8p0 +0x1.000000000000fp-256 +0x1.6200315b6f0a0p9 +0x1.00000001b92adp0 +0x1.000000000005ep-256 +0x1.6200315d436fep9 +0x1.000000004301dp0 +0x1.0000000000023p0 +0x1.000000000005ap0 +0x1.6200315e7189ap9 +0x1.0000000000033p0 +0x1.6200315c19f20p9 +0x1.0000000000040p-256 +0x1.0000000000031p0 +0x1.0000000000027p0 +0x1.6200315d1dfeap9 +0x1.0000000588fc5p0 +0x1.000000015ad42p0 +0x1.6200300248616p9 +0x1.0000000000021p256 +0x1.6200315ad0fcap9 +0x1.6200315ad0fbbp9 +0x1.6200315ad0fbep9 +0x1.0000000000052p0 +0x1.0000000000016p-256 +0x1.0000000000005p-256 +0x1.0000000000046p256 +0x1.000000000003cp-256 +0x1.0000000000054p0 +0x1.000000034ce7ep0 +0x1.0000000000050p-256 +0x1.000000000002fp256 +0x1.6200315f2a44bp9 +0x1.6200315ad0fa2p9 +0x1.6200315f53addp9 +0x1.0000000000043p256 +0x1.000000000002bp0 +0x1.6200315b9a51fp9 +0x1.62003002148e6p9 +0x1.0000000000039p-256 +0x1.0000000000023p-256 +0x1.00000006d45eep0 +0x1.000000000002cp0 +0x1.0000000000055p256 +0x1.000000000000ap256 +0x1.0000000000010p-256 +0x1.0000000000047p-256 +0x1.000000000002fp0 +0x1.0000000000001p256 +0x1.000000040ff8cp0 +0x1.0000000121a96p0 +0x1.6200315c8b9bcp9 +0x1.000000000001cp-256 +0x1.0000000000063p-256 +0x1.0000000000006p-256 +0x1.000000000001ap-256 +0x1.6200300247b12p9 +0x1.0000000000046p0 +0x1.0000000000036p-256 +0x1.00000004bcb64p0 +0x1.0000000000032p-256 +0x1.0000000000057p256 +0x1.6200315e03518p9 +0x1.00000005331abp0 +0x1.000000000001ep-256 +0x1.6200315f76ad3p9 +0x1.000000000004dp-256 +0x1.000000000003bp0 +0x1.00000005b6032p0 +0x1.0000000000007p-256 +0x1.6200315ad0fc4p9 +0x1.0000000000051p-256 +0x1.000000000005cp0 +0x1.6200315ad0fc6p9 +0x1.0000000100a97p0 +0x1.0000000000040p0 +0x1.000000000004fp0 +0x1.000000000003dp0 +0x1.0000000000027p256 +0x1.0000000000000p-256 +0x1.6200315b10d8dp9 +0x1.0000000000060p-256 +0x1.6200315ad0fcdp9 +0x1.6200315ad0fa4p9 +0x1.6200315d07f8ep9 +0x1.000000000001bp-256 +0x1.0000000000041p0 +0x1.6200315ad0fe1p9 +0x1.0000000000053p0 +0x1.00000003168edp0 +0x1.0000000000000p256 +0x1.0000000000002p-256 +0x1.6200315bd4cecp9 +0x1.0000000000047p256 +0x1.6200315b2b8adp9 +0x1.000000000002bp256 +0x1.0000000000055p-256 +0x1.000000000004ap256 +0x1.00000006c9b25p0 +0x1.0000000000054p-256 +0x1.0000000000047p0 +0x1.6200315d8ee5dp9 +0x1.6200315b74b4cp9 +0x1.000000000005ap256 +0x1.0000000000043p-256 +0x1.0000000000055p0 +0x1.0000000000019p-256 +0x1.000000031d0f6p0 +0x1.00000006ede40p0 +0x1.00000002152cfp0 +0x1.6200315f61210p9 +0x1.6200315ad0fadp9 +0x1.000000044ea9dp0 +0x1.0000000000050p0 +0x1.0000000000024p256 +0x1.000000022b033p0 +0x1.0000000000043p0 +0x1.000000000001fp256 +0x1.0000000000034p0 +0x1.0000000000025p-256 +0x1.0000000000034p256 +0x1.000000000001dp0 +0x1.000000000005ap-256 +0x1.6200315ad0fddp9 +0x1.0000000577cf3p0 +0x1.000000051b6d0p0 +0x1.00000006143ccp0 +0x1.0000000000010p256 +0x1.000000061ee95p0 +0x1.6200315c3eed5p9 +0x1.00000000dfa98p0 +0x1.0000000000049p-256 +0x1.0000000000052p256 +0x1.0000000000053p256 +0x1.000000000005bp-256 +0x1.000000000000ep-256 +0x1.6200315e8ca3cp9 +0x1.6200315ad0faap9 +0x1.0000000142a95p0 +0x1.6200315ad0fcep9 +0x1.6200315ad0fcbp9 +0x1.6200315ef86c6p9 +0x1.0000000000026p-256 +0x1.6200315ed1587p9 +0x1.000000067021dp0 +0x1.00000001e72bep0 +0x1.6200315ad0fbap9 +0x1.00000000d6d46p0 +0x1.0000000000058p0 +0x1.00000000a42a3p0 +0x1.6200315b50c42p9 +0x1.6200315c4ee10p9 +0x1.0000000416795p0 +0x1.0000000000014p-256 +0x1.0000000000037p-256 +0x1.6200315ad0fa6p9 +0x1.0000000000004p-256 +0x1.0000000000054p256 +0x1.000000018254ap0 +0x1.6200315dc2365p9 +0x1.0000000000015p-256 +0x1.000000000004fp-256 +0x1.0000000665754p0 +0x1.0000000000046p-256 +0x1.6200315b2ba38p9 +0x1.000000000002bp-256 +0x1.6200315ba202ep9 +0x1.0000000000008p-256 +0x1.0000000359e90p0 +0x1.00000004dae48p0 +0x1.000000000001cp256 +0x1.0000000000062p-256 +0x1.0000000000048p0 +0x1.000000000003fp256 +0x1.6200315bcd48bp9 +0x1.6200315ad0fa9p9 +0x1.0000000000030p256 +0x1.6200315d64448p9 +0x1.0000000089aadp0 +0x1.6200315f0aa29p9 +0x1.00000005d1dcdp0 +0x1.6200315ad0fdep9 +0x1.0000000000061p256 +0x1.0000000000058p-256 +0x1.0000000000012p256 +0x1.000000000005fp0 +0x1.000000000003ap0 +0x1.000000000000bp256 +0x1.000000000004bp0 +0x1.0000000000038p-256 +0x1.0000000000029p0 +0x1.0000000000025p256 +0x1.000000000001dp256 +0x1.0000000000004p256 +0x1.6200315e2240ep9 +0x1.6200315ad0fc3p9 +0x1.6200315b2bbc3p9 +0x1.0000000000014p256 +0x1.0000000078009p0 +0x1.000000000003dp256 +0x1.6200315db488fp9 +0x1.000000000000ap-256 +0x1.000000000004ep0 +0x1.0000000000035p0 +0x1.0000000000048p-256 +# Slow path with computation in 144 bit precision. +# Implemented in: sysdeps/ieee754/dbl-64/mpexp.c +## name: 144bits +0x1.0000000002d96p0 +0x1.000000000bae8p0 +0x1.0000000031579p0 +0x1.000000003a2cbp0 +0x1.000000004301dp0 +0x1.000000004bd6fp0 +0x1.0000000054ac1p0 +0x1.000000005d813p0 +0x1.00000005ab569p0 +0x1.00000005b6032p0 +0x1.00000005c7304p0 +0x1.00000005d1dcdp0 +0x1.00000005e309fp0 +0x1.00000005edb68p0 +0x1.0000000609903p0 +0x1.00000006143ccp0 +0x1.000000061ee95p0 +0x1.00000006456f9p0 +0x1.00000006501c2p0 +0x1.000000065ac8bp0 +0x1.0000000665754p0 +0x1.000000067021dp0 +0x1.000000067ace6p0 +0x1.00000006857afp0 +0x1.0000000690278p0 +0x1.00000006bf05cp0 +0x1.00000006c9b25p0 +0x1.00000006d45eep0 +0x1.00000006ede40p0 +0x1.00000006f8909p0 +0x1.62003000076d2p9 +0x1.6200300017e2cp9 +0x1.6200300023ffbp9 +0x1.620030002b135p9 +0x1.6200300030a8bp9 +0x1.620030003123fp9 +0x1.62003000652b3p9 +0x1.620030007bf4ap9 +0x1.6200300081a79p9 +0x1.6200300090289p9 +0x1.620030009dcbbp9 +0x1.62003000c07cep9 +0x1.62003000ee5dbp9 +0x1.62003000fa646p9 +0x1.62003000fe2cap9 +0x1.6200300125996p9 +0x1.6200300130865p9 +0x1.6200300133673p9 +0x1.6200300136fdfp9 +0x1.6200300150360p9 +0x1.620030016c416p9 +0x1.6200315ee2c3bp9 +0x1.6200315ef86c6p9 +0x1.6200315efe051p9 +0x1.6200315f00e77p9 +0x1.6200315f0aa29p9 +0x1.6200315f211bep9 +0x1.6200315f2a44bp9 +0x1.6200315f53addp9 +0x1.6200315f61210p9 +0x1.6200315f76ad3p9 # Slowest path with computation in 768 bit precision. # Implemented in: sysdeps/ieee754/dbl-64/mpexp.c ## name: 768bits 708.00096423260981737257679924368858 +0x1.00000027f5496p0 +0x1.0000015853da7p0 +0x1.0000098e5e007p0 +0x1.0000099a1ac59p0 diff --git a/libc/benchtests/pow-inputs b/libc/benchtests/pow-inputs index 96b1b6c2a..78f8ac73d 100644 --- a/libc/benchtests/pow-inputs +++ b/libc/benchtests/pow-inputs @@ -2,7 +2,510 @@ ## ret: double ## includes: math.h 42.0, 42.0 +-0x1.086f771a2b37bp696, 0x1.592b453fe869fp-81 +0x1.19eb12518e61bp-217, 0x1.c87753325f271p59 +0x1.5c68b7b390060p-869, -0x1.0000000000000p-64 +0x1.d96cb2cd196ebp3, 0x1.0000000000000p-64 +-0x1.f7cb93ee0ba9bp-238, 0x1.b7f046c622df6p691 +0x1.5cf5307b64e94p-233, 0x1.4499d7e88a731p124 +0x1.58bc610fde155p756, -0x1.0000000000000p-64 +0x1.11e4c61e2489ep9, 0x1.f3ddd0aadf9e9p94 +0x1.064765103f18ap-245, 0x1.a413811779c11p89 +-0x1.a26e540b1b5e0p77, 0x1.5987a1b0f6368p897 +0x1.465db461ffd24p681, -0x1.0000000000000p-64 +-0x1.b986d646b93b4p-100, -0x1.936ff2a7c8adep-420 +0x1.af0d371d0a43dp-197, 0x1.f185f2aba0958p217 +0x1.13ce451492820p115, -0x1.1598c3d54c625p81 +0x1.d5ec14b6de205p-604, -0x1.0000000000000p-64 +0x1.cf8ad6a495d19p-100, 0x1.8d2563e08105dp7 +0x1.1a7d3100f9ef4p-636, -0x1.0000000000000p-64 +-0x1.6dd9a7d0122f5p421, 0x1.199895f013a09p49 +0x1.b892e5125d7d1p-345, 0x1.0000000000000p-64 +0x1.5dfa7063ce092p996, 0x1.0000000000000p-64 +0x1.9e7d74cdbf190p512, -0x1.3d1b5206e8127p237 +0x1.b941e202e240dp-325, -0x1.0000000000000p-64 +-0x1.fbe85766fae96p-463, 0x1.91c903c89b075p85 +0x1.eab5553bcdfbap-957, 0x1.ab0a06811189cp90 +0x1.4c2c90f483a09p917, -0x1.0000000000000p-64 +0x1.014bc72248db8p439, -0x1.e1bef116ca6d9p112 +-0x1.6733d0746880bp-316, 0x1.8a34e6c887c39p-107 +-0x1.5a9b05cc4e1c4p461, -0x1.88d2560562b17p-798 +0x1.9690663e74e47p967, -0x1.0000000000000p-64 +-0x1.125986687c812p-159, -0x1.bd3236342d0f4p550 +0x1.3d6422e5177bep-951, 0x1.3878a292f55d9p226 +-0x1.9922669366d2dp590, -0x1.ae14d63976e00p-684 +0x1.d838c66e05cc9p256, 0x1.0000000000000p-64 +0x1.c319328022c2cp890, -0x1.4a627098d6e49p170 +0x1.0deee25028507p461, 0x1.310f343ce0281p94 +0x1.279923dac3d31p147, 0x1.0000000000000p-64 +0x1.e27fe364ee0b4p963, -0x1.107d33f004629p245 +-0x1.8160e4b7efcecp833, -0x1.9612560bf9302p-472 +-0x1.7814633c7452bp-821, -0x1.d36af1ef2c42fp636 +0x1.bac865bccd66ep113, -0x1.454be507db267p19 +0x1.c75b53051ead0p-931, -0x1.0000000000000p-64 +-0x1.cab4e5935aeaep318, -0x1.6794550b87520p-257 +0x1.088056b5fbc0dp-459, 0x1.0000000000000p-64 +0x1.1f8eb28937183p748, -0x1.b2a940cf17bc0p217 +0x1.ba85352faba13p-796, -0x1.0000000000000p-64 +0x1.1d3984c620975p460, 0x1.0000000000000p-64 +0x1.37acd13a9ea78p1019, 0x1.0000000000000p-64 +0x1.0e9d041b054d3p-411, 0x1.0000000000000p-64 +0x1.a156c095ec992p102, -0x1.46f561fd1fda9p98 +-0x1.273ca2d449455p471, -0x1.fa6c92046c475p-860 +-0x1.7b475167ae88ep-116, -0x1.eba627003ccc5p-339 +0x1.2996c344cf7dcp-564, 0x1.21df51e88e157p161 +-0x1.7d29f253d3e79p636, -0x1.8e30a1ba55f7fp77 +0x1.99ffe6fb747bep1003, -0x1.8b1047a0ed3b3p67 +0x1.248c46b353471p251, -0x1.3aa8631084564p8 +-0x1.500c56dfd8fa0p-869, 0x1.819212336e2afp-523 +0x1.012185cb5e155p-672, 0x1.dcbc907d906f0p203 +0x1.964221fe0b0c5p-260, -0x1.0000000000000p-64 +-0x1.172f10899cbcep669, 0x1.e4e656fea6c19p663 +0x1.e356e63b681dep989, -0x1.dd9d772868663p41 +0x1.ccd0118265376p287, -0x1.22ae0058250b6p184 +0x1.3de177d6762ebp742, -0x1.ebc180d571e12p58 +0x1.04caa30a223c6p-294, 0x1.0000000000000p-64 +-0x1.e0ffa63b800fcp-938, 0x1.0a2c229973ed9p149 +0x1.e0ffa63b800fcp-938, 0x1.0a2c229973ed9p149 +0x1.d43815bff9e7dp-685, 0x1.825755f8cae4bp168 +0x1.fe3b21bec8806p456, 0x1.0000000000000p-64 +0x1.b26d766ab1f27p-162, 0x1.184f242e49092p249 +-0x1.1c70d750f61abp-899, 0x1.e3f3e7ec803dap759 +0x1.220fe763e4353p897, 0x1.6a6f650adecc0p141 +0x1.d6f7716723825p-58, 0x1.0000000000000p-64 +0x1.2b0242282c767p308, 0x1.c9dd84f859214p104 +0x1.7d0ee4b3bb946p-563, -0x1.9d1683c6f5c5ap226 +-0x1.8547b5d202937p967, -0x1.14e58570b43a5p-765 +-0x1.568636c53d51fp-638, 0x1.164257f3ab632p-455 +0x1.6d7936f1f5553p-435, 0x1.8f26767f92ccbp147 +0x1.7c18551f15775p147, -0x1.0000000000000p-64 +-0x1.f2ac8209992fbp-965, 0x1.5faaf4ec0340cp-236 +-0x1.f57620fa5afd6p-69, -0x1.096166fce916ep-683 +-0x1.5054f3c0b1320p-215, 0x1.8c01c0a19db1bp-285 +0x1.e41e64f79a6a9p404, 0x1.0000000000000p-64 +0x1.71fc41e25fe85p-413, 0x1.4acb80e80f0b2p214 +0x1.fbf477dec9138p-661, 0x1.0000000000000p-64 +0x1.7575c7cd67604p498, 0x1.0000000000000p-64 +-0x1.f4dd41d434b62p-205, -0x1.981f66551fd64p805 +0x1.76ac564847250p-870, -0x1.0000000000000p-64 +0x1.bb0e222493e31p-632, 0x1.16ad202a7c871p27 +-0x1.079a76db55d95p-974, -0x1.19d4717967203p-409 +0x1.68a7c79597132p-227, 0x1.6c3871ff9ad60p195 +0x1.4961c76e0940cp271, -0x1.0000000000000p-64 +0x1.04cf75ca8337cp-273, -0x1.0000000000000p-64 +0x1.4fffe4a25f260p152, -0x1.a0e3a7e58a0d3p149 +0x1.c125c40bb88b6p-281, 0x1.bedf8672d605fp215 +0x1.bcd59440339b5p67, -0x1.d225c2cc02d3bp60 +0x1.670e80ab2399bp-841, 0x1.887061c29e4afp131 +0x1.7c6ef76479beep839, -0x1.0f72a2967e041p98 +0x1.272f8550905f7p-961, 0x1.21a6d4787c14cp190 +0x1.0a33d4e39655cp-424, 0x1.4dafa3da87794p162 +0x1.a34e21945e568p-641, 0x1.3a0a05d61f5e4p119 +-0x1.b57493dffe1c3p68, -0x1.8e19843fbbd1ep515 +0x1.a8ce11ea61121p248, -0x1.7b2376aa515e8p115 +-0x1.5feca3ddab161p-509, 0x1.3e0c341715e1cp217 +0x1.6695a0cf6063fp-689, 0x1.1852d463ea98ep37 +0x1.9367127039f77p-293, 0x1.adbe75323caaap47 +0x1.6ad5c2f704166p-336, -0x1.9bf7b7271daefp100 +0x1.6791a1f6e89bap-845, 0x1.07e4c362cf895p92 +-0x1.20d7f6086ddb2p143, 0x1.687a7454403f4p337 +-0x1.9bd727a165453p-810, 0x1.742fe1f2bf2dbp-551 +0x1.40c3b16a0dba0p438, -0x1.67a872ec62dadp90 +0x1.5e0ab0f983abfp629, -0x1.0000000000000p-64 +0x1.c929a231173cfp844, -0x1.f25c7501c8144p116 +-0x1.410ad6057e935p204, 0x1.bdb5a3d649e74p-928 +0x1.9f222254cab3fp-817, -0x1.0000000000000p-64 +0x1.7f7d22b44403fp1007, -0x1.2299d752e308dp177 +0x1.41f824f624f36p511, -0x1.0000000000000p-64 +0x1.9fbb158e5d5dfp-525, 0x1.f803767193e3fp31 +-0x1.e6a1216cab6d4p-260, 0x1.100d3600b5996p935 +-0x1.dd23855d0cc3ep1003, 0x1.3411e38397aaep-158 +-0x1.3a9e0585f7979p-827, -0x1.db64725e35a3cp-259 +0x1.ce93a02ba2924p866, 0x1.0000000000000p-64 +0x1.445bf157156d4p-100, 0x1.0000000000000p-64 +-0x1.ba1ca38fc92ebp-848, -0x1.9270247b4b009p-609 +-0x1.5ac2b6a0c0476p-172, -0x1.595d419d9babdp-399 +-0x1.94f2b24fd7b65p839, -0x1.a42b466df80e1p519 +0x1.bf66704c603f1p-859, 0x1.430eb110359f6p-63 +0x1.e9ccb07667b5fp-435, 0x1.e7cec7c8e2138p229 +-0x1.bcd59440339b5p67, -0x1.d225c2cc02d3bp60 +0x1.a5e7c0a9c79d2p-503, -0x1.0000000000000p-64 +0x1.91aa125544e6ep681, -0x1.0000000000000p-64 +0x1.5371f5af7cd6ep-628, 0x1.078a57c0c5e30p147 +-0x1.2890a668b0252p-207, 0x1.ec956130d1ea0p411 +0x1.70f496a3b1319p-183, 0x1.9f04e4dd9dee0p159 +-0x1.ab4c0689a295cp375, 0x1.ec1627c9f2374p-617 +-0x1.390d459924f44p-348, -0x1.8e36a55756005p481 +0x1.c1b483579742ap101, 0x1.a05a357f2d54fp236 +0x1.d0a84005691b7p763, -0x1.68f840a20c734p60 +0x1.f32d34d1fffd4p-40, 0x1.fc09869af26f1p131 +-0x1.e693e5dbee2e0p207, 0x1.2301f18cd9d27p817 +0x1.1f72a3d4f7881p-764, 0x1.4617565381163p177 +-0x1.7f69c3aee139ep-648, 0x1.1f42e1d53ae48p597 +-0x1.adc7f1f9fdc02p38, -0x1.a07af4087ad66p1011 +-0x1.923d01b1c3960p-276, 0x1.2c6710910e47ap889 +0x1.6b60a2accafe3p977, -0x1.78f4404c514b7p170 +-0x1.0a2a3540be5a3p302, 0x1.3259b15ad5075p-333 +-0x1.11e4c61e2489ep9, 0x1.f3ddd0aadf9e9p94 +0x1.e02943925b096p-651, 0x1.3e5010a3be270p137 +0x1.9887e07a7b4bdp-835, -0x1.0000000000000p-64 +0x1.fb9fd6c57d283p-969, -0x1.eb21f1c75479dp195 +0x1.55fb70ae2db62p-910, 0x1.b77402b5190d5p10 +-0x1.38b1775c225eep723, 0x1.7595a59a7ba8dp901 +0x1.fbdc30f777a6ap649, -0x1.ea19f696739e0p183 +0x1.c2b5309403401p760, -0x1.0000000000000p-64 +-0x1.3d6de154feafep496, -0x1.9763760be8c9dp-161 +0x1.1c0a33e2b3719p-116, -0x1.0000000000000p-64 +0x1.06b1024b8b4bap471, -0x1.cd9f24d503076p59 +-0x1.6d0d67d7d2ad2p627, 0x1.35c77413a4d2fp190 +-0x1.881467b6c56d5p-194, -0x1.465995072de7cp707 +0x1.1147d4d59a3a5p-952, -0x1.0000000000000p-64 +-0x1.c319328022c2cp890, -0x1.4a627098d6e49p170 +0x1.993864ddbc05dp562, 0x1.0000000000000p-64 +0x1.f9abd78250a64p633, -0x1.f104e2772f8cep141 +-0x1.4d87f27b51978p-916, 0x1.073e35dc85a96p-1003 +0x1.1e8e0347dd99bp278, 0x1.0000000000000p-64 +0x1.7fbfc71fde6edp891, -0x1.0000000000000p-64 +-0x1.ae86836ca4d83p659, -0x1.5153616fefc6ap-61 +0x1.0452d237e1de7p-518, 0x1.296675c74320cp87 +0x1.12fc06ee54ac1p615, -0x1.0000000000000p-64 +0x1.887c234a8cc63p-708, 0x1.ae5fb57f66c84p175 +0x1.4978c021c25cbp-130, -0x1.115a65f48b23cp80 +-0x1.a1e733c9fd87fp552, 0x1.cef7045a6012ap811 +0x1.f98611b7c6a51p538, -0x1.0000000000000p-64 +-0x1.858f201dffc93p26, 0x1.6a110485981d4p-285 +0x1.84297333218cep712, 0x1.497396c926ddfp73 +0x1.12c3e319b6a54p-783, 0x1.0000000000000p-64 +-0x1.8ee011da43d65p-879, 0x1.7b6cf1473438ep670 +-0x1.4978c021c25cbp-130, -0x1.115a65f48b23cp80 +0x1.f057a19099427p-736, 0x1.0000000000000p-64 +0x1.407a2417c0b48p413, -0x1.90cbb0161a8c6p12 +0x1.04f492d848a39p-816, 0x1.ec7fb651e4df9p225 +-0x1.5290f79114db5p-971, -0x1.feede687f8cf3p-101 +0x1.fb0cc227fae39p-669, 0x1.924f06f662685p143 +-0x1.7d10c2a023848p734, -0x1.86a912207d0c3p757 +-0x1.5ebd0337bf9f3p945, 0x1.cb53f1b618ab5p465 +0x1.cef8d3cce5e81p531, -0x1.0000000000000p-64 +0x1.cdc7962fdc900p51, 0x1.0000000000000p-64 +-0x1.04f492d848a39p-816, 0x1.ec7fb651e4df9p225 +-0x1.23221091a234fp828, -0x1.b08e262c8eca5p972 +0x1.bc16f113ad6ebp-101, 0x1.7c8311241b744p169 +0x1.e1c163876ccdcp843, -0x1.0000000000000p-64 +0x1.3daea5a429d79p-639, 0x1.0000000000000p-64 +0x1.e99204b546e58p215, -0x1.0000000000000p-64 +-0x1.950493326e8b2p679, 0x1.fdc874cefc875p-615 +0x1.016dd4fb0abd2p853, -0x1.c82dd72b4ab44p102 +0x1.d0f6737fbcdbbp-353, 0x1.081a8002b8e53p211 +0x1.f1d1f5c67bb5ap-321, 0x1.d64ec22c49552p176 +-0x1.8a60721e2686ap880, -0x1.936f75de69956p-750 +0x1.8368e4ed700bbp-57, 0x1.0000000000000p-64 +-0x1.7c5d037e915cep538, -0x1.aa30914f141e5p-886 +-0x1.9ff485cb26fa7p227, 0x1.82c1703140ceep465 +-0x1.bc56157fec778p-542, -0x1.898e228074677p-385 +0x1.eb16d56eb1d78p-224, 0x1.393ef32f107adp205 +-0x1.10bf71d60a4d1p-524, 0x1.335ac0ca90f62p1004 +0x1.392bc7ade8723p528, -0x1.50ea12907473fp21 +0x1.a26d44e3b408fp-896, 0x1.beda15a2a2799p129 +0x1.6d0d67d7d2ad2p627, 0x1.35c77413a4d2fp190 +-0x1.47a744db0c087p689, -0x1.0445309d5d5bdp-205 +0x1.0d3c074692057p781, -0x1.885716d3dcfbap146 +0x1.5feca3ddab161p-509, 0x1.3e0c341715e1cp217 +0x1.001af5dcc9beep589, 0x1.0000000000000p-64 +0x1.0b0f700297c73p388, 0x1.0000000000000p-64 +-0x1.4591e2de659a7p796, 0x1.4ab1a273f0697p736 +0x1.1e68964b6cc85p6, -0x1.d50762f9e9ce4p59 +0x1.40a7f08b7509dp-373, 0x1.6784b7c373049p207 +0x1.c43b310d38279p-924, 0x1.d4b5d23a0b96dp239 +0x1.421436f55761ep-12, 0x1.320481b0055a7p227 +-0x1.135fa0f337e6ep856, -0x1.ed172226e05edp335 +-0x1.d0a84005691b7p763, -0x1.68f840a20c734p60 +-0x1.6153c39025700p908, -0x1.87eff6801054cp257 +0x1.ad64258a1c8aep201, -0x1.eb202553cc800p129 +0x1.09a810c8ff945p866, -0x1.0000000000000p-64 +0x1.d14433f742c09p-360, 0x1.f4ff819b628ddp21 +0x1.0c04a59d1fa4fp562, 0x1.66b354392a531p134 +-0x1.84297333218cep712, 0x1.497396c926ddfp73 +-0x1.fb9fd6c57d283p-969, -0x1.eb21f1c75479dp195 +0x1.dd87e7279e72bp748, -0x1.0000000000000p-64 +0x1.e494b3d72a143p612, -0x1.3b94e6aa337a0p-57 +0x1.4a6b277bdabe4p-613, -0x1.0000000000000p-64 +0x1.aa78012aaa9c7p338, 0x1.0000000000000p-64 +-0x1.ab74577adade9p149, -0x1.2057c78ee21ccp31 +0x1.3974c5e1e2049p105, -0x1.d3dbb0fb0baf1p54 +0x1.c83bb023360a9p879, -0x1.0c6922624c625p97 +-0x1.e21c0605b5f2bp-634, 0x1.f28232c2ebba3p-74 +0x1.e61ed69f4f3e5p558, -0x1.0ee6a03187e13p128 +0x1.d32cb4d190af4p-556, -0x1.0000000000000p-64 +0x1.97a202fe3d99bp812, -0x1.12eba5e07e17fp131 +0x1.5cbf140578025p750, -0x1.0000000000000p-64 +0x1.8754d2c071fd1p-796, -0x1.0000000000000p-64 +-0x1.c24a21659e391p874, 0x1.8fca31719d26fp-203 +0x1.db5587ed33e3dp-392, -0x1.0000000000000p-64 +0x1.59b6e3bd2734fp959, -0x1.0000000000000p-64 +-0x1.2f68f32a5979ep367, 0x1.d77b92aecf0f8p-414 +0x1.73e621f69389dp222, -0x1.1235366e0a84bp216 +0x1.076b75274a516p-7, -0x1.0000000000000p-64 +0x1.2505e4b701385p-178, -0x1.0000000000000p-64 +0x1.ae0c974a70a8fp607, 0x1.0000000000000p-64 +0x1.b2c344636c704p595, -0x1.9d1b879d64e7dp213 +-0x1.a6f695e9d29eep-629, 0x1.dad8811e62691p422 +0x1.e5aca4566a08ap234, -0x1.645ed34f63b48p65 +0x1.67faa10de96c9p-929, 0x1.0000000000000p-64 +0x1.503a50f3f36c9p-313, 0x1.a1b537c589279p212 +-0x1.e62711b5b18aap-336, 0x1.176d22b7c6703p-81 +-0x1.78e6d2fb3c6c8p-802, -0x1.4354b70f8d56ap-407 +-0x1.a9b890e6a309bp-974, -0x1.fc73521e05c84p446 +0x1.605c070891e95p751, -0x1.00e8a0f55071cp255 +-0x1.8e249352e8ed4p-690, -0x1.d751a5bb2c420p-254 +0x1.67246027c2465p584, 0x1.3aaa16d492946p178 +0x1.c53735a56d1edp610, -0x1.630662efaf0c6p60 +0x1.d54a131bae182p142, -0x1.a313606a0459dp220 +0x1.38afe5f1ed5b4p-779, 0x1.0000000000000p-64 +0x1.f2aa76462ad42p-982, 0x1.0000000000000p-64 +0x1.e188a166c06b6p45, 0x1.0000000000000p-64 +0x1.fbe85766fae96p-463, 0x1.91c903c89b075p85 +0x1.3342d36ecf081p28, -0x1.0000000000000p-64 +0x1.c2b0a036a1828p719, 0x1.0000000000000p-64 +0x1.ba7f308dc60ddp517, -0x1.b38d014638da6p246 +-0x1.075aa7ba85f42p624, -0x1.a357d32f45a61p-867 +0x1.1fbb4362bf313p995, 0x1.d039c2c0e18bfp-6 +-0x1.150426e803137p622, -0x1.9bafe2efa3e89p39 +-0x1.3f2456d5cba52p116, 0x1.fa9ec45f18306p-389 +0x1.8e58945bd1087p-701, 0x1.0000000000000p-64 +-0x1.ab0ef29932d78p111, 0x1.4313d75c1df97p658 +0x1.ee3e13dd00d34p1016, 0x1.d6b3d3b9034c1p85 +-0x1.7f0bd006c0d62p-324, 0x1.8210646a5ccddp871 +-0x1.c004d2256a5b8p402, -0x1.a01df480fdcb7p98 +-0x1.3717c2e75f865p-749, -0x1.628ab47e4b9c7p-879 +-0x1.dfb414ca1e89fp780, -0x1.b1a6d17b59340p927 +0x1.2bb340a5c99b8p772, -0x1.4cb4a208cd38ap49 +0x1.983d90ffcdc95p-131, 0x1.294857e7a5d9dp66 +0x1.0789a00a3ff0fp-950, -0x1.0000000000000p-64 +0x1.6816c6cd93ea9p112, 0x1.985412f1ac3d6p104 +0x1.3c0e604f8974bp-226, 0x1.0000000000000p-64 +0x1.07acb29e12fc1p687, -0x1.edff80d6b306fp107 +0x1.22c1d3b2c0e45p135, -0x1.9a5dc703e46dbp204 +0x1.ede956a719d56p248, -0x1.80e8e672e144fp156 +-0x1.ff6263662c8fbp-263, 0x1.cf3867b2bac05p652 +0x1.f01e46c129d76p-5, 0x1.00d113cf96023p137 +0x1.45cf928146851p636, 0x1.26b1c5666d711p131 +-0x1.768376c2f7584p563, 0x1.017143ae97b27p545 +-0x1.1f72a3d4f7881p-764, 0x1.4617565381163p177 +0x1.dd9431675dbb5p-114, 0x1.0000000000000p-64 +-0x1.64cc1762105b7p-569, -0x1.2d69b27570067p840 +0x1.bd1077dadd530p235, 0x1.0000000000000p-64 +0x1.0aa166c2b93bdp488, -0x1.48d03430453b8p213 +-0x1.b513845f09747p-331, -0x1.d04e154527b26p685 +0x1.5c97b3a12df62p696, -0x1.e160e008f7d3ap89 +0x1.8eec91bde3d69p-376, -0x1.0000000000000p-64 +0x1.7d29f253d3e79p636, -0x1.8e30a1ba55f7fp77 +0x1.c004d2256a5b8p402, -0x1.a01df480fdcb7p98 +0x1.52b9d41aaa1e9p-589, -0x1.292cb15f1459dp46 +-0x1.ea9ca6fa0919ep-279, -0x1.601e44b6a588cp40 +# pow slow path at 240 bits +# Implemented in sysdeps/ieee754/dbl-64/slowpow.c +## name: 240bits +0x1.01fcd33493ea3p596, -0x1.724bd4e887783p-14 +0x1.032ff59ab34fdp-540, -0x1.61e3632080b87p-24 +0x1.045c337b80f53p304, 0x1.dc3404c30fa69p-56 +0x1.0681338469475p-294, -0x1.3562210f27dfap-51 +0x1.0b55c01eab2a6p-447, -0x1.cd7162fecd483p-48 +0x1.0b74d4b709002p-811, -0x1.0af1478682e96p-50 +0x1.0e4d10f3aabc8p664, 0x1.e2bde3471eaa1p-55 +0x1.110607de11aa5p120, 0x1.dcec269cfd865p-47 +0x1.132aa4cc6f38bp-751, 0x1.366ca7979d9bbp-8 +0x1.138ae6f5a6dadp-680, 0x1.890a0755fce7ap-40 +0x1.1b7b95bdc6400p467, 0x1.ec36f5f75ce4cp-8 +0x1.1c20e7f14086cp-788, 0x1.f22967f8b5d7cp-48 +0x1.278262637b59cp446, -0x1.1aab83169f61cp-10 +0x1.2936f2eb01500p-234, -0x1.aa25c56c7a42ap-51 +0x1.2991068d7df8dp-895, -0x1.e22e0335a6813p-19 +0x1.2a4320a5a4e06p342, 0x1.a60de202d0f39p0 +0x1.2baa57016f98bp445, -0x1.19b39156d7af6p-42 +0x1.3003b731560f2p189, -0x1.d03a35d7809bbp-6 +0x1.3098f631b79b3p322, 0x1.936cf77d12901p-58 +0x1.329f9083895d6p-470, 0x1.c4e0407eac9e1p-60 +0x1.32e62120a48dep-373, 0x1.8c03970ea6143p-15 +0x1.3b69741c89827p-951, 0x1.d7e2d50ab916bp-13 +0x1.46d346d411a30p-451, -0x1.5bed1300261dcp-37 +0x1.48d0870fc99a7p-691, -0x1.4f6541a43b8cdp-5 +0x1.49ae5141ea416p-825, 0x1.cfc4b51dbe592p-24 +0x1.4d1fb5a2a4d73p738, -0x1.d2a54658b1df9p-50 +0x1.4ddb12f9500cbp962, 0x1.48bc1158eb70ap-15 +0x1.4f51d32b02376p758, 0x1.11d1409aaea9fp-27 +0x1.54f723dd63e3bp605, 0x1.6c02f2514de2ap-23 +0x1.5529070b8d631p-489, 0x1.1c3dd76010b92p-37 +0x1.569bf17eb40dfp217, -0x1.8cb97627ae884p-31 +0x1.5e2892c719a5ap817, 0x1.f0e3d4b66e9c0p-11 +0x1.619a049c49284p329, -0x1.0bc7b3735d182p-12 +0x1.62e6745b17235p344, 0x1.86dcb0cd4e584p-39 +0x1.6532120398cb6p374, -0x1.dd57d385dde4ap-56 +0x1.6ab9873394341p712, 0x1.6cec233df7f19p-59 +0x1.6d7c56b0ec1f9p723, -0x1.864ae3aa72d4ap-11 +0x1.6decf38117b3ap-629, 0x1.e1c8b1eaebfbbp-27 +0x1.6f57771705979p518, -0x1.44fbe6fcf4182p-24 +0x1.6f57b14f5f248p880, 0x1.e2554493e7f0cp-2 +0x1.6fee9735004b7p-71, 0x1.8eaf1527d88bep-48 +0x1.7190e00c6cae0p-495, 0x1.705594f79ee43p-33 +0x1.7238a1904c29cp40, 0x1.d454673e675eep-30 +0x1.76aa529cae2a7p-457, -0x1.0652207d202acp-45 +0x1.78e630a117b59p-105, 0x1.ecb1a67d5b9dcp-32 +0x1.7d0976b552b5bp-316, -0x1.9c52a2a02f146p1 +0x1.80a10162f3c9ep-462, 0x1.af6ef1f1d004ep-54 +0x1.8794943d6e34bp-745, -0x1.0c7df064d51e9p-10 +0x1.8a3d749288cbcp-469, 0x1.a9bf9202d914fp-46 +0x1.8da421e64749bp-540, -0x1.494a81df89b6bp-26 +0x1.8e05154795810p247, 0x1.3c04802f44ddcp-47 +0x1.91b9d616c0878p-313, 0x1.a3c9263d26b2ap-30 +0x1.95e973a94d414p-229, 0x1.d83d8244e6566p-28 +0x1.9a3217b4fb0e5p-990, 0x1.82853149b1e30p-42 +0x1.9e2556775fc02p-377, -0x1.a6ec93193a127p-38 +0x1.9e83d7b0c831fp-906, 0x1.6a3485e3e4fe8p-21 +0x1.a51cf0f0f49f7p751, 0x1.07b941a3af664p-12 +0x1.a883c2cef7802p-432, 0x1.b5ee3711a8260p-34 +0x1.aca70602f90f3p205, -0x1.a40d85c2b0ddap-55 +0x1.b118069c4e0f8p133, 0x1.85ed946b41169p0 +0x1.b1ada0a8ca383p-699, 0x1.ddfec76f67c1fp-37 +0x1.b236b6872f638p419, 0x1.fa8f6525758b6p-5 +0x1.b2413258b83b1p892, -0x1.bcea65c80772bp-12 +0x1.b51563dac9885p-571, 0x1.7a1e16e485fdcp-30 +0x1.b5e4833e40f76p-445, 0x1.44e23325bcc3fp-22 +0x1.b6a2168ec3212p-674, -0x1.35bda0265f18bp-30 +0x1.b8dd676727fa1p124, 0x1.3605e6ec76006p-29 +0x1.b95437f961192p-500, 0x1.9276767f94721p-10 +0x1.bb6647f65218ap741, -0x1.b9dd250927a8ap-6 +0x1.bffdf0efb5c4ep-703, 0x1.85fac77188c01p-9 +0x1.c0345583020c9p236, 0x1.de31b044cb918p-37 +0x1.c4b9163604b90p548, 0x1.0a51f116977d3p-17 +0x1.c66ec323be811p-726, -0x1.8829c716f5ddbp-24 +0x1.c69da72348031p-390, 0x1.109f77bb4a2a2p-37 +0x1.c712558c00177p-883, -0x1.9cf047e60fa38p-8 +0x1.c74df6d64da29p-154, -0x1.bdba55e26ef07p2 +0x1.c75fa2c065d1dp731, 0x1.fa827749d723cp-21 +0x1.c8f5b7f54aa5fp-998, 0x1.59fa40e2d7a95p-10 +0x1.c957e3768f0c2p-102, 0x1.0047f59669535p-5 +0x1.ce0615637c099p-737, 0x1.b1795333136d6p-59 +0x1.d1a7872210098p245, -0x1.afd8c410a1918p-16 +0x1.d39ee7b8cae5ep722, 0x1.639a1575eb95cp-56 +0x1.d4b4276a02096p-5, -0x1.7ff8354a6ba9cp-21 +0x1.d500d1daf1bfcp-352, 0x1.e4c7243104fa7p-34 +0x1.d684c68e86321p-661, -0x1.11305765580a9p-13 +0x1.db08f6fcae9f5p-637, -0x1.a8cba163bd1dep-21 +0x1.db09e6535414dp809, -0x1.0b10e70ed8d88p-48 +0x1.e50573d07ecc0p41, 0x1.19ec44b6d99e6p-58 +0x1.e59505ef043e0p926, -0x1.3201c7a1e8882p-62 +0x1.e6b9b28e678a4p546, 0x1.70e042daa89e7p-30 +0x1.e9a4e6bbbf235p-851, -0x1.1d70f7b787412p-21 +0x1.ea68a16e4b7c9p-733, -0x1.ee7f337779825p-34 +0x1.f0e76025ece1cp642, -0x1.bdc0d0d7020d5p-57 +0x1.f1bcb1d70f84bp-568, 0x1.98c5d3b11e934p-21 +0x1.f568146a8c658p240, 0x1.4def9749a6a7ep-44 +0x1.f75bd43867225p-454, 0x1.34b1e5cb0df40p-16 +0x1.fae7a09d10f34p955, -0x1.f7f8439082552p-31 +0x1.fae913d4f952ep-809, -0x1.4b649402fce63p-6 +0x1.fe6d725408f24p484, -0x1.25f4f6441d2e4p-12 +0x1.ff6393f9150ccp-718, 0x1.a0cb50a9bf2f3p-31 # pow slowest path at 768 bits # Implemented in sysdeps/ieee754/dbl-64/slowpow.c ## name: 768bits 1.0000000000000020, 1.5 +0x1.006777b4b61dep843, -0x1.67e3145491872p-1 +0x1.0477a5cfb1972p-402, 0x1.8742e7a1ce99dp-1 +0x1.0827a160ab475p-239, 0x1.fcae51d2d997dp-1 +0x1.083723672b1a4p-204, 0x1.baddc57f1404cp-2 +0x1.0b39f4b2f5c4fp-546, 0x1.7d02a31183f36p-1 +0x1.0e2d62ea9d078p-68, 0x1.8afb43919ece2p3 +0x1.0fedd1fd9bdc5p-1011, 0x1.c0ce64b178832p-6 +0x1.10b984764821ep724, -0x1.36e872083e630p-4 +0x1.12424342d99bbp686, -0x1.f8d4e18b1b309p-5 +0x1.1335f40a059c7p1014, -0x1.5818e19224448p-2 +0x1.14185484cbdb2p-780, 0x1.23f8d7d596280p-4 +0x1.14f5b49e12b8fp-751, 0x1.522c717bca3eap0 +0x1.15fe345b21e2bp399, -0x1.0a09061cd1de9p-1 +0x1.17c3e75436530p104, -0x1.ef30d09c541e9p0 +0x1.1e5296bbfeea7p747, -0x1.f68df5996bfedp-1 +0x1.1efdd081a8d35p-90, 0x1.7c7d10d98a3c9p-1 +0x1.203101f62452ap317, -0x1.3be834bfd34fap-1 +0x1.29cb8617add92p968, -0x1.9cbe73f892a16p-6 +0x1.2d75353d5df74p719, -0x1.e2f317d7b2c01p-1 +0x1.2f08247664913p592, -0x1.35ab9793384a5p-2 +0x1.2ff58217e86d7p725, -0x1.2c98b6be067ccp-2 +0x1.3113614c8b9e1p159, -0x1.fc2f4279c8cbep-1 +0x1.3115402118c24p134, -0x1.d435f65f0eefcp1 +0x1.32e5a1ba96cdap52, -0x1.f7d8248930c17p-1 +0x1.346f712d4c234p78, -0x1.830235fa4eb2cp3 +0x1.35ea84ad8b4fap742, -0x1.728dd1bc7d70cp-3 +0x1.36b91497c147ep579, -0x1.b7e7b0d1ad44dp-2 +0x1.3752c6b5da9e6p351, -0x1.2a00f003acdd1p-1 +0x1.3bccb31761b21p-193, 0x1.bdd7b5da189c8p1 +0x1.42c0b561c10bep-850, 0x1.dcdee5de63ebcp-3 +0x1.4520f56ca1422p-471, 0x1.348c312c9f319p-1 +0x1.46e7406c8e11ep546, -0x1.876f67bed28c4p0 +0x1.4ba3f35d2f4afp-333, 0x1.6e39f0895a072p-3 +0x1.4cb3303ab8786p-838, 0x1.fe88a032de46ap-1 +0x1.4d61505a36a60p234, -0x1.45c3e271db1fep1 +0x1.4fcff0e946b1ep909, -0x1.90fa07de4eea5p-1 +0x1.5172c6b32f2aep293, -0x1.fb0fa58fc74abp-2 +0x1.51e4b4afeb58ap-2, 0x1.f184d702a5f4bp3 +0x1.5212b31c06068p306, -0x1.e8e5c1b09f30dp-2 +0x1.55c7413fbdd0cp-168, 0x1.68687102fa0b8p-3 +0x1.5975f5580b29cp361, -0x1.cda627a0b0899p-3 +0x1.5b3d77ff20607p-694, 0x1.95877099718f5p-4 +0x1.5b85e6f45d26fp763, -0x1.b727a35d92656p-4 +0x1.5c83b2d038766p-984, 0x1.4232c330c81b9p-1 +0x1.5ec6e7e275af2p773, -0x1.8da470ca7dd62p-1 +0x1.60b0e6123149bp-743, 0x1.25a696ab5fc09p-4 +0x1.6567f1ab52caap-769, 0x1.ff57c1e78cc81p-3 +0x1.689cb423d7ec7p95, -0x1.71d3f5a46c36fp-2 +0x1.69e2a022e3db6p-672, 0x1.209f77b27f146p-1 +0x1.6a6bb05202fd0p-621, 0x1.bc1f316194126p-5 +0x1.72b181bf25fd7p303, -0x1.629be448db4f7p1 +0x1.7667d46544feap887, -0x1.e92ef7681c985p-3 +0x1.776f45edc5aa6p967, -0x1.8b34366de0584p-3 +0x1.77d4e3169e8fdp889, -0x1.7159c5a0e440ep-4 +0x1.792c56f01b25ep-474, 0x1.45237144dc76dp-2 +0x1.7c4d814b67ce3p-30, 0x1.32f4217aa69bfp2 +0x1.7fec1487cd8c2p-790, 0x1.373ec1a13952fp-4 +0x1.8280e15921e7bp-544, 0x1.17f4d1f294f23p-2 +0x1.8be4858d98288p395, -0x1.8ecf7076c1cadp-3 +0x1.8c1a3651b2a3cp251, -0x1.fe464693b592fp-1 +0x1.95b8339b15437p-805, 0x1.c590d48f70e09p-4 +0x1.9ea712eab015cp643, -0x1.9f9a2005cd04dp-2 +0x1.9ec010ebb0fb4p966, -0x1.322de55e2f27dp-3 +0x1.a055b4cacfb90p692, -0x1.45a6d0302680bp-4 +0x1.a2541721f7549p508, -0x1.46b5008fed93ap0 +0x1.aa4ea2a62e6d3p146, -0x1.4948a7f0b9447p-2 +0x1.aeab6627bd7fep-883, 0x1.e334b6e331bcfp-4 +0x1.afc9062dd5d6cp285, -0x1.704640b7e8a60p0 +0x1.b2e0e5768b8a4p700, -0x1.e3cc63841415cp-1 +0x1.b44dd7483ff8fp762, -0x1.376275f0c7542p0 +0x1.b461c649ef81fp-297, 0x1.757d3606ad420p-2 +0x1.b47177acf880bp162, -0x1.dbc2c7336fcdcp-3 +0x1.b5d597a5647bep312, -0x1.0d87f0669fd98p-3 +0x1.b5f5f6894898fp824, -0x1.aeec9752febccp-2 +0x1.b78b84a583db6p711, -0x1.443983558960ap-1 +0x1.ba15f474f95a7p250, -0x1.9d46c49adf4ecp1 +0x1.ba6e74fdcaafap685, -0x1.c69a403d3e719p-3 +0x1.c14ed18d4eb53p652, -0x1.231bb32f82a5fp-1 +0x1.c44727ecf4620p-965, 0x1.c61391aad6567p-6 +0x1.c492c6882ec27p-423, 0x1.6bb9123ab40fdp-1 +0x1.c525d219db143p-681, 0x1.5e10738bb6aefp-5 +0x1.ca9510663b619p878, -0x1.8966f1a726428p-2 +0x1.d2d4d70d57384p-769, 0x1.eec5e348f3c65p-5 +0x1.d3275243b3fd2p-203, 0x1.a56f87acf7afbp1 +0x1.d5d3022665384p-509, 0x1.d4f984b477a34p-5 +0x1.dabf72e2c886fp642, -0x1.e930d581ea0c3p-3 +0x1.daffa04064cf7p799, -0x1.b944c271f477bp-1 +0x1.db25c4ae37695p710, -0x1.ff84b0c08defdp-3 +0x1.dc06652f06a70p-689, 0x1.f2eb368dd304ap-3 +0x1.e09726def851ap-784, 0x1.8d62918b2f6a5p-5 +0x1.e1561576de8f5p-470, 0x1.983137f5396b2p-2 +0x1.e5e4c7891da9bp-871, 0x1.5775130263654p-5 +0x1.eca182884f17fp-295, 0x1.af55d3375f461p-3 +0x1.f1c172bc4f401p-360, 0x1.f40476496c282p-4 +0x1.f244722a51df2p548, -0x1.20f7a2f2fc3e8p-2 +0x1.f422f159f235bp126, -0x1.339620de97b69p1 +0x1.f43463d9cef16p-845, 0x1.2c364792462fep-3 +0x1.f8b79758182dap-884, 0x1.ed6174093fca4p-6 +0x1.fa5c677254961p133, -0x1.c91962524971ep-1 +0x1.ff0544adacb78p649, -0x1.6c17c3a7210e2p-1 diff --git a/libc/config.h.in b/libc/config.h.in index 0ee1ec6f5..f6151c55b 100644 --- a/libc/config.h.in +++ b/libc/config.h.in @@ -201,13 +201,13 @@ They are used only in miscellaneous generator programs, not in compiling libc itself. */ -/* sysdeps/generic/configure.in */ +/* sysdeps/generic/configure.ac */ #undef HAVE_PSIGNAL -/* sysdeps/unix/configure.in */ +/* sysdeps/unix/configure.ac */ #undef HAVE_STRERROR -/* sysdeps/unix/common/configure.in */ +/* sysdeps/unix/common/configure.ac */ #undef HAVE_SYS_SIGLIST #undef HAVE__SYS_SIGLIST #undef HAVE__CTYPE_ diff --git a/libc/configure b/libc/configure index deab3950b..81cad5ed6 100755 --- a/libc/configure +++ b/libc/configure @@ -4761,7 +4761,7 @@ $as_echo_n "checking version of $MAKE... " >&6; } ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; - 3.79* | 3.[89]*) + 3.79* | 3.[89]* | [4-9].* | [1-9][0-9]*) ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; @@ -5171,7 +5171,7 @@ $as_echo_n "checking whether $AUTOCONF${ACFLAGS:+ }$ACFLAGS works... " >&6; } if ${libc_cv_autoconf_works+:} false; then : $as_echo_n "(cached) " >&6 else - if (cd $srcdir; $AUTOCONF $ACFLAGS configure.in > /dev/null 2>&1); then + if (cd $srcdir; $AUTOCONF $ACFLAGS configure.ac > /dev/null 2>&1); then libc_cv_autoconf_works=yes else libc_cv_autoconf_works=no diff --git a/libc/configure.in b/libc/configure.ac index ffc8490a1..a246508d8 100644 --- a/libc/configure.in +++ b/libc/configure.ac @@ -984,7 +984,7 @@ AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v, critic_missing="$critic_missing gcc") AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version, [GNU Make[^0-9]*\([0-9][0-9.]*\)], - [3.79* | 3.[89]*], critic_missing="$critic_missing make") + [3.79* | 3.[89]* | [4-9].* | [1-9][0-9]*], critic_missing="$critic_missing make") AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version, [GNU gettext.* \([0-9]*\.[0-9.]*\)], @@ -1010,7 +1010,7 @@ xno|x|x:) AUTOCONF=no ;; *) AC_CACHE_CHECK(dnl whether $AUTOCONF${ACFLAGS:+ }$ACFLAGS works, libc_cv_autoconf_works, [dnl - if (cd $srcdir; $AUTOCONF $ACFLAGS configure.in > /dev/null 2>&1); then + if (cd $srcdir; $AUTOCONF $ACFLAGS configure.ac > /dev/null 2>&1); then libc_cv_autoconf_works=yes else libc_cv_autoconf_works=no @@ -2155,7 +2155,7 @@ AC_SUBST(static_nss) AC_SUBST(DEFINES) -dnl See sysdeps/mach/configure.in for this variable. +dnl See sysdeps/mach/configure.ac for this variable. AC_SUBST(mach_interface_list) VERSION=`sed -n -e 's/^#define VERSION "\([^"]*\)"/\1/p' < $srcdir/version.h` diff --git a/libc/elf/rtld.c b/libc/elf/rtld.c index 8e8eafa94..da92966d5 100644 --- a/libc/elf/rtld.c +++ b/libc/elf/rtld.c @@ -817,8 +817,8 @@ do_preload (char *fname, struct link_map *main_map, const char *where) if (__builtin_expect (err_str != NULL, 0)) { _dl_error_printf ("\ -ERROR: ld.so: object '%s' from %s cannot be preloaded: ignored.\n", - fname, where); +ERROR: ld.so: object '%s' from %s cannot be preloaded (%s): ignored.\n", + fname, where, err_str); /* No need to call free, this is still before the libc's malloc is used. */ } @@ -2218,10 +2218,6 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n", _dl_start_profile (); } -#ifndef NONTLS_INIT_TP -# define NONTLS_INIT_TP do { } while (0) -#endif - if (!was_tls_init_tp_called && GL(dl_tls_max_dtv_idx) > 0) ++GL(dl_tls_generation); diff --git a/libc/include/stdc-predef.h b/libc/include/stdc-predef.h index 4de839d70..f8cb2cb97 100644 --- a/libc/include/stdc-predef.h +++ b/libc/include/stdc-predef.h @@ -26,8 +26,28 @@ explicitly includes a system header. GCC knows the name of this header in order to preinclude it. */ -/* Define __STDC_IEC_559__ and other similar macros. */ -#include <bits/predefs.h> +/* glibc's intent is to support the IEC 559 math functionality, real + and complex. If the GCC (4.9 and later) predefined macros + specifying compiler intent are available, use them to determine + whether the overall intent is to support these features; otherwise, + presume an older compiler has intent to support these features and + define these macros by default. */ + +#ifdef __GCC_IEC_559 +# if __GCC_IEC_559 > 0 +# define __STDC_IEC_559__ 1 +# endif +#else +# define __STDC_IEC_559__ 1 +#endif + +#ifdef __GCC_IEC_559_COMPLEX +# if __GCC_IEC_559_COMPLEX > 0 +# define __STDC_IEC_559_COMPLEX__ 1 +# endif +#else +# define __STDC_IEC_559_COMPLEX__ 1 +#endif /* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) / Unicode 6.0. */ diff --git a/libc/libidn/ChangeLog b/libc/libidn/ChangeLog index 46ebd1fa9..e8130bb5b 100644 --- a/libc/libidn/ChangeLog +++ b/libc/libidn/ChangeLog @@ -1,3 +1,9 @@ +2013-10-30 Mike Frysinger <vapier@gentoo.org> + + * configure.in: Moved to ... + * configure.ac: ... here. + * configure: Regenerated. + 2013-08-29 Ondřej Bílka <neleai@seznam.cz> * stringprep.c: Fix typos. diff --git a/libc/libidn/configure b/libc/libidn/configure index 39ed16352..8195663d9 100644 --- a/libc/libidn/configure +++ b/libc/libidn/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! libc_add_on_canonical= diff --git a/libc/libidn/configure.in b/libc/libidn/configure.ac index 16740ffb9..16740ffb9 100644 --- a/libc/libidn/configure.in +++ b/libc/libidn/configure.ac diff --git a/libc/locale/iso-639.def b/libc/locale/iso-639.def index 83cd7643a..249b6e2d1 100644 --- a/libc/locale/iso-639.def +++ b/libc/locale/iso-639.def @@ -86,6 +86,7 @@ DEFINE_LANGUAGE_CODE3 ("Caucasian (Other)", cau, cau) DEFINE_LANGUAGE_CODE3 ("Cebuano", ceb, ceb) DEFINE_LANGUAGE_CODE3 ("Celtic (Other)", cel, cel) DEFINE_LANGUAGE_CODE3 ("Central American Indian (Other)", cai, cai) +DEFINE_LANGUAGE_CODE3 ("Central Nahuatl", nhn, nhn) DEFINE_LANGUAGE_CODE3 ("Central Sama", sml, sml) DEFINE_LANGUAGE_CODE3 ("Chagatai", chg, chg) DEFINE_LANGUAGE_CODE3 ("Chamic languages", cmc, cmc) @@ -271,6 +272,7 @@ DEFINE_LANGUAGE_CODE ("Lao", lo, lao, lao) DEFINE_LANGUAGE_CODE ("Latin", la, lat, lat) DEFINE_LANGUAGE_CODE ("Latvian", lv, lav, lav) DEFINE_LANGUAGE_CODE3 ("Lezghian", lez, lez) +DEFINE_LANGUAGE_CODE3 ("Ligurian", lij, lij) DEFINE_LANGUAGE_CODE ("Limburgan; Limburger; Limburgish", li, lim, lim) DEFINE_LANGUAGE_CODE ("Lingala", ln, lin, lin) DEFINE_LANGUAGE_CODE3 ("Literary Chinese", lzh, lzh) @@ -310,6 +312,7 @@ DEFINE_LANGUAGE_CODE ("Marshallese", mh, mah, mah) DEFINE_LANGUAGE_CODE3 ("Marwari", mwr, mwr) DEFINE_LANGUAGE_CODE3 ("Masai", mas, mas) DEFINE_LANGUAGE_CODE3 ("Mayan languages", myn, myn) +DEFINE_LANGUAGE_CODE3 ("Meadow Mari", mhr, mhr) DEFINE_LANGUAGE_CODE3 ("Mende", men, men) DEFINE_LANGUAGE_CODE3 ("Mi'kmaq; Micmac", mic, mic) DEFINE_LANGUAGE_CODE3 ("Minangkabau", min, min) @@ -383,6 +386,7 @@ DEFINE_LANGUAGE_CODE3 ("Provençal, Old (to 1500)", pro, pro) DEFINE_LANGUAGE_CODE3 ("Pu-Xian Chinese", cpx, cpx) DEFINE_LANGUAGE_CODE ("Pushto", ps, pus, pus) DEFINE_LANGUAGE_CODE ("Quechua", qu, que, que) +DEFINE_LANGUAGE_CODE3 ("Quechua, Southern", quz, quz) DEFINE_LANGUAGE_CODE ("Raeto-Romance", rm, roh, roh) DEFINE_LANGUAGE_CODE3 ("Rajasthani", raj, raj) DEFINE_LANGUAGE_CODE3 ("Rapanui", rap, rap) @@ -415,6 +419,7 @@ DEFINE_LANGUAGE_CODE3 ("Sicilian", scn, scn) DEFINE_LANGUAGE_CODE3 ("Sidamo", sid, sid) DEFINE_LANGUAGE_CODE3 ("Sign Languages", sgn, sgn) DEFINE_LANGUAGE_CODE3 ("Siksika", bla, bla) +DEFINE_LANGUAGE_CODE3 ("Silesian", szl, szl) DEFINE_LANGUAGE_CODE ("Sindhi", sd, snd, snd) DEFINE_LANGUAGE_CODE ("Sinhala; Sinhalese", si, sin, sin) DEFINE_LANGUAGE_CODE3 ("Sino-Tibetan (Other)", sit, sit) @@ -481,6 +486,7 @@ DEFINE_LANGUAGE_CODE3 ("Ugaritic", uga, uga) DEFINE_LANGUAGE_CODE ("Uighur; Uyghur", ug, uig, uig) DEFINE_LANGUAGE_CODE ("Ukrainian", uk, ukr, ukr) DEFINE_LANGUAGE_CODE3 ("Umbundu", umb, umb) +DEFINE_LANGUAGE_CODE3 ("Unami Delaware", unm, unm) DEFINE_LANGUAGE_CODE3 ("Undetermined", und, und) DEFINE_LANGUAGE_CODE3 ("Upper Sorbian", hsb, hsb) DEFINE_LANGUAGE_CODE ("Urdu", ur, urd, urd) @@ -492,7 +498,7 @@ DEFINE_LANGUAGE_CODE ("Volapük", vo, vol, vol) DEFINE_LANGUAGE_CODE3 ("Votic", vot, vot) DEFINE_LANGUAGE_CODE3 ("Wakashan languages", wak, wak) DEFINE_LANGUAGE_CODE3 ("Walser", wae, wae) -DEFINE_LANGUAGE_CODE3 ("Walamo", wal, wal) +DEFINE_LANGUAGE_CODE3 ("Walaita", wal, wal) DEFINE_LANGUAGE_CODE ("Walloon", wa, wln, wln) DEFINE_LANGUAGE_CODE3 ("Waray", war, war) DEFINE_LANGUAGE_CODE3 ("Washo", was, was) diff --git a/libc/locale/locarchive.h b/libc/locale/locarchive.h index f2d84771a..fec3b1a4f 100644 --- a/libc/locale/locarchive.h +++ b/libc/locale/locarchive.h @@ -80,6 +80,8 @@ struct locrecent struct locarhandle { + /* Full path to the locale archive file. */ + const char *fname; int fd; void *addr; size_t mmaped; diff --git a/libc/locale/programs/localedef.c b/libc/locale/programs/localedef.c index 51927173a..8b94ba066 100644 --- a/libc/locale/programs/localedef.c +++ b/libc/locale/programs/localedef.c @@ -212,7 +212,7 @@ main (int argc, char *argv[]) /* Handle a few special cases. */ if (list_archive) - show_archive_content (verbose); + show_archive_content (remaining > 1 ? argv[remaining] : NULL, verbose); if (add_to_archive) return add_locales_to_archive (argc - remaining, &argv[remaining], replace_archive); diff --git a/libc/locale/programs/localedef.h b/libc/locale/programs/localedef.h index e010c7298..5a05a2e38 100644 --- a/libc/locale/programs/localedef.h +++ b/libc/locale/programs/localedef.h @@ -170,7 +170,9 @@ extern int add_locales_to_archive (size_t nlist, char *list[], bool replace); /* Removed named locales from archive. */ extern int delete_locales_from_archive (size_t nlist, char *list[]); -/* List content of locale archive. */ -extern void show_archive_content (int verbose) __attribute__ ((noreturn)); +/* List content of locale archive. If FNAME is non-null use that as + the locale archive to list, otherwise the default. */ +extern void show_archive_content (const char *fname, + int verbose) __attribute__ ((noreturn)); #endif /* localedef.h */ diff --git a/libc/locale/programs/locarchive.c b/libc/locale/programs/locarchive.c index e2a30b568..e796865a7 100644 --- a/libc/locale/programs/locarchive.c +++ b/libc/locale/programs/locarchive.c @@ -223,6 +223,7 @@ create_archive (const char *archivefname, struct locarhandle *ah) _("cannot change mode of new locale archive")); } + ah->fname = NULL; ah->fd = fd; ah->mmap_base = mmap_base; ah->mmap_len = mmap_len; @@ -562,11 +563,17 @@ open_archive (struct locarhandle *ah, bool readonly) struct locarhead head; int retry = 0; size_t prefix_len = output_prefix ? strlen (output_prefix) : 0; - char archivefname[prefix_len + sizeof (ARCHIVE_NAME)]; + char default_fname[prefix_len + sizeof (ARCHIVE_NAME)]; + char *archivefname = ah->fname; - if (output_prefix) - memcpy (archivefname, output_prefix, prefix_len); - strcpy (archivefname + prefix_len, ARCHIVE_NAME); + /* If ah has a non-NULL fname open that otherwise open the default. */ + if (archivefname == NULL) + { + archivefname = default_fname; + if (output_prefix) + memcpy (archivefname, output_prefix, prefix_len); + strcpy (archivefname + prefix_len, ARCHIVE_NAME); + } while (1) { @@ -574,8 +581,11 @@ open_archive (struct locarhandle *ah, bool readonly) fd = open64 (archivefname, readonly ? O_RDONLY : O_RDWR); if (fd == -1) { - /* Maybe the file does not yet exist. */ - if (errno == ENOENT) + /* Maybe the file does not yet exist? If we are opening + the default locale archive we ignore the failure and + list an empty archive, otherwise we print an error + and exit. */ + if (errno == ENOENT && archivefname == default_fname) { if (readonly) { @@ -1329,6 +1339,7 @@ add_locales_to_archive (nlist, list, replace) /* Open the archive. This call never returns if we cannot successfully open the archive. */ + ah.fname = NULL; open_archive (&ah, false); while (nlist-- > 0) @@ -1528,6 +1539,7 @@ delete_locales_from_archive (nlist, list) /* Open the archive. This call never returns if we cannot successfully open the archive. */ + ah.fname = NULL; open_archive (&ah, false); head = ah.addr; @@ -1617,7 +1629,7 @@ dataentcmp (const void *a, const void *b) void -show_archive_content (int verbose) +show_archive_content (const char *fname, int verbose) { struct locarhandle ah; struct locarhead *head; @@ -1627,6 +1639,7 @@ show_archive_content (int verbose) /* Open the archive. This call never returns if we cannot successfully open the archive. */ + ah.fname = fname; open_archive (&ah, true); head = ah.addr; diff --git a/libc/locale/programs/locfile.c b/libc/locale/programs/locfile.c index f12ca0725..73bbe11c3 100644 --- a/libc/locale/programs/locfile.c +++ b/libc/locale/programs/locfile.c @@ -343,6 +343,7 @@ write_all_categories (struct localedef_t *definitions, /* Open the archive. This call never returns if we cannot successfully open the archive. */ + ah.fname = NULL; open_archive (&ah, false); if (add_locale_to_archive (&ah, locname, to_archive, true) != 0) diff --git a/libc/localedata/ChangeLog b/libc/localedata/ChangeLog index b87cc98f4..e493d9d3e 100644 --- a/libc/localedata/ChangeLog +++ b/libc/localedata/ChangeLog @@ -1,3 +1,118 @@ +2013-11-04 Chris Leonard <cjl@sugarlabs.org> + + * locales/unm_US: Adjust language-code fields of LC_ADDRESS. + * locales/wal_ET: Likewise. + +2013-11-03 Chris Leonard <cjl@sugarlabs.org> + + * locales/quz_PE: Adjust language-code fields of LC_ADDRESS. + * locales/szl_PL: Likewise. + * locales/ta_IN: Likewise. + * locales/ta_LK: Likewise. + * locales/te_IN: Likewise. + * locales/tg_TJ: Likewise. + * locales/tl_PH: Likewise. + * locales/tn_ZA: Likewise. + * locales/tr_CY: Likewise. + * locales/tr_TR: Likewise. + * locales/ts_ZA: Likewise. + * locales/tt_RU: Likewise. + * locales/tt_RU@iqtelif: Likewise. + * locales/ug_CN: Likewise. + * locales/ur_IN: Likewise. + * locales/ur_PK: Likewise. + * locales/uz_UZ: Likewise. + * locales/uz_UZ@cyrillic: Likewise. + * locales/ve_ZA: Likewise. + * locales/vi_VN: Likewise. + * locales/wa_BE: Likewise. + * locales/wal_ET: Likewise. + * locales/wo_SN: Likewise. + * locales/xh_ZA: Likewise. + * locales/yi_US: Likewise. + * locales/yue_HK: Likewise. + * locales/zh_HK: Likewise. + * locales/zh_SG: Likewise. + +2013-11-03 Chris Leonard <cjl@sugarlabs.org> + + * locales/pa_IN: Adjust language-code fields of LC_ADDRESS. + * locales/pa_PK: Likewise. + * locales/pl_PL: Likewise. + * locales/ps_AF: Likewise. + * locales/pt_BR: Likewise. + * locales/pt_PT: Likewise. + * locales/ru_RU: Likewise. + * locales/ru_UA: Likewise. + * locales/sa_IN: Likewise. + * locales/sat_IN: Likewise. + * locales/sc_IT: Likewise. + * locales/sd_IN: Likewise. + * locales/sd_IN@devanagari: Likewise. + * locales/se_NO: Likewise. + * locales/si_LK: Likewise. + * locales/sk_SK: Likewise. + * locales/sl_SI: Likewise. + * locales/sq_AL: Likewise. + * locales/sq_MK: Likewise. + * locales/ss_ZA: Likewise. + * locales/st_ZA: Likewise. + * locales/sv_SE: Likewise. + * locales/sw_KE: Likewise. + * locales/sw_TZ: Likewise. + +2013-11-01 Chris Leonard <cjl@sugarlabs.org> + + * locales/nb_NO: Adjust language-code fields of LC_ADDRESS. + * locales/ne_NP: Likewise. + * locales/nhn_MX: Likewise. + * locales/niu_NU: Likewise. + * locales/niu_NZ: Likewise. + * locales/nl_AW: Likewise. + * locales/nl_BE: Likewise. + * locales/nn_NO: Likewise. + * locales/nr_ZA: Likewise. + * locales/oc_FR: Likewise. + * locales/or_IN: Likewise. + * locales/os_RU: Likewise. + +2013-10-31 Chris Leonard <cjl@sugarlabs.org> + + * locales/mag_IN: Adjust language-code fields of LC_ADDRESS. + * locales/mai_IN: Likewise. + * locales/mg_MG: Likewise. + * locales/mhr_RU: Likewise. + * locales/mi_NZ: Likewise. + * locales/ml_IN: Likewise. + * locales/mni_IN: Likewise. + * locales/mr_IN: Likewise. + * locales/ms_MY: Likewise. + * locales/mt_MT: Likewise. + +2013-10-29 Chris Leonard <cjl@sugarlabs.org> + + [BZ #16078] + * locales/anp_IN: New locale for anp_IN. + * SUPPORTED: Add anp_IN. + +2013-10-24 Chris Leonard <cjl@sugarlabs.org> + + * locales/ja_JP: Adjust language-code fields of LC_ADDRESS. + * locales/ka_GE: Likewise. + * locales/kk_KZ: Likewise. + * locales/kl_GL: Likewise. + * locales/kn_IN: Likewise. + * locales/ko_KR: Likewise. + * locales/kok_IN: Likewise. + * locales/ks_IN: Likewise. + * locales/ku_TR: Likewise. + * locales/kw_GB: Likewise. + * locales/ky_KG: Likewise. + * locales/lg_UG: Likewise. + * locales/lij_IT: Likewise. + * locales/lt_LT: Likewise. + * locales/lv_LV: Likewise. + 2013-10-13 Chris Leonard <cjl@sugarlabs.org> * locales/he_IL: Adjust language-code fields of LC_ADDRESS. diff --git a/libc/localedata/SUPPORTED b/libc/localedata/SUPPORTED index 9fde294a8..25dfca306 100644 --- a/libc/localedata/SUPPORTED +++ b/libc/localedata/SUPPORTED @@ -12,6 +12,7 @@ ak_GH/UTF-8 \ am_ET/UTF-8 \ an_ES.UTF-8/UTF-8 \ an_ES/ISO-8859-15 \ +anp_IN/UTF-8 \ ar_AE.UTF-8/UTF-8 \ ar_AE/ISO-8859-6 \ ar_BH.UTF-8/UTF-8 \ diff --git a/libc/localedata/locales/anp_IN b/libc/localedata/locales/anp_IN new file mode 100644 index 000000000..c2400643c --- /dev/null +++ b/libc/localedata/locales/anp_IN @@ -0,0 +1,205 @@ +comment_char % +escape_char / + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Angika language locale for India. +% +% Contributed by Dr Amrendra, Sangeeta Kumari <sangeeta_0975@yahoo.com>, +% Rajesh Ranjan <rajeshkajha@yahoo.com>, Pravin Satpute <psatpute AT redhat DOT com> +% and Chris Leonard <cjlhomeaddress AT gmail DOT com> +% +% This file is a part of GNU C Library (glibc) and contains locale data. The +% Free Software Foundation does not claim any copyright interest in the +% locale data contained in this file. The foregoing does not affect the +% license of GNU C Library (glibc) as a whole. It does not exempt you from the +% conditions of the license if your use would otherwise be governed by +% that license. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +LC_IDENTIFICATION +title "Angika language locale for India" +source "" +address "" +contact "" +email "bhashaghar@googlegroups.com" +tel "" +fax "" +language "Angika" +territory "India" +revision "1.0" +date "2013-10-24" +% +category "anp_IN:2013";LC_IDENTIFICATION +category "anp_IN:2013";LC_CTYPE +category "anp_IN:2013";LC_COLLATE +category "anp_IN:2013";LC_TIME +category "anp_IN:2013";LC_NUMERIC +category "anp_IN:2013";LC_MONETARY +category "anp_IN:2013";LC_MESSAGES +category "anp_IN:2013";LC_PAPER +category "anp_IN:2013";LC_NAME +category "anp_IN:2013";LC_ADDRESS +category "anp_IN:2013";LC_TELEPHONE + +END LC_IDENTIFICATION + +LC_CTYPE +copy "hi_IN" +END LC_CTYPE + +LC_COLLATE +copy "hi_IN" +END LC_COLLATE + +LC_MONETARY +copy "hi_IN" +END LC_MONETARY + + +LC_NUMERIC +copy "hi_IN" +END LC_NUMERIC + + +LC_TIME +% This is the POSIX Locale definition for the LC_TIME category. +% These are generated based on XML base Locale definition file +% for IBM Class for Unicode/Java +% +% Abbreviated weekday names (%a) +% रवि; सोम; मंगल; बुध; बृहस्पति; शुक्र; शनि +abday "<U0930><U0935><U093F><U0020>";/ + "<U0938><U094B><U092E><U0020>";/ + "<U092E><U0902><U0917><U0932><U0020>";/ + "<U092C><U0941><U0927><U0020>";/ + "<U092C><U0943><U0939><U0938><U094D><U092A><U0924><U093F><U0020>";/ + "<U0936><U0941><U0915><U094D><U0930><U0020>";/ + "<U0936><U0928><U093F><U0020>" +% +% Full weekday names (%A) +% रविवार; सोमवार; मंगलवार; बुधवार; बृहस्पतिवार; शुक्रवार; शनिवार +day "<U0930><U0935><U093F><U0935><U093E><U0930><U0020>";/ + "<U0938><U094B><U092E><U0935><U093E><U0930><U0020>";/ + "<U092E><U0902><U0917><U0932><U0935><U093E><U0930><U0020>";/ + "<U092C><U0941><U0927><U0935><U093E><U0930><U0020>";/ + "<U092C><U0943><U0939><U0938><U094D><U092A><U0924><U093F><U0935><U093E><U0930><U0020>";/ + "<U0936><U0941><U0915><U094D><U0930><U0935><U093E><U0930><U0020>";/ + "<U0936><U0928><U093F><U0935><U093E><U0930><U0020>" +% +% Abbreviated month names (%b) +% जन; फर; मार्च; अप्रै; मई; जून; जुल; अग; सित; अक्टू; नव; दिस +abmon "<U091C><U0928><U0935><U0930><U0940>";/ + "<U092B><U0930><U0935><U0930><U0940>";/ + "<U092E><U093E><U0930><U094D><U091A>";/ + "<U0905><U092A><U094D><U0930><U0948><U0932>";/ + "<U092E><U0908>";/ + "<U091C><U0942><U0928>";/ + "<U091C><U0941><U0932><U093E><U0908>";/ + "<U0905><U0917><U0938><U094D><U0924>";/ + "<U0938><U093F><U0924><U0902><U092C><U0930>";/ + "<U0905><U0915><U094D><U091F><U0942><U092C><U0930>";/ + "<U0928><U0935><U0902><U092C><U0930>";/ + "<U0926><U093F><U0938><U0902><U092C><U0930>" +% +% Full month names (%B) +% जनवरी; फरवरी; मार्च; अप्रैल; मई; जून; जुलाई; अगस्त; सितंबर; अक्टूबर; नवंबर; दिसंबर +mon "<U091C><U0928><U0935><U0930><U0940>";/ + "<U092B><U0930><U0935><U0930><U0940>";/ + "<U092E><U093E><U0930><U094D><U091A>";/ + "<U0905><U092A><U094D><U0930><U0948><U0932>";/ + "<U092E><U0908>";/ + "<U091C><U0942><U0928>";/ + "<U091C><U0941><U0932><U093E><U0908>";/ + "<U0905><U0917><U0938><U094D><U0924>";/ + "<U0938><U093F><U0924><U0902><U092C><U0930>";/ + "<U0905><U0915><U094D><U091F><U0942><U092C><U0930>";/ + "<U0928><U0935><U0902><U092C><U0930>";/ + "<U0926><U093F><U0938><U0902><U092C><U0930>"% +% +% Equivalent of AM PM +% पूर्वाह्न; अपराह्न +am_pm "<U092A><U0942><U0930><U094D><U0935><U093E><U0939><U094D><U0928>";/ + "<U0905><U092A><U0930><U093E><U0939><U094D><U0928>" +% +% Appropriate date and time representation +% %A %d %b %Y%I:%M:%S %Z +d_t_fmt "<U0025><U0041><U0020><U0025><U0064><U0020><U0025><U0062>/ +<U0020><U0025><U0059><U0020><U0025><U0049><U003A><U0025><U004D><U003A>/ +<U0025><U0053><U0020><U0025><U0070><U0020><U0025><U005A>" +% +% Appropriate date representation +% %A %d %b %Y +d_fmt "<U0025><U0041><U0020><U0025><U0064><U0020><U0025><U0062>/ +<U0020><U0025><U0059>" +% +% Appropriate time representation +% %I:%M:%S %Z +t_fmt "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053>/ +<U0020><U0020><U0025><U005A>" +% +% Appropriate 12 h time representation (%r) +t_fmt_ampm "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053>/ +<U0020><U0025><U0070><U0020><U0025><U005A>" +% +date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/ +<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/ +<U0025><U005A><U0020><U0025><U0059>" +END LC_TIME + + +LC_MESSAGES +% ^[yY].* +yesexpr "<U005E><U005B><U0939><U0935><U0079><U0059><U005D>" +% ^[nN].* +noexpr "<U005E><U005B><U0928><U0907><U006E><U004E><U005D>" +END LC_MESSAGES + + +LC_PAPER +copy "hi_IN" +END LC_PAPER + + +LC_NAME +% This is the ISO_IEC TR14652 Locale definition for the +% LC_NAME category. +% +name_fmt "<U0025><U0070><U0025><U0074><U0025><U0066><U0025><U0074>/ +<U0025><U0067>" +name_gen "" +% श्री +name_mr "<U0936><U094D><U0930><U0940>" +% श्रीमती +name_mrs "<U0936><U094D><U0930><U0940><U092E><U0924><U0940>" +% कुमारी +name_miss "<U0915><U0941><U092E><U093E><U0930><U0940>" +% कुमार +name_ms "<U0915><U0941><U092E><U093E><U0930>" +END LC_NAME + + +LC_ADDRESS +postal_fmt "<U0025><U007A><U0025><U0063><U0025><U0054><U0025><U0073>/ +<U0025><U0062><U0025><U0065><U0025><U0072>" +country_ab2 "<U0049><U004E>" +country_ab3 "<U0049><U004E><U0044>" +country_num 356 +% IND +country_car "<U0049><U004E><U0044>" +% anp +lang_term "<U0061><U006E><U0070>" +% anp +lang_lib "<U0061><U006E><U0070>" +END LC_ADDRESS + + +LC_TELEPHONE +copy "hi_IN" +END LC_TELEPHONE + + +LC_MEASUREMENT +measurement 1 +END LC_MEASUREMENT diff --git a/libc/localedata/locales/ja_JP b/libc/localedata/locales/ja_JP index ee2e7f3be..53b11e997 100644 --- a/libc/localedata/locales/ja_JP +++ b/libc/localedata/locales/ja_JP @@ -15044,7 +15044,12 @@ country_ab3 "<U004A><U0050><U004E>" country_num 392 % J country_car "<U004A>" - +% ja +lang_ab "<U006A><U0061>" +% jpn +lang_term "<U006A><U0070><U006E>" +% jpn +lang_lib "<U006A><U0070><U006E>" END LC_ADDRESS diff --git a/libc/localedata/locales/ka_GE b/libc/localedata/locales/ka_GE index 5577c5453..0b7114260 100644 --- a/libc/localedata/locales/ka_GE +++ b/libc/localedata/locales/ka_GE @@ -48,9 +48,12 @@ country_num 268 country_car "<U0047><U0045>" country_isbn "99928" % lang_name FIXME Georgian in Georgian -lang_ab "ka" -lang_term "kat" -lang_lib "geo" +% ka +lang_ab "<U006B><U0061>" +% kat +lang_term "<U006B><U0061><U0074>" +% geo +lang_lib "<U0067><U0065><U006F>" END LC_ADDRESS LC_COLLATE diff --git a/libc/localedata/locales/kk_KZ b/libc/localedata/locales/kk_KZ index 2f4994da6..9fe04881a 100644 --- a/libc/localedata/locales/kk_KZ +++ b/libc/localedata/locales/kk_KZ @@ -263,5 +263,10 @@ postal_fmt "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/ <U004E><U0025><U0063><U0025><U004E>" % KZ country_car "<U004B><U005A>" - +% kk +lang_ab "<U006B><U006B>" +% kaz +lang_term "<U006B><U0061><U007A>" +% kaz +lang_lib "<U006B><U0061><U007A>" END LC_ADDRESS diff --git a/libc/localedata/locales/kl_GL b/libc/localedata/locales/kl_GL index 5bd305d94..217ba6bf9 100644 --- a/libc/localedata/locales/kl_GL +++ b/libc/localedata/locales/kl_GL @@ -145,4 +145,10 @@ country_ab3 "<U0047><U0052><U004C>" country_num 304 % GRO country_car "<U0047><U0052><U004F>" +% kl +lang_ab "<U006B><U006C>" +% kal +lang_term "<U006B><U0061><U006C>" +% kal +lang_lib "<U006B><U0061><U006C>" END LC_ADDRESS diff --git a/libc/localedata/locales/kn_IN b/libc/localedata/locales/kn_IN index ce0a1ade6..aa6ea38b2 100644 --- a/libc/localedata/locales/kn_IN +++ b/libc/localedata/locales/kn_IN @@ -221,7 +221,12 @@ country_ab3 "<U0049><U004E><U0044>" country_num 356 % IND country_car "<U0049><U004E><U0044>" - +% kn +lang_ab "<U006B><U006E>" +% kan +lang_term "<U006B><U0061><U006E>" +% kan +lang_lib "<U006B><U0061><U006E>" END LC_ADDRESS diff --git a/libc/localedata/locales/ko_KR b/libc/localedata/locales/ko_KR index 97d9b1656..fea519eb9 100644 --- a/libc/localedata/locales/ko_KR +++ b/libc/localedata/locales/ko_KR @@ -6249,5 +6249,10 @@ country_ab3 "<U004B><U004F><U0052>" country_num 410 % ROK country_car "<U0052><U004F><U004B>" - +% ko +lang_ab "<U006B><U006F>" +% kor +lang_term "<U006B><U006F><U0072>" +% kor +lang_lib "<U006B><U006F><U0072>" END LC_ADDRESS diff --git a/libc/localedata/locales/kok_IN b/libc/localedata/locales/kok_IN index c17887c2b..fb7aa9e6e 100644 --- a/libc/localedata/locales/kok_IN +++ b/libc/localedata/locales/kok_IN @@ -198,6 +198,10 @@ country_ab3 "<U0049><U004E><U0044>" country_num 356 % IND country_car "<U0049><U004E><U0044>" +% kok +lang_term "<U006B><U006F><U006B>" +% kok +lang_lib "<U006B><U006F><U006B>" END LC_ADDRESS diff --git a/libc/localedata/locales/ks_IN b/libc/localedata/locales/ks_IN index bdaf57dc0..ad6eafef7 100644 --- a/libc/localedata/locales/ks_IN +++ b/libc/localedata/locales/ks_IN @@ -199,6 +199,12 @@ country_ab3 "<U0049><U004E><U0044>" country_num 356 % IND country_car "<U0049><U004E><U0044>" +% ks +lang_ab "<U006B><U0073>" +% kas +lang_term "<U006B><U0061><U0073>" +% kas +lang_lib "<U006B><U0061><U0073>" END LC_ADDRESS diff --git a/libc/localedata/locales/ku_TR b/libc/localedata/locales/ku_TR index 3fff19ccb..ddd671d97 100644 --- a/libc/localedata/locales/ku_TR +++ b/libc/localedata/locales/ku_TR @@ -210,7 +210,10 @@ country_isbn 975 country_car "<U0054><U0052>" % "kurdi" lang_name "<U006B><U0075><U0072><U0064><U0069>" -lang_ab "ku" -lang_term "kur" -lang_lib "kur" +% ku +lang_ab "<U006B><U0075>" +% kur +lang_term "<U006B><U0075><U0072>" +% kur +lang_lib "<U006B><U0075><U0072>" END LC_ADDRESS diff --git a/libc/localedata/locales/kw_GB b/libc/localedata/locales/kw_GB index a7c03b9b7..35b21e50b 100644 --- a/libc/localedata/locales/kw_GB +++ b/libc/localedata/locales/kw_GB @@ -166,5 +166,10 @@ country_ab3 "<U0047><U0042><U0052>" country_num 826 % GB country_car "<U0047><U0042>" - +% kw +lang_ab "<U006B><U0077>" +% cor +lang_term "<U0063><U006F><U0072>" +% cor +lang_lib "<U0063><U006F><U0072>" END LC_ADDRESS diff --git a/libc/localedata/locales/ky_KG b/libc/localedata/locales/ky_KG index 2702ad31f..107b2a43c 100644 --- a/libc/localedata/locales/ky_KG +++ b/libc/localedata/locales/ky_KG @@ -206,5 +206,10 @@ country_ab3 "<U004B><U0059><U0052>" %country_num 643 % KS country_car "<U004B><U0053>" - +% ky +lang_ab "<U006B><U0079>" +% kir +lang_term "<U006B><U0069><U0072>" +% kir +lang_lib "<U006B><U0069><U0072>" END LC_ADDRESS diff --git a/libc/localedata/locales/lg_UG b/libc/localedata/locales/lg_UG index 0248145a4..f75e07ba2 100644 --- a/libc/localedata/locales/lg_UG +++ b/libc/localedata/locales/lg_UG @@ -332,5 +332,10 @@ country_ab3 "<U0055><U0047><U0041>" country_num 800 % EAU country_car "<U0045><U0041><U0055>" - +% lg +lang_ab "<U006C><U0067>" +% lug +lang_term "<U006C><U0075><U0067>" +% lug +lang_lib "<U006C><U0075><U0067>" END LC_ADDRESS diff --git a/libc/localedata/locales/lij_IT b/libc/localedata/locales/lij_IT index 0d7e4586e..647528011 100644 --- a/libc/localedata/locales/lij_IT +++ b/libc/localedata/locales/lij_IT @@ -131,4 +131,8 @@ country_ab3 "<U0049><U0054><U0041>" country_num 380 % I country_car "<U0049>" +% lij +lang_term "<U006C><U0069><U006A>" +% lij +lang_lib "<U006C><U0069><U006A>" END LC_ADDRESS diff --git a/libc/localedata/locales/lt_LT b/libc/localedata/locales/lt_LT index 659a45d6c..49aff858e 100644 --- a/libc/localedata/locales/lt_LT +++ b/libc/localedata/locales/lt_LT @@ -2234,5 +2234,10 @@ country_ab3 "<U004C><U0054><U0055>" country_num 440 % LT country_car "<U004C><U0054>" - +% lt +lang_ab "<U006C><U0074>" +% lit +lang_term "<U006C><U0069><U0074>" +% lit +lang_lib "<U006C><U0069><U0074>" END LC_ADDRESS diff --git a/libc/localedata/locales/lv_LV b/libc/localedata/locales/lv_LV index ae9de9b46..4ae623cfa 100644 --- a/libc/localedata/locales/lv_LV +++ b/libc/localedata/locales/lv_LV @@ -2226,5 +2226,10 @@ country_ab3 "<U004C><U0056><U0041>" country_num 428 % LV country_car "<U004C><U0056>" - +% lv +lang_ab "<U006C><U0076>" +% lav +lang_term "<U006C><U0061><U0076>" +% lav +lang_lib "<U006C><U0061><U0076>" END LC_ADDRESS diff --git a/libc/localedata/locales/mag_IN b/libc/localedata/locales/mag_IN index 4510776da..098002ee8 100644 --- a/libc/localedata/locales/mag_IN +++ b/libc/localedata/locales/mag_IN @@ -163,7 +163,10 @@ country_ab3 "<U0049><U004E><U0044>" country_num 356 % IND country_car "<U0049><U004E><U0044>" - +% mag +lang_term "<U006D><U0061><U0067>" +% mag +lang_lib "<U006D><U0061><U0067>" END LC_ADDRESS diff --git a/libc/localedata/locales/mai_IN b/libc/localedata/locales/mai_IN index 30108990b..7d01817a8 100644 --- a/libc/localedata/locales/mai_IN +++ b/libc/localedata/locales/mai_IN @@ -79,7 +79,10 @@ country_ab3 "<U0049><U004E><U0044>" country_num 356 % IND country_car "<U0049><U004E><U0044>" - +% mai +lang_term "<U006D><U0061><U0069>" +% mai +lang_lib "<U006D><U0061><U0069>" END LC_ADDRESS diff --git a/libc/localedata/locales/mg_MG b/libc/localedata/locales/mg_MG index 159a4a206..14a8658de 100644 --- a/libc/localedata/locales/mg_MG +++ b/libc/localedata/locales/mg_MG @@ -180,4 +180,10 @@ country_ab3 "<U004D><U0044><U0047>" country_num 450 % RM country_car "<U0052><U004D>" +% mg +lang_ab "<U006D><U0067>" +% mlg +lang_term "<U006D><U006C><U0067>" +% mlg +lang_lib "<U006D><U006C><U0067>" END LC_ADDRESS diff --git a/libc/localedata/locales/mhr_RU b/libc/localedata/locales/mhr_RU index b636aab16..7fa34f30c 100644 --- a/libc/localedata/locales/mhr_RU +++ b/libc/localedata/locales/mhr_RU @@ -161,4 +161,8 @@ country_ab3 "<U0052><U0055><U0053>" country_num 643 % RUS country_car "<U0052><U0055><U0053>" +% mhr +lang_term "<U006D><U0068><U0072>" +% mhr +lang_lib "<U006D><U0068><U0072>" END LC_ADDRESS diff --git a/libc/localedata/locales/mi_NZ b/libc/localedata/locales/mi_NZ index a32ece45a..d4cf2a37e 100644 --- a/libc/localedata/locales/mi_NZ +++ b/libc/localedata/locales/mi_NZ @@ -170,6 +170,12 @@ country_ab3 "<U004E><U005A><U004C>" country_num 554 % NZ country_car "<U004E><U005A>" +% mi +lang_ab "<U006D><U0069>" +% mri +lang_term "<U006D><U0072><U0069>" +% mao +lang_lib "<U006D><U0061><U006F>" END LC_ADDRESS LC_TELEPHONE diff --git a/libc/localedata/locales/ml_IN b/libc/localedata/locales/ml_IN index cf7b7520a..8dc65f47a 100644 --- a/libc/localedata/locales/ml_IN +++ b/libc/localedata/locales/ml_IN @@ -211,7 +211,12 @@ country_ab3 "<U0049><U004E><U0044>" country_num 356 % IND country_car "<U0049><U004E><U0044>" - +% ml +lang_ab "<U006D><U006C>" +% mal +lang_term "<U006D><U0061><U006C>" +% mal +lang_lib "<U006D><U0061><U006C>" END LC_ADDRESS % LC_TELEPHONE diff --git a/libc/localedata/locales/mni_IN b/libc/localedata/locales/mni_IN index d7d67860f..d12b782b4 100644 --- a/libc/localedata/locales/mni_IN +++ b/libc/localedata/locales/mni_IN @@ -165,7 +165,10 @@ country_ab3 "<U0049><U004E><U0044>" country_num 356 % IND country_car "<U0049><U004E><U0044>" - +% mni +lang_term "<U006D><U006E><U0069>" +% mni +lang_lib "<U006D><U006E><U0069>" END LC_ADDRESS diff --git a/libc/localedata/locales/mr_IN b/libc/localedata/locales/mr_IN index 11c4e09b2..09b9c3736 100644 --- a/libc/localedata/locales/mr_IN +++ b/libc/localedata/locales/mr_IN @@ -221,7 +221,12 @@ country_ab3 "<U0049><U004E><U0044>" country_num 356 % IND country_car "<U0049><U004E><U0044>" - +% mr +lang_ab "<U006D><U0072>" +% mar +lang_term "<U006D><U0061><U0072>" +% mar +lang_lib "<U006D><U0061><U0072>" END LC_ADDRESS diff --git a/libc/localedata/locales/ms_MY b/libc/localedata/locales/ms_MY index 122f13f7c..e8535ace0 100644 --- a/libc/localedata/locales/ms_MY +++ b/libc/localedata/locales/ms_MY @@ -203,7 +203,12 @@ country_ab3 "<U004D><U0059><U0053>" country_num 458 % MAL country_car "<U004D><U0041><U004C>" - +% ms +lang_ab "<U006D><U0073>" +% msa +lang_term "<U006D><U0073><U0061>" +% may +lang_lib "<U006D><U0061><U0079>" END LC_ADDRESS diff --git a/libc/localedata/locales/mt_MT b/libc/localedata/locales/mt_MT index 7d021b367..61077665f 100644 --- a/libc/localedata/locales/mt_MT +++ b/libc/localedata/locales/mt_MT @@ -292,7 +292,12 @@ country_ab3 "<U004D><U004C><U0054>" country_num 470 % M country_car "<U004D>" - +% mt +lang_ab "<U006D><U0074>" +% mlt +lang_term "<U006D><U006C><U0074>" +% mlt +lang_lib "<U006D><U006C><U0074>" END LC_ADDRESS diff --git a/libc/localedata/locales/nb_NO b/libc/localedata/locales/nb_NO index 66b590f6d..07df38cc8 100644 --- a/libc/localedata/locales/nb_NO +++ b/libc/localedata/locales/nb_NO @@ -243,5 +243,10 @@ country_ab3 "<U004E><U004F><U0052>" country_num 578 % N country_car "<U004E>" - +% nb +lang_ab "<U006E><U0062>" +% nob +lang_term "<U006E><U006F><U0062>" +% nob +lang_lib "<U006E><U006F><U0062>" END LC_ADDRESS diff --git a/libc/localedata/locales/ne_NP b/libc/localedata/locales/ne_NP index 7574772cb..9ee000a94 100644 --- a/libc/localedata/locales/ne_NP +++ b/libc/localedata/locales/ne_NP @@ -197,7 +197,12 @@ country_ab3 "<U004E><U0050><U004C>" country_num 524 % NEP country_car "<U004E><U0045><U0050>" - +% ne +lang_ab "<U006E><U0065>" +% nep +lang_term "<U006E><U0065><U0070>" +% nep +lang_lib "<U006E><U0065><U0070>" END LC_ADDRESS diff --git a/libc/localedata/locales/nhn_MX b/libc/localedata/locales/nhn_MX index 9029fb08f..6534b78a8 100644 --- a/libc/localedata/locales/nhn_MX +++ b/libc/localedata/locales/nhn_MX @@ -150,5 +150,8 @@ country_ab3 "<U004D><U0045><U0058>" country_num 484 % MEX country_car "<U004D><U0045><U0058>" - +% nhn +lang_term "<U006E><U0068><U006E>" +% nhn +lang_lib "<U006E><U0068><U006E>" END LC_ADDRESS diff --git a/libc/localedata/locales/niu_NU b/libc/localedata/locales/niu_NU index 9b2c4510d..440b497f8 100644 --- a/libc/localedata/locales/niu_NU +++ b/libc/localedata/locales/niu_NU @@ -183,6 +183,8 @@ country_ab3 "<U004E><U0049><U0055>" country_num 570 % niu lang_term "<U006E><U0069><U0075>" +% niu +lang_lib "<U006E><U0069><U0075>" END LC_ADDRESS LC_TELEPHONE diff --git a/libc/localedata/locales/niu_NZ b/libc/localedata/locales/niu_NZ index 9a7e333af..0afacda7e 100644 --- a/libc/localedata/locales/niu_NZ +++ b/libc/localedata/locales/niu_NZ @@ -185,6 +185,8 @@ country_num 554 country_car "<U004E><U005A>" % niu lang_term "<U006E><U0069><U0075>" +% niu +lang_lib "<U006E><U0069><U0075>" END LC_ADDRESS LC_TELEPHONE diff --git a/libc/localedata/locales/nl_AW b/libc/localedata/locales/nl_AW index e9fe8f82e..3da454b65 100644 --- a/libc/localedata/locales/nl_AW +++ b/libc/localedata/locales/nl_AW @@ -85,6 +85,9 @@ postal_fmt "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/ country_ab2 "<U0041><U0057>" country_ab3 "<U0041><U0042><U0057>" country_num 533 +lang_ab "<U006E><U006C>" +lang_term "<U006E><U006C><U0064>" +lang_lib "<U0064><U0075><U0074>" END LC_ADDRESS LC_TELEPHONE diff --git a/libc/localedata/locales/nl_BE b/libc/localedata/locales/nl_BE index a3d72dca0..3d1615b6c 100644 --- a/libc/localedata/locales/nl_BE +++ b/libc/localedata/locales/nl_BE @@ -136,5 +136,7 @@ country_ab3 "<U0042><U0045><U004C>" country_num 056 % B country_car "<U0042>" - +lang_ab "<U006E><U006C>" +lang_term "<U006E><U006C><U0064>" +lang_lib "<U0064><U0075><U0074>" END LC_ADDRESS diff --git a/libc/localedata/locales/nn_NO b/libc/localedata/locales/nn_NO index c9fe73086..b1a829fa6 100644 --- a/libc/localedata/locales/nn_NO +++ b/libc/localedata/locales/nn_NO @@ -161,6 +161,12 @@ country_ab3 "<U004E><U004F><U0052>" country_num 578 % N country_car "<U004E>" +% nn +lang_ab "<U006E><U006E>" +% nno +lang_term "<U006E><U006E><U006F>" +% nno +lang_lib "<U006E><U006E><U006F>" END LC_ADDRESS diff --git a/libc/localedata/locales/nr_ZA b/libc/localedata/locales/nr_ZA index 32c2e693d..62d7567c1 100644 --- a/libc/localedata/locales/nr_ZA +++ b/libc/localedata/locales/nr_ZA @@ -239,9 +239,12 @@ lang_name "<U0049><U0073><U0069><U004E><U0064><U0065><U0062><U0065><U006C><U0065 % ISO 639 two and three letter language names % see http://www.loc.gov/standards/iso639-2/englangn.html -% "nr", "nbl" +% nr lang_ab "<U006E><U0072>" +% nbl lang_term "<U006E><U0062><U006C>" +% nbl +lang_lib "<U006E><U0062><U006C>" % Representation of postal addresses (minus the addressee's name) in South % Africa. (Ignored for now) diff --git a/libc/localedata/locales/oc_FR b/libc/localedata/locales/oc_FR index 2a7f83643..dfdc09507 100644 --- a/libc/localedata/locales/oc_FR +++ b/libc/localedata/locales/oc_FR @@ -47,9 +47,12 @@ country_num 250 country_isbn "2" country_car "F" % FIXME lang_name "Occitan" in Occitan ? -lang_ab "oc" -lang_term "oci" -lang_lib "oci" +% oc +lang_ab "<U006F><U0063>" +% oci +lang_term "<U006F><U0063><U0069>" +% oci +lang_lib "<U006F><U0063><U0069>" END LC_ADDRESS LC_CTYPE diff --git a/libc/localedata/locales/or_IN b/libc/localedata/locales/or_IN index a291cc3ec..15ed7ce4c 100644 --- a/libc/localedata/locales/or_IN +++ b/libc/localedata/locales/or_IN @@ -815,6 +815,12 @@ country_ab3 "<U0049><U004E><U0044>" country_num 356 % IND country_car "<U0049><U004E><U0044>" +% or +lang_ab "<U006F><U0072>" +% ori +lang_term "<U006F><U0072><U0069>" +% ori +lang_lib "<U006F><U0072><U0069>" END LC_ADDRESS %%%%%%%%%%%%% diff --git a/libc/localedata/locales/os_RU b/libc/localedata/locales/os_RU index fe66c2864..91743dd65 100644 --- a/libc/localedata/locales/os_RU +++ b/libc/localedata/locales/os_RU @@ -176,5 +176,10 @@ country_ab3 "<U0052><U0055><U0053>" country_num 643 % RUS country_car "<U0052><U0055><U0053>" - +% os +lang_ab "<U006F><U0073>" +% oss +lang_term "<U006F><U0073><U0073>" +% oss +lang_lib "<U006F><U0073><U0073>" END LC_ADDRESS diff --git a/libc/localedata/locales/pa_IN b/libc/localedata/locales/pa_IN index 2c4d503cd..a3f8ef475 100644 --- a/libc/localedata/locales/pa_IN +++ b/libc/localedata/locales/pa_IN @@ -210,7 +210,12 @@ country_ab3 "<U0049><U004E><U0044>" country_num 356 % IND country_car "<U0049><U004E><U0044>" - +% pa +lang_ab "<U0070><U0061>" +% pan +lang_term "<U0070><U0061><U006E>" +% pan +lang_lib "<U0070><U0061><U006E>" END LC_ADDRESS diff --git a/libc/localedata/locales/pa_PK b/libc/localedata/locales/pa_PK index 95543d913..122113aa9 100644 --- a/libc/localedata/locales/pa_PK +++ b/libc/localedata/locales/pa_PK @@ -179,6 +179,12 @@ country_ab3 "<U0050><U0041><U004B>" country_num 586 % PK country_car "<U0050><U004B>" +% pa +lang_ab "<U0070><U0061>" +% pan +lang_term "<U0070><U0061><U006E>" +% pan +lang_lib "<U0070><U0061><U006E>" END LC_ADDRESS LC_TELEPHONE diff --git a/libc/localedata/locales/pl_PL b/libc/localedata/locales/pl_PL index 9a4b1ba9d..143161453 100644 --- a/libc/localedata/locales/pl_PL +++ b/libc/localedata/locales/pl_PL @@ -2235,5 +2235,10 @@ country_ab3 "<U0050><U004F><U004C>" country_num 616 % PL country_car "<U0050><U004C>" - +% pl +lang_ab "<U0070><U006C>" +% pol +lang_term "<U0070><U006F><U006C>" +% pol +lang_lib "<U0070><U006F><U006C>" END LC_ADDRESS diff --git a/libc/localedata/locales/ps_AF b/libc/localedata/locales/ps_AF index 7f686abbb..87ce5a6ed 100644 --- a/libc/localedata/locales/ps_AF +++ b/libc/localedata/locales/ps_AF @@ -29,18 +29,18 @@ LC_IDENTIFICATION revision "0.2" date "2009-01-16" - category "ps_AF:2007";LC_IDENTIFICATION - category "ps_AF:2007";LC_CTYPE - category "ps_AF:2007";LC_COLLATE - category "ps_AF:2007";LC_TIME - category "ps_AF:2007";LC_NUMERIC - category "ps_AF:2007";LC_MONETARY - category "ps_AF:2007";LC_MESSAGES - category "ps_AF:2007";LC_MEASUREMENT - category "ps_AF:2007";LC_PAPER - category "ps_AF:2007";LC_NAME - category "ps_AF:2007";LC_ADDRESS - category "ps_AF:2007";LC_TELEPHONE +category "ps_AF:2007";LC_IDENTIFICATION +category "ps_AF:2007";LC_CTYPE +category "ps_AF:2007";LC_COLLATE +category "ps_AF:2007";LC_TIME +category "ps_AF:2007";LC_NUMERIC +category "ps_AF:2007";LC_MONETARY +category "ps_AF:2007";LC_MESSAGES +category "ps_AF:2007";LC_MEASUREMENT +category "ps_AF:2007";LC_PAPER +category "ps_AF:2007";LC_NAME +category "ps_AF:2007";LC_ADDRESS +category "ps_AF:2007";LC_TELEPHONE END LC_IDENTIFICATION LC_CTYPE @@ -248,27 +248,26 @@ LC_NAME END LC_NAME LC_ADDRESS - postal_fmt "<U0025><U0061><U0025><U004E><U0025><U0066><U0025>/ +postal_fmt "<U0025><U0061><U0025><U004E><U0025><U0066><U0025>/ <U004E><U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025>/ <U0073><U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072>/ <U0025><U004E><U0025><U0043><U002D><U0025><U007A><U0020><U0025><U0054>/ <U0025><U004E><U0025><U0063><U0025><U004E>" - country_name "<U0627><U0641><U063A><U0627><U0646>/ +country_name "<U0627><U0641><U063A><U0627><U0646>/ <U0633><U062A><U0627><U0646>" - %country_post "<U0041><U0046><U0047>" % FIXME: Not confirmed. - country_ab2 "<U0041><U0046>" - country_ab3 "<U0041><U0046><U0047>" - country_num 004 - country_car "<U0041><U0046><U0047>" - - %country_isbn "" % Unfortunately not yet assigned :-( - % Since to date there is no ISBN agency working - % in Afghanistan. - - lang_name "<U067E><U069A><U062A><U0648>" - lang_ab "<U0070><U0073>" - lang_term "<U0070><U0075><U0073>" - lang_lib "<U0070><U0075><U0073>" +%country_post "<U0041><U0046><U0047>" % FIXME: Not confirmed. +country_ab2 "<U0041><U0046>" +country_ab3 "<U0041><U0046><U0047>" +country_num 004 +country_car "<U0041><U0046><U0047>" + +%country_isbn "" % Unfortunately not yet assigned :-( +% Since to date there is no ISBN agency working in Afghanistan. + +lang_name "<U067E><U069A><U062A><U0648>" +lang_ab "<U0070><U0073>" +lang_term "<U0070><U0075><U0073>" +lang_lib "<U0070><U0075><U0073>" END LC_ADDRESS LC_TELEPHONE diff --git a/libc/localedata/locales/pt_BR b/libc/localedata/locales/pt_BR index c93909562..acc9897fd 100644 --- a/libc/localedata/locales/pt_BR +++ b/libc/localedata/locales/pt_BR @@ -157,5 +157,10 @@ country_ab3 "<U0042><U0052><U0041>" country_num 076 % BR country_car "<U0042><U0052>" - +% pt +lang_ab "<U0070><U0074>" +% por +lang_term "<U0070><U006F><U0072>" +% por +lang_lib "<U0070><U006F><U0072>" END LC_ADDRESS diff --git a/libc/localedata/locales/pt_PT b/libc/localedata/locales/pt_PT index 7e443032b..7417b3457 100644 --- a/libc/localedata/locales/pt_PT +++ b/libc/localedata/locales/pt_PT @@ -158,5 +158,10 @@ country_ab3 "<U0050><U0052><U0054>" country_num 620 % P country_car "<U0050>" - +% pt +lang_ab "<U0070><U0074>" +% por +lang_term "<U0070><U006F><U0072>" +% por +lang_lib "<U0070><U006F><U0072>" END LC_ADDRESS diff --git a/libc/localedata/locales/quz_PE b/libc/localedata/locales/quz_PE index efc5a0077..6521fec8b 100644 --- a/libc/localedata/locales/quz_PE +++ b/libc/localedata/locales/quz_PE @@ -170,7 +170,10 @@ country_ab3 "<U0050><U0045><U0052>" country_num 604 % PE country_car "<U0050><U0045>" - +% quz +lang_term "<U0071><U0075><U007A>" +% quz +lang_lib "<U0071><U0075><U007A>" END LC_ADDRESS LC_TELEPHONE diff --git a/libc/localedata/locales/ru_RU b/libc/localedata/locales/ru_RU index 1c7e8069e..0cb3a119b 100644 --- a/libc/localedata/locales/ru_RU +++ b/libc/localedata/locales/ru_RU @@ -188,5 +188,10 @@ country_ab3 "<U0052><U0055><U0053>" country_num 643 % RUS country_car "<U0052><U0055><U0053>" - +% ru +lang_ab "<U0072><U0075>" +% rus +lang_term "<U0072><U0075><U0073>" +% rus +lang_lib "<U0072><U0075><U0073>" END LC_ADDRESS diff --git a/libc/localedata/locales/ru_UA b/libc/localedata/locales/ru_UA index ef689d583..676424933 100644 --- a/libc/localedata/locales/ru_UA +++ b/libc/localedata/locales/ru_UA @@ -179,5 +179,10 @@ country_ab3 "<U0055><U004B><U0052>" country_num 804 % UA country_car "<U0055><U0041>" - +% ru +lang_ab "<U0072><U0075>" +% rus +lang_term "<U0072><U0075><U0073>" +% rus +lang_lib "<U0072><U0075><U0073>" END LC_ADDRESS diff --git a/libc/localedata/locales/sa_IN b/libc/localedata/locales/sa_IN index efcb6de1d..41651ca55 100644 --- a/libc/localedata/locales/sa_IN +++ b/libc/localedata/locales/sa_IN @@ -237,7 +237,12 @@ country_ab3 "<U0049><U004E><U0044>" country_num 356 % IND country_car "<U0049><U004E><U0044>" - +% sa +lang_ab "<U0073><U0061>" +% san +lang_term "<U0073><U0061><U006E>" +% san +lang_lib "<U0073><U0061><U006E>" END LC_ADDRESS diff --git a/libc/localedata/locales/sat_IN b/libc/localedata/locales/sat_IN index 57fb383f1..b334b8823 100644 --- a/libc/localedata/locales/sat_IN +++ b/libc/localedata/locales/sat_IN @@ -179,7 +179,10 @@ country_ab3 "<U0049><U004E><U0044>" country_num 356 % IND country_car "<U0049><U004E><U0044>" - +% sat +lang_term "<U0073><U0061><U0074>" +% sat +lang_lib "<U0073><U0061><U0074>" END LC_ADDRESS diff --git a/libc/localedata/locales/sc_IT b/libc/localedata/locales/sc_IT index 8ff00a02e..065ad6165 100644 --- a/libc/localedata/locales/sc_IT +++ b/libc/localedata/locales/sc_IT @@ -142,5 +142,10 @@ country_ab3 "<U0049><U0054><U0041>" country_num 380 % I country_car "<U0049>" - +% sc +lang_ab "<U0073><U0063>" +% srd +lang_term "<U0073><U0072><U0064>" +% srd +lang_lib "<U0073><U0072><U0064>" END LC_ADDRESS diff --git a/libc/localedata/locales/sd_IN b/libc/localedata/locales/sd_IN index cc0de5b54..866cc8db8 100644 --- a/libc/localedata/locales/sd_IN +++ b/libc/localedata/locales/sd_IN @@ -194,7 +194,12 @@ country_ab3 "<U0049><U004E><U0044>" country_num 356 % IND country_car "<U0049><U004E><U0044>" - +% sd +lang_ab "<U0073><U0064>" +% snd +lang_term "<U0073><U006E><U0064>" +% snd +lang_lib "<U0073><U006E><U0064>" END LC_ADDRESS diff --git a/libc/localedata/locales/sd_IN@devanagari b/libc/localedata/locales/sd_IN@devanagari index e275eb627..66b1f9e6d 100644 --- a/libc/localedata/locales/sd_IN@devanagari +++ b/libc/localedata/locales/sd_IN@devanagari @@ -194,6 +194,12 @@ country_ab3 "<U0049><U004E><U0044>" country_num 356 % IND country_car "<U0049><U004E><U0044>" +% sd +lang_ab "<U0073><U0064>" +% snd +lang_term "<U0073><U006E><U0064>" +% snd +lang_lib "<U0073><U006E><U0064>" END LC_ADDRESS diff --git a/libc/localedata/locales/se_NO b/libc/localedata/locales/se_NO index 6bbf280dc..53ee33fe5 100644 --- a/libc/localedata/locales/se_NO +++ b/libc/localedata/locales/se_NO @@ -316,5 +316,10 @@ country_ab3 "<U004E><U004F><U0052>" country_num 578 % N country_car "<U004E>" - +% se +lang_ab "<U0073><U0065>" +% sme +lang_term "<U0073><U006D><U0065>" +% sme +lang_lib "<U0073><U006D><U0065>" END LC_ADDRESS diff --git a/libc/localedata/locales/si_LK b/libc/localedata/locales/si_LK index f600ab710..cc75c49a6 100644 --- a/libc/localedata/locales/si_LK +++ b/libc/localedata/locales/si_LK @@ -200,6 +200,12 @@ country_ab3 "<U004C><U004B><U0041>" country_num 144 % CL country_car "<U0043><U004C>" +% si +lang_ab "<U0073><U0069>" +% sin +lang_term "<U0073><U0069><U006E>" +% sin +lang_lib "<U0073><U0069><U006E>" END LC_ADDRESS diff --git a/libc/localedata/locales/sk_SK b/libc/localedata/locales/sk_SK index bf3f6a414..8ba797a4f 100644 --- a/libc/localedata/locales/sk_SK +++ b/libc/localedata/locales/sk_SK @@ -226,5 +226,10 @@ country_ab3 "<U0053><U0056><U004B>" country_num 703 % SK country_car "<U0053><U004B>" - +% sk +lang_ab "<U0073><U006B>" +% slk +lang_term "<U0073><U006C><U006B>" +% slo +lang_lib "<U0073><U006C><U006F>" END LC_ADDRESS diff --git a/libc/localedata/locales/sl_SI b/libc/localedata/locales/sl_SI index 3808e63e8..353933eb0 100644 --- a/libc/localedata/locales/sl_SI +++ b/libc/localedata/locales/sl_SI @@ -2225,5 +2225,10 @@ country_ab3 "<U0053><U0056><U004E>" country_num 705 % SLO country_car "<U0053><U004C><U004F>" - +% sl +lang_ab "<U0073><U006C>" +% slv +lang_term "<U0073><U006C><U0076>" +% slv +lang_lib "<U0073><U006C><U0076>" END LC_ADDRESS diff --git a/libc/localedata/locales/sq_AL b/libc/localedata/locales/sq_AL index 2d3253279..09873c020 100644 --- a/libc/localedata/locales/sq_AL +++ b/libc/localedata/locales/sq_AL @@ -334,7 +334,12 @@ country_ab3 "<U0041><U004C><U0042>" country_num 008 % AL country_car "<U0041><U004C>" - +% sq +lang_ab "<U0073><U0071>" +% sqi +lang_term "<U0073><U0071><U0069>" +% alb +lang_lib "<U0061><U006C><U0062>" END LC_ADDRESS diff --git a/libc/localedata/locales/sq_MK b/libc/localedata/locales/sq_MK index caa250acf..7bac02ee9 100644 --- a/libc/localedata/locales/sq_MK +++ b/libc/localedata/locales/sq_MK @@ -102,9 +102,12 @@ country_car "<U004d><U004b>" country_num 807 country_isbn "9989" % lang_name "" -% lang_ab "" -% lang_term "" -% lang_lib "" +% sq +lang_ab "<U0073><U0071>" +% sqi +lang_term "<U0073><U0071><U0069>" +% alb +lang_lib "<U0061><U006C><U0062>" END LC_ADDRESS diff --git a/libc/localedata/locales/ss_ZA b/libc/localedata/locales/ss_ZA index 19cb7413b..d33683c15 100644 --- a/libc/localedata/locales/ss_ZA +++ b/libc/localedata/locales/ss_ZA @@ -243,9 +243,12 @@ lang_name "<U0053><U0069><U0053><U0077><U0061><U0074><U0069>" % ISO 639 two and three letter language names % see http://www.loc.gov/standards/iso639-2/englangn.html -% "ss", ssw" +% ss lang_ab "<U0073><U0073>" +% ssw lang_term "<U0073><U0073><U0077>" +% ssw +lang_lib "<U0073><U0073><U0077>" % Representation of postal addresses (minus the addressee's name) in South % Africa. (Ignored for now) diff --git a/libc/localedata/locales/st_ZA b/libc/localedata/locales/st_ZA index 67e356cf7..c29bb7d49 100644 --- a/libc/localedata/locales/st_ZA +++ b/libc/localedata/locales/st_ZA @@ -240,9 +240,12 @@ country_car "<U005A><U0041>" % ISO 639 two and three letter language names % see http://www.loc.gov/standards/iso639-2/englangn.html -% "st", "sot" +% st lang_ab "<U0073><U0074>" +% sot lang_term "<U0073><U006F><U0074>" +% sot +lang_lib "<U0073><U006F><U0074>" % Representation of postal addresses (minus the addressee's name) in South % Africa. (Ignored for now) diff --git a/libc/localedata/locales/sv_SE b/libc/localedata/locales/sv_SE index d7ebdd8f6..d0e59864b 100644 --- a/libc/localedata/locales/sv_SE +++ b/libc/localedata/locales/sv_SE @@ -219,5 +219,7 @@ country_ab3 "<U0053><U0057><U0045>" country_num 752 % S country_car "<U0053>" - +lang_ab "<U0073><U0076>" +lang_term "<U0073><U0077><U0065>" +lang_lib "<U0073><U0077><U0065>" END LC_ADDRESS diff --git a/libc/localedata/locales/sw_KE b/libc/localedata/locales/sw_KE index 0037161ba..de91d37a5 100644 --- a/libc/localedata/locales/sw_KE +++ b/libc/localedata/locales/sw_KE @@ -157,7 +157,11 @@ country_car "<U0045><U0041><U004B>" % Kiswahili lang_name "<U004B><U0069><U0073><U0077><U0061><U0068><U0069><U006C><U0069>" % sw -lang_ab "<U0073><U0077>" +lang_ab "<U0073><U0077>" +% swa +lang_term "<U0073><U0077><U0061>" +% swa +lang_lib "<U0073><U0077><U0061>" END LC_ADDRESS LC_TELEPHONE diff --git a/libc/localedata/locales/sw_TZ b/libc/localedata/locales/sw_TZ index 05a48731b..1ae73fb07 100644 --- a/libc/localedata/locales/sw_TZ +++ b/libc/localedata/locales/sw_TZ @@ -108,7 +108,11 @@ country_car "<U0045><U0041><U0054>" % Kiswahili lang_name "<U004B><U0069><U0073><U0077><U0061><U0068><U0069><U006C><U0069>" % sw -lang_ab "<U0073><U0077>" +lang_ab "<U0073><U0077>" +% swa +lang_term "<U0073><U0077><U0061>" +% swa +lang_lib "<U0073><U0077><U0061>" END LC_ADDRESS LC_TELEPHONE diff --git a/libc/localedata/locales/szl_PL b/libc/localedata/locales/szl_PL index 3147ede4c..3323430f6 100644 --- a/libc/localedata/locales/szl_PL +++ b/libc/localedata/locales/szl_PL @@ -217,5 +217,8 @@ country_ab3 "<U0050><U004F><U004C>" country_num 616 % PL country_car "<U0050><U004C>" - +% szl +lang_term "<U0073><U007A><U006C>" +% szl +lang_lib "<U0073><U007A><U006C>" END LC_ADDRESS diff --git a/libc/localedata/locales/ta_IN b/libc/localedata/locales/ta_IN index 39212839d..75f63249b 100644 --- a/libc/localedata/locales/ta_IN +++ b/libc/localedata/locales/ta_IN @@ -206,7 +206,12 @@ country_ab3 "<U0049><U004E><U0044>" country_num 356 % IND country_car "<U0049><U004E><U0044>" - +% ta +lang_ab "<U0074><U0061>" +% tam +lang_term "<U0074><U0061><U006D>" +% tam +lang_lib "<U0074><U0061><U006D>" END LC_ADDRESS diff --git a/libc/localedata/locales/ta_LK b/libc/localedata/locales/ta_LK index ae6f5d5c8..7051e3be7 100644 --- a/libc/localedata/locales/ta_LK +++ b/libc/localedata/locales/ta_LK @@ -89,4 +89,10 @@ country_ab3 "<U004C><U004B><U0041>" country_num 144 % CL country_car "<U0043><U004C>" +% ta +lang_ab "<U0074><U0061>" +% tam +lang_term "<U0074><U0061><U006D>" +% tam +lang_lib "<U0074><U0061><U006D>" END LC_ADDRESS diff --git a/libc/localedata/locales/te_IN b/libc/localedata/locales/te_IN index e9865f5ac..f2ab1b67e 100644 --- a/libc/localedata/locales/te_IN +++ b/libc/localedata/locales/te_IN @@ -224,8 +224,12 @@ country_num 356 % IND country_car "<U0049><U004E><U0044>" lang_name "<U0C24><U0C46><U0C32><U0C41><U0C17><U0C41>" -lang_ab "te" -lang_term "tel" +% te +lang_ab "<U0074><U0065>" +% tel +lang_term "<U0074><U0065><U006C>" +% tel +lang_lib "<U0074><U0065><U006C>" END LC_ADDRESS diff --git a/libc/localedata/locales/tg_TJ b/libc/localedata/locales/tg_TJ index 03c36d2a6..3350881db 100644 --- a/libc/localedata/locales/tg_TJ +++ b/libc/localedata/locales/tg_TJ @@ -227,7 +227,12 @@ country_ab3 "<U0054><U004A><U004B>" country_num 762 % TJ country_car "<U0054><U004A>" - +% tg +lang_ab "<U0074><U0067>" +% tgk +lang_term "<U0074><U0067><U006B>" +% tgk +lang_lib "<U0074><U0067><U006B>" END LC_ADDRESS LC_TELEPHONE diff --git a/libc/localedata/locales/tl_PH b/libc/localedata/locales/tl_PH index 27993e8d4..ae30aeea5 100644 --- a/libc/localedata/locales/tl_PH +++ b/libc/localedata/locales/tl_PH @@ -169,7 +169,12 @@ country_ab3 "<U0050><U0048><U004C>" country_num 608 % RP country_car "<U0052><U0050>" - +% tl +lang_ab "<U0074><U006C>" +% tgl +lang_term "<U0074><U0067><U006C>" +% tgl +lang_lib "<U0074><U0067><U006C>" END LC_ADDRESS LC_TELEPHONE diff --git a/libc/localedata/locales/tn_ZA b/libc/localedata/locales/tn_ZA index a3f36db29..1a3fd8256 100644 --- a/libc/localedata/locales/tn_ZA +++ b/libc/localedata/locales/tn_ZA @@ -246,9 +246,12 @@ lang_name "<U0053><U0065><U0074><U0073><U0077><U0061><U006E><U0061>" % ISO 639 two and three letter language names % see http://www.loc.gov/standards/iso639-2/englangn.html -% "tn", "tsn" +% tn lang_ab "<U0074><U006E>" +% tsn lang_term "<U0074><U0073><U006E>" +% tsn +lang_lib "<U0074><U0073><U006E>" % Representation of postal addresses (minus the addressee's name) in South % Africa. (Ignored for now) diff --git a/libc/localedata/locales/tr_CY b/libc/localedata/locales/tr_CY index daeffc1b9..1c2c3f313 100644 --- a/libc/localedata/locales/tr_CY +++ b/libc/localedata/locales/tr_CY @@ -105,9 +105,9 @@ country_ab2 "<U0054><U0052>" country_ab3 "<U0054><U0055><U0052>" % Turkish lang_name "<U0054><U0075><U0072><U006B><U0069><U0073><U0068>" -% tr +% tur lang_term "<U0074><U0075><U0072>" -% tr +% tur lang_lib "<U0074><U0075><U0072>" %tr lang_ab "<U0074><U0072>" diff --git a/libc/localedata/locales/tr_TR b/libc/localedata/locales/tr_TR index 867e66fc8..189363320 100644 --- a/libc/localedata/locales/tr_TR +++ b/libc/localedata/locales/tr_TR @@ -3594,9 +3594,9 @@ country_ab2 "<U0054><U0052>" country_ab3 "<U0054><U0055><U0052>" % Turkish lang_name "<U0054><U0075><U0072><U006B><U0069><U0073><U0068>" -% tr +% tur lang_term "<U0074><U0075><U0072>" -% tr +% tur lang_lib "<U0074><U0072>" %tr lang_ab "<U0074><U0072>" diff --git a/libc/localedata/locales/ts_ZA b/libc/localedata/locales/ts_ZA index 010cba2d3..c7b56435e 100644 --- a/libc/localedata/locales/ts_ZA +++ b/libc/localedata/locales/ts_ZA @@ -240,9 +240,12 @@ lang_name "<U0058><U0069><U0074><U0073><U006F><U006E><U0067><U0061>" % ISO 639 two and three letter language names % see http://www.loc.gov/standards/iso639-2/englangn.html -% "ts", "tso" +% ts lang_ab "<U0074><U0073>" +% tso lang_term "<U0074><U0073><U006F>" +% tso +lang_lib "<U0074><U0073><U006F>" % Representation of postal addresses (minus the addressee's name) in South % Africa. (Ignored for now) diff --git a/libc/localedata/locales/tt_RU b/libc/localedata/locales/tt_RU index f5e1b7588..520c6eb1f 100644 --- a/libc/localedata/locales/tt_RU +++ b/libc/localedata/locales/tt_RU @@ -317,7 +317,12 @@ LC_ADDRESS postal_fmt "???" % RUS country_car "<U0052><U0055><U0053>" - +% tt +lang_ab "<U0074><U0074>" +% tat +lang_term "<U0074><U0061><U0074>" +% tat +lang_lib "<U0074><U0061><U0074>" END LC_ADDRESS LC_TELEPHONE diff --git a/libc/localedata/locales/tt_RU@iqtelif b/libc/localedata/locales/tt_RU@iqtelif index b6c40b3ec..4aac6365c 100644 --- a/libc/localedata/locales/tt_RU@iqtelif +++ b/libc/localedata/locales/tt_RU@iqtelif @@ -175,7 +175,12 @@ country_ab3 "<U0052><U0055><U0053>" country_num 643 % RUS country_car "<U0052><U0055><U0053>" - +% tt +lang_ab "<U0074><U0074>" +% tat +lang_term "<U0074><U0061><U0074>" +% tat +lang_lib "<U0074><U0061><U0074>" END LC_ADDRESS LC_TELEPHONE diff --git a/libc/localedata/locales/ug_CN b/libc/localedata/locales/ug_CN index c4e0a9ac1..462f42bc9 100644 --- a/libc/localedata/locales/ug_CN +++ b/libc/localedata/locales/ug_CN @@ -311,6 +311,23 @@ LC_NAME % to be fixed copy "zh_CN" END LC_NAME -LC_ADDRESS % to be fixed -copy "zh_CN" +LC_ADDRESS +postal_fmt "<U0025><U0063><U0025><U004E><U0025>/ +<U0054><U0025><U004E><U0025><U0073><U0020><U0025><U0068><U0020><U0025>/ +<U0065><U0020><U0025><U0072><U0025><U004E><U0025><U0062><U0025><U004E>/ +<U0025><U0064><U0025><U004E><U0025><U0066><U0025><U004E><U0025><U0061>/ +<U0025><U004E>" +country_name "<U4E2D><U534E><U4EBA><U6C11><U5171><U548C><U56FD>" +%country_post "FIXME" +country_ab2 "<U0043><U004E>" +country_ab3 "<U0043><U0048><U004E>" +country_num 156 +%country_car "FIXME" +country_isbn "<U0037>" +% ug +lang_ab "<U0075><U0067>" +% uig +lang_term "<U0075><U0069><U0067>" +% uig +lang_lib "<U0075><U0069><U0067>" END LC_ADDRESS diff --git a/libc/localedata/locales/unm_US b/libc/localedata/locales/unm_US index ddd049363..a04188ec1 100644 --- a/libc/localedata/locales/unm_US +++ b/libc/localedata/locales/unm_US @@ -153,8 +153,10 @@ country_car "<U0055><U0053><U0041>" country_isbn 0 % lang_name "" % lang_ab "" -% lang_term "" -% lang_lib "" +% unm +lang_term "<U0075><U006E><U006D>" +% unm +lang_lib "<U0075><U006E><U006D>" END LC_ADDRESS LC_TELEPHONE diff --git a/libc/localedata/locales/ur_IN b/libc/localedata/locales/ur_IN index 366ad5ff4..85e19bfc0 100644 --- a/libc/localedata/locales/ur_IN +++ b/libc/localedata/locales/ur_IN @@ -178,7 +178,12 @@ country_ab3 "<U0049><U004E><U0044>" country_num 356 % IND country_car "<U0049><U004E><U0044>" - +% ur +lang_ab "<U0075><U0072>" +% urd +lang_term "<U0075><U0072><U0064>" +% urd +lang_lib "<U0075><U0072><U0064>" END LC_ADDRESS diff --git a/libc/localedata/locales/ur_PK b/libc/localedata/locales/ur_PK index 9c91b5a12..ec1ee3b50 100644 --- a/libc/localedata/locales/ur_PK +++ b/libc/localedata/locales/ur_PK @@ -197,7 +197,12 @@ country_ab3 "<U0050><U0041><U004B>" country_num 586 % PK country_car "<U0050><U004B>" - +% ur +lang_ab "<U0075><U0072>" +% urd +lang_term "<U0075><U0072><U0064>" +% urd +lang_lib "<U0075><U0072><U0064>" END LC_ADDRESS LC_TELEPHONE diff --git a/libc/localedata/locales/uz_UZ b/libc/localedata/locales/uz_UZ index 375e4ac62..5a272a1ea 100644 --- a/libc/localedata/locales/uz_UZ +++ b/libc/localedata/locales/uz_UZ @@ -317,7 +317,10 @@ country_num 860 % UZ country_car "<U0055><U005A>" lang_name "<U004F><U0027><U007A><U0062><U0065><U006B>" -lang_ab "uz" -lang_term "uzb" -lang_lib "uzb" +% uz +lang_ab "<U0075><U007A>" +% uzb +lang_term "<U0075><U007A><U0062>" +% uzb +lang_lib "<U0075><U007A><U0062>" END LC_ADDRESS diff --git a/libc/localedata/locales/uz_UZ@cyrillic b/libc/localedata/locales/uz_UZ@cyrillic index 4a34eacfc..c7cf51fd4 100644 --- a/libc/localedata/locales/uz_UZ@cyrillic +++ b/libc/localedata/locales/uz_UZ@cyrillic @@ -317,7 +317,10 @@ country_num 860 %country_isbn "" country_car "<U0055><U005A>" lang_name "<U040E><U0437><U0431><U0435><U043A><U0447><U0430>" -lang_ab "<U0075><U007A>" -lang_term "<U0075><U007A><U0062>" -lang_lib "<U0075><U007A><U0062>" +% uz +lang_ab "<U0075><U007A>" +% uzb +lang_term "<U0075><U007A><U0062>" +% uzb +lang_lib "<U0075><U007A><U0062>" END LC_ADDRESS diff --git a/libc/localedata/locales/ve_ZA b/libc/localedata/locales/ve_ZA index b7cf30347..43a9aed4b 100644 --- a/libc/localedata/locales/ve_ZA +++ b/libc/localedata/locales/ve_ZA @@ -243,12 +243,12 @@ lang_name "<U0054><U0073><U0068><U0069><U0076><U0065><U006E><U1E13><U0061>" % ISO 639 two and three letter language names % see http://www.loc.gov/standards/iso639-2/englangn.html -% "ve", "ven", :ven" +% ve lang_ab "<U0076><U0065>" +% ven lang_term "<U0076><U0065><U006E>" -% FIXME there seems to be an error with the following but am unable to -% determine what as it works correctly in other locale files -% lang_lib "<U0076><U0065><U006E>" +% ven +lang_lib "<U0076><U0065><U006E>" % Representation of postal addresses (minus the addressee's name) in South % Africa. (Ignored for now) diff --git a/libc/localedata/locales/vi_VN b/libc/localedata/locales/vi_VN index e372ae07c..c1b9e8621 100644 --- a/libc/localedata/locales/vi_VN +++ b/libc/localedata/locales/vi_VN @@ -338,7 +338,12 @@ country_ab3 "<U0056><U004E><U004D>" country_num 704 % VN country_car "<U0056><U004E>" - +% vi +lang_ab "<U0076><U0069>" +% vie +lang_term "<U0076><U0069><U0065>" +% vie +lang_lib "<U0076><U0069><U0065>" END LC_ADDRESS diff --git a/libc/localedata/locales/wa_BE b/libc/localedata/locales/wa_BE index d0d4dbff2..8ca9cd8af 100644 --- a/libc/localedata/locales/wa_BE +++ b/libc/localedata/locales/wa_BE @@ -46,9 +46,12 @@ country_isbn "2" % B country_car "<U0042>" lang_name "<U0057><U0061><U006C><U006F><U006E>" -lang_ab "wa" -lang_term "wln" -lang_lib "wln" +% wa +lang_ab "<U0077><U0061>" +% wln +lang_term "<U0077><U006C><U006E>" +% wln +lang_lib "<U0077><U006C><U006E>" END LC_ADDRESS LC_CTYPE diff --git a/libc/localedata/locales/wal_ET b/libc/localedata/locales/wal_ET index 0c93f26cf..8408a629d 100644 --- a/libc/localedata/locales/wal_ET +++ b/libc/localedata/locales/wal_ET @@ -4,7 +4,7 @@ escape_char / %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -% Sidama language locale for Ethiopia. +% Walaita language locale for Ethiopia. % % Charset: UTF-8 % @@ -113,9 +113,6 @@ country_car "<U0045><U0054><U0048>" lang_name "<U12C8><U120B><U12ED><U1273><U1271>" lang_term "<U0077><U0061><U006C>" lang_lib "<U0077><U0061><U006C>" - - -% END LC_ADDRESS diff --git a/libc/localedata/locales/wo_SN b/libc/localedata/locales/wo_SN index d593f1f59..3841e0f06 100644 --- a/libc/localedata/locales/wo_SN +++ b/libc/localedata/locales/wo_SN @@ -178,6 +178,11 @@ country_ab3 "<U004D><U0044><U0047>" country_num 450 % SN country_car "<U0053><U004E>" - +% wo +lang_ab "<U0077><U006F>" +% wol +lang_term "<U0077><U006F><U006C>" +% wol +lang_lib "<U0077><U006F><U006C>" END LC_ADDRESS diff --git a/libc/localedata/locales/xh_ZA b/libc/localedata/locales/xh_ZA index f0f56ed4f..3277ca1a6 100644 --- a/libc/localedata/locales/xh_ZA +++ b/libc/localedata/locales/xh_ZA @@ -13,7 +13,7 @@ comment_char % % 0.2 (2004-11-02): % 2004-11-01 Dwayne Bailey <dwayne@translate.org.za> % - Change all contact information -% - d_t_fmt, date_fmt cahnged day number %e to %-e to remove +% - d_t_fmt, date_fmt changed day number %e to %-e to remove % space padding in day. % - Remove .* from yes/noexpr % 2004-03-30 Dwayne Bailey <dwayne@translate.org.za> @@ -235,6 +235,7 @@ country_car "<U005A><U0041>" % see http://www.loc.gov/standards/iso639-2/englangn.html lang_ab "<U0078><U0068>" lang_term "<U0078><U0068><U006F>" +lang_lib "<U0078><U0068><U006F>" % Representation of postal addresses (minus the addressee's name) in South % Africa. (Ignored for now) diff --git a/libc/localedata/locales/yi_US b/libc/localedata/locales/yi_US index 586b12db9..46136fbaf 100644 --- a/libc/localedata/locales/yi_US +++ b/libc/localedata/locales/yi_US @@ -52,9 +52,12 @@ country_car "<U0055><U0053><U0041>" % FIXME Check which isbn for Yiddish in USA country_isbn "0" lang_name "<U05D9><U05D9><U05B4><U05D3><U05D9><U05E9>" -lang_ab "yi" -lang_term "yid" -lang_lib "yid" +% yi +lang_ab "<U0079><U0069>" +% yid +lang_term "<U0079><U0069><U0064>" +% yid +lang_lib "<U0079><U0069><U0064>" END LC_ADDRESS LC_CTYPE diff --git a/libc/localedata/locales/yue_HK b/libc/localedata/locales/yue_HK index 4bd7fe105..fdd15280c 100644 --- a/libc/localedata/locales/yue_HK +++ b/libc/localedata/locales/yue_HK @@ -151,6 +151,10 @@ country_ab3 "<U0048><U004B><U0047>" country_num 344 country_isbn "<U0039><U0036><U0032>" lang_name "<U7CB5><U8A9E>" +% yue +lang_term "<U0079><U0075><U0065>" +% yue +lang_lib "<U0079><U0075><U0065>" END LC_ADDRESS diff --git a/libc/localedata/locales/zh_HK b/libc/localedata/locales/zh_HK index 1674d816f..6c7d793f5 100644 --- a/libc/localedata/locales/zh_HK +++ b/libc/localedata/locales/zh_HK @@ -184,6 +184,9 @@ postal_fmt "<U0025><U007A><U0025><U0063><U0025><U0054><U0025><U0073>/ country_ab2 "<U0048><U004B>" country_ab3 "<U0048><U004B><U0047>" country_num 344 +lang_ab "<U007A><U0068>" +lang_term "<U007A><U0068><U006F>" +lang_lib "<U0063><U0068><U0069>" END LC_ADDRESS diff --git a/libc/localedata/locales/zh_SG b/libc/localedata/locales/zh_SG index dc29268a5..cf7a2f6ea 100644 --- a/libc/localedata/locales/zh_SG +++ b/libc/localedata/locales/zh_SG @@ -196,7 +196,9 @@ country_ab3 "<U0053><U0047><U0050>" country_num 702 % SGP country_car "<U0053><U0047><U0050>" - +lang_ab "<U007A><U0068>" +lang_term "<U007A><U0068><U006F>" +lang_lib "<U0063><U0068><U0069>" END LC_ADDRESS diff --git a/libc/malloc/Makefile b/libc/malloc/Makefile index 9ca8edf67..cdf55c85d 100644 --- a/libc/malloc/Makefile +++ b/libc/malloc/Makefile @@ -86,7 +86,7 @@ install-bin-script += memusage generated += memusagestat memusage extra-objs += memusagestat.o -# The configure.in check for libgd and its headers did not use $SYSINCLUDES. +# The configure.ac check for libgd and its headers did not use $SYSINCLUDES. # The directory specified by --with-headers usually contains only the basic # kernel interface headers, not something like libgd. So the simplest thing # is to presume that the standard system headers will be ok for this file. diff --git a/libc/malloc/hooks.c b/libc/malloc/hooks.c index 3f663bb6b..1dbe93f38 100644 --- a/libc/malloc/hooks.c +++ b/libc/malloc/hooks.c @@ -361,6 +361,14 @@ memalign_check(size_t alignment, size_t bytes, const void *caller) if (alignment <= MALLOC_ALIGNMENT) return malloc_check(bytes, NULL); if (alignment < MINSIZE) alignment = MINSIZE; + /* If the alignment is greater than SIZE_MAX / 2 + 1 it cannot be a + power of 2 and will cause overflow in the check below. */ + if (alignment > SIZE_MAX / 2 + 1) + { + __set_errno (EINVAL); + return 0; + } + /* Check for overflow. */ if (bytes > SIZE_MAX - alignment - MINSIZE) { diff --git a/libc/malloc/malloc.c b/libc/malloc/malloc.c index 1a18c3f5f..897c43a39 100644 --- a/libc/malloc/malloc.c +++ b/libc/malloc/malloc.c @@ -2253,7 +2253,6 @@ static void* sysmalloc(INTERNAL_SIZE_T nb, mstate av) mchunkptr remainder; /* remainder from allocation */ unsigned long remainder_size; /* its size */ - unsigned long sum; /* for updating stats */ size_t pagemask = GLRO(dl_pagesize) - 1; bool tried_mmap = false; @@ -2325,12 +2324,12 @@ static void* sysmalloc(INTERNAL_SIZE_T nb, mstate av) /* update statistics */ - if (++mp_.n_mmaps > mp_.max_n_mmaps) - mp_.max_n_mmaps = mp_.n_mmaps; + int new = atomic_exchange_and_add (&mp_.n_mmaps, 1) + 1; + atomic_max (&mp_.max_n_mmaps, new); - sum = mp_.mmapped_mem += size; - if (sum > (unsigned long)(mp_.max_mmapped_mem)) - mp_.max_mmapped_mem = sum; + unsigned long sum; + sum = atomic_exchange_and_add(&mp_.mmapped_mem, size) + size; + atomic_max (&mp_.max_mmapped_mem, sum); check_chunk(av, p); @@ -2780,8 +2779,8 @@ munmap_chunk(mchunkptr p) return; } - mp_.n_mmaps--; - mp_.mmapped_mem -= total_size; + atomic_decrement (&mp_.n_mmaps); + atomic_add (&mp_.mmapped_mem, -total_size); /* If munmap failed the process virtual memory address space is in a bad shape. Just leave the block hanging around, the process will @@ -2822,10 +2821,10 @@ mremap_chunk(mchunkptr p, size_t new_size) assert((p->prev_size == offset)); set_head(p, (new_size - offset)|IS_MMAPPED); - mp_.mmapped_mem -= size + offset; - mp_.mmapped_mem += new_size; - if ((unsigned long)mp_.mmapped_mem > (unsigned long)mp_.max_mmapped_mem) - mp_.max_mmapped_mem = mp_.mmapped_mem; + INTERNAL_SIZE_T new; + new = atomic_exchange_and_add (&mp_.mmapped_mem, new_size - size - offset) + + new_size - size - offset; + atomic_max (&mp_.max_mmapped_mem, new); return p; } @@ -3017,6 +3016,14 @@ __libc_memalign(size_t alignment, size_t bytes) /* Otherwise, ensure that it is at least a minimum chunk size */ if (alignment < MINSIZE) alignment = MINSIZE; + /* If the alignment is greater than SIZE_MAX / 2 + 1 it cannot be a + power of 2 and will cause overflow in the check below. */ + if (alignment > SIZE_MAX / 2 + 1) + { + __set_errno (EINVAL); + return 0; + } + /* Check for overflow. */ if (bytes > SIZE_MAX - alignment - MINSIZE) { @@ -5042,23 +5049,11 @@ malloc_info (int options, FILE *fp) sizes[i].total = sizes[i].count * sizes[i].to; } - mbinptr bin = bin_at (ar_ptr, 1); - struct malloc_chunk *r = bin->fd; - if (r != NULL) - { - while (r != bin) - { - ++sizes[NFASTBINS].count; - sizes[NFASTBINS].total += r->size; - sizes[NFASTBINS].from = MIN (sizes[NFASTBINS].from, r->size); - sizes[NFASTBINS].to = MAX (sizes[NFASTBINS].to, r->size); - r = r->fd; - } - nblocks += sizes[NFASTBINS].count; - avail += sizes[NFASTBINS].total; - } - for (size_t i = 2; i < NBINS; ++i) + mbinptr bin; + struct malloc_chunk *r; + + for (size_t i = 1; i < NBINS; ++i) { bin = bin_at (ar_ptr, i); r = bin->fd; diff --git a/libc/malloc/tst-memalign.c b/libc/malloc/tst-memalign.c index 1c5975248..cf48e7ed1 100644 --- a/libc/malloc/tst-memalign.c +++ b/libc/malloc/tst-memalign.c @@ -70,6 +70,21 @@ do_test (void) free (p); + errno = 0; + + /* Test to expose integer overflow in malloc internals from BZ #16038. */ + p = memalign (-1, pagesize); + + save = errno; + + if (p != NULL) + merror ("memalign (-1, pagesize) succeeded."); + + if (p == NULL && save != EINVAL) + merror ("memalign (-1, pagesize) errno is not set correctly"); + + free (p); + /* A zero-sized allocation should succeed with glibc, returning a non-NULL value. */ p = memalign (sizeof (void *), 0); diff --git a/libc/malloc/tst-posix_memalign.c b/libc/malloc/tst-posix_memalign.c index 27c0dd2bd..7f34e37bd 100644 --- a/libc/malloc/tst-posix_memalign.c +++ b/libc/malloc/tst-posix_memalign.c @@ -65,6 +65,16 @@ do_test (void) p = NULL; + /* Test to expose integer overflow in malloc internals from BZ #16038. */ + ret = posix_memalign (&p, -1, pagesize); + + if (ret != EINVAL) + merror ("posix_memalign (&p, -1, pagesize) succeeded."); + + free (p); + + p = NULL; + /* A zero-sized allocation should succeed with glibc, returning zero and setting p to a non-NULL value. */ ret = posix_memalign (&p, sizeof (void *), 0); diff --git a/libc/manual/crypt.texi b/libc/manual/crypt.texi index ef905904c..9c65b9535 100644 --- a/libc/manual/crypt.texi +++ b/libc/manual/crypt.texi @@ -30,8 +30,15 @@ message-digest algorithm that is compatible with modern BSD systems, and the other based on the Data Encryption Standard (DES) that is compatible with Unix systems. +@vindex AUTH_DES +@cindex FIPS 140-2 It also provides support for Secure RPC, and some library functions that -can be used to perform normal DES encryption. +can be used to perform normal DES encryption. The @code{AUTH_DES} +authentication flavor in Secure RPC, as provided by @theglibc{}, +uses DES and does not comply with FIPS 140-2 nor does any other use of DES +within @theglibc{}. It is recommended that Secure RPC should not be used +for systems that need to comply with FIPS 140-2 since all flavors of +encrypted authentication use normal DES. @menu * Legal Problems:: This software can get you locked up, or worse. @@ -203,6 +210,7 @@ header @file{crypt.h}. @node DES Encryption @section DES Encryption +@cindex FIPS 46-3 The Data Encryption Standard is described in the US Government Federal Information Processing Standards (FIPS) 46-3 published by the National Institute of Standards and Technology. The DES has been very thoroughly diff --git a/libc/manual/install.texi b/libc/manual/install.texi index 4ca7b1a1a..aaf27c9e4 100644 --- a/libc/manual/install.texi +++ b/libc/manual/install.texi @@ -413,7 +413,7 @@ should definitely upgrade @code{sed}. @end itemize @noindent -If you change any of the @file{configure.in} files you will also need +If you change any of the @file{configure.ac} files you will also need @itemize @bullet @item diff --git a/libc/manual/llio.texi b/libc/manual/llio.texi index b129cf40b..dd0eaa3cb 100644 --- a/libc/manual/llio.texi +++ b/libc/manual/llio.texi @@ -1226,8 +1226,8 @@ as the included @code{malloc} automatically uses @code{mmap} where appropriate. @end vtable -@code{mmap} returns the address of the new mapping, or @math{-1} for an -error. +@code{mmap} returns the address of the new mapping, or +@code{MAP_FAILED} for an error. Possible errors include: diff --git a/libc/manual/maint.texi b/libc/manual/maint.texi index 0f4b95981..659ceae01 100644 --- a/libc/manual/maint.texi +++ b/libc/manual/maint.texi @@ -316,7 +316,7 @@ This file is a shell script fragment to be run at configuration time. The top-level @file{configure} script uses the shell @code{.} command to read the @file{configure} file in each system-dependent directory chosen, in order. The @file{configure} files are often generated from -@file{configure.in} files using Autoconf. +@file{configure.ac} files using Autoconf. A system-dependent @file{configure} script will usually add things to the shell variables @samp{DEFS} and @samp{config_vars}; see the @@ -329,14 +329,14 @@ shell variable @w{@samp{with_@var{package}}} (with any dashes in just @w{@samp{--with-@var{package}}} (no argument), then it sets @w{@samp{with_@var{package}}} to @samp{yes}. -@item configure.in +@item configure.ac This file is an Autoconf input fragment to be processed into the file @file{configure} in this subdirectory. @xref{Introduction,,, autoconf.info, Autoconf: Generating Automatic Configuration Scripts}, for a description of Autoconf. You should write either @file{configure} -or @file{configure.in}, but not both. The first line of -@file{configure.in} should invoke the @code{m4} macro +or @file{configure.ac}, but not both. The first line of +@file{configure.ac} should invoke the @code{m4} macro @samp{GLIBC_PROVIDES}. This macro does several @code{AC_PROVIDE} calls for Autoconf macros which are used by the top-level @file{configure} script; without this, those macros might be invoked again unnecessarily diff --git a/libc/manual/math.texi b/libc/manual/math.texi index 193d415fb..57cf24f68 100644 --- a/libc/manual/math.texi +++ b/libc/manual/math.texi @@ -1364,7 +1364,7 @@ The prototypes for these functions are in @file{stdlib.h}. @comment BSD @deftypefun {long int} random (void) This function returns the next pseudo-random number in the sequence. -The value returned ranges from @code{0} to @code{RAND_MAX}. +The value returned ranges from @code{0} to @code{2147483647}. @strong{NB:} Temporarily this function was defined to return a @code{int32_t} value to indicate that the return value always contains diff --git a/libc/manual/memory.texi b/libc/manual/memory.texi index 0c3d39efa..a80f87cbf 100644 --- a/libc/manual/memory.texi +++ b/libc/manual/memory.texi @@ -355,7 +355,7 @@ it is: void * xmalloc (size_t size) @{ - register void *value = malloc (size); + void *value = malloc (size); if (value == 0) fatal ("virtual memory exhausted"); return value; @@ -371,7 +371,7 @@ a newly allocated null-terminated string: char * savestring (const char *ptr, size_t len) @{ - register char *value = (char *) xmalloc (len + 1); + char *value = (char *) xmalloc (len + 1); value[len] = '\0'; return (char *) memcpy (value, ptr, len); @} @@ -502,7 +502,7 @@ as @code{xmalloc} does for @code{malloc}: void * xrealloc (void *ptr, size_t size) @{ - register void *value = realloc (ptr, size); + void *value = realloc (ptr, size); if (value == 0) fatal ("Virtual memory exhausted"); return value; diff --git a/libc/manual/pattern.texi b/libc/manual/pattern.texi index 1966f3f14..afd648092 100644 --- a/libc/manual/pattern.texi +++ b/libc/manual/pattern.texi @@ -36,11 +36,8 @@ returns the nonzero value @code{FNM_NOMATCH}. The arguments The argument @var{flags} is a combination of flag bits that alter the details of matching. See below for a list of the defined flags. -In @theglibc{}, @code{fnmatch} cannot experience an ``error''---it -always returns an answer for whether the match succeeds. However, other -implementations of @code{fnmatch} might sometimes report ``errors''. -They would do so by returning nonzero values that are not equal to -@code{FNM_NOMATCH}. +In @theglibc{}, @code{fnmatch} might sometimes report ``errors'' by +returning nonzero values that are not equal to @code{FNM_NOMATCH}. @end deftypefun These are the available flags for the @var{flags} argument: diff --git a/libc/manual/socket.texi b/libc/manual/socket.texi index 25c35c46b..4c7e623b2 100644 --- a/libc/manual/socket.texi +++ b/libc/manual/socket.texi @@ -1307,23 +1307,25 @@ Here's a small example: struct hostent * gethostname (char *host) @{ - struct hostent hostbuf, *hp; + struct hostent *hostbuf, *hp; size_t hstbuflen; char *tmphstbuf; int res; int herr; + hostbuf = malloc (sizeof (struct hostent)); hstbuflen = 1024; - /* Allocate buffer, remember to free it to avoid memory leakage. */ tmphstbuf = malloc (hstbuflen); - while ((res = gethostbyname_r (host, &hostbuf, tmphstbuf, hstbuflen, + while ((res = gethostbyname_r (host, hostbuf, tmphstbuf, hstbuflen, &hp, &herr)) == ERANGE) @{ /* Enlarge the buffer. */ hstbuflen *= 2; tmphstbuf = realloc (tmphstbuf, hstbuflen); @} + + free (tmphstbuf); /* Check for errors. */ if (res || hp == NULL) return NULL; diff --git a/libc/nptl/ChangeLog b/libc/nptl/ChangeLog index a08915382..9d04a7b3f 100644 --- a/libc/nptl/ChangeLog +++ b/libc/nptl/ChangeLog @@ -1,3 +1,12 @@ +2013-10-30 Mike Frysinger <vapier@gentoo.org> + + * sysdeps/pthread/configure.in: Moved to ... + * sysdeps/pthread/configure.ac: ... here. + * sysdeps/x86_64/configure.in: Moved to ... + * sysdeps/x86_64/configure.ac: ... here. + * sysdeps/pthread/configure: Regenerated. + * sysdeps/x86_64/configure: Likewise. + 2013-10-04 Maciej W. Rozycki <macro@codesourcery.com> * tst-mutex8.c (check_type) [ENABLE_PI]: Handle ENOTSUP failure diff --git a/libc/nptl/sysdeps/pthread/configure b/libc/nptl/sysdeps/pthread/configure index 7962ed6fc..239a039e3 100755 --- a/libc/nptl/sysdeps/pthread/configure +++ b/libc/nptl/sysdeps/pthread/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! if test "x$libc_cv_gcc___thread" != xyes; then as_fn_error $? "compiler support for __thread is required" "$LINENO" 5 diff --git a/libc/nptl/sysdeps/pthread/configure.in b/libc/nptl/sysdeps/pthread/configure.ac index 413af9679..413af9679 100644 --- a/libc/nptl/sysdeps/pthread/configure.in +++ b/libc/nptl/sysdeps/pthread/configure.ac diff --git a/libc/nptl/sysdeps/x86_64/configure b/libc/nptl/sysdeps/x86_64/configure index 8e5bcacaf..c9dea5a7a 100644 --- a/libc/nptl/sysdeps/x86_64/configure +++ b/libc/nptl/sysdeps/x86_64/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/i386. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .cfi_personality and .cfi_lsda pseudo-ops" >&5 diff --git a/libc/nptl/sysdeps/x86_64/configure.in b/libc/nptl/sysdeps/x86_64/configure.ac index 0ba0cc372..0ba0cc372 100644 --- a/libc/nptl/sysdeps/x86_64/configure.in +++ b/libc/nptl/sysdeps/x86_64/configure.ac diff --git a/libc/nscd/Makefile b/libc/nscd/Makefile index 535da43d5..cd70c858b 100644 --- a/libc/nscd/Makefile +++ b/libc/nscd/Makefile @@ -67,7 +67,7 @@ endif nscd-modules += selinux selinux-LIBS := -lselinux $(libaudit) $(libcap) -# The configure.in check for libselinux and its headers did not use +# The configure.ac check for libselinux and its headers did not use # $SYSINCLUDES. The directory specified by --with-headers usually # contains only the basic kernel interface headers, not something like # libselinux. So the simplest thing is to presume that the standard diff --git a/libc/nss/nss_files/files-XXX.c b/libc/nss/nss_files/files-XXX.c index 082d1ea2b..b62208c32 100644 --- a/libc/nss/nss_files/files-XXX.c +++ b/libc/nss/nss_files/files-XXX.c @@ -179,8 +179,51 @@ CONCAT(_nss_files_end,ENTNAME) (void) return NSS_STATUS_SUCCESS; } -/* Parsing the database file into `struct STRUCTURE' data structures. */ +typedef enum +{ + gcr_ok = 0, + gcr_error = -1, + gcr_overflow = -2 +} get_contents_ret; + +/* Hack around the fact that fgets only accepts int sizes. */ +static get_contents_ret +get_contents (char *linebuf, size_t len, FILE *stream) +{ + size_t remaining_len = len; + char *curbuf = linebuf; + + do + { + int curlen = ((remaining_len > (size_t) INT_MAX) ? INT_MAX + : remaining_len); + char *p = fgets_unlocked (curbuf, curlen, stream); + + ((unsigned char *) curbuf)[curlen - 1] = 0xff; + + /* EOF or read error. */ + if (p == NULL) + return gcr_error; + + /* Done reading in the line. */ + if (((unsigned char *) curbuf)[curlen - 1] == 0xff) + return gcr_ok; + + /* Drop the terminating '\0'. */ + remaining_len -= curlen - 1; + curbuf += curlen - 1; + } + /* fgets copies one less than the input length. Our last iteration is of + REMAINING_LEN and once that is done, REMAINING_LEN is decremented by + REMAINING_LEN - 1, leaving the result as 1. */ + while (remaining_len > 1); + + /* This means that the current buffer was not large enough. */ + return gcr_overflow; +} + +/* Parsing the database file into `struct STRUCTURE' data structures. */ static enum nss_status internal_getent (struct STRUCTURE *result, char *buffer, size_t buflen, int *errnop H_ERRNO_PROTO @@ -188,7 +231,7 @@ internal_getent (struct STRUCTURE *result, { char *p; struct parser_data *data = (void *) buffer; - int linebuflen = buffer + buflen - data->linebuffer; + size_t linebuflen = buffer + buflen - data->linebuffer; int parse_result; if (buflen < sizeof *data + 2) @@ -200,17 +243,16 @@ internal_getent (struct STRUCTURE *result, do { - /* Terminate the line so that we can test for overflow. */ - ((unsigned char *) data->linebuffer)[linebuflen - 1] = '\xff'; + get_contents_ret r = get_contents (data->linebuffer, linebuflen, stream); - p = fgets_unlocked (data->linebuffer, linebuflen, stream); - if (p == NULL) + if (r == gcr_error) { /* End of file or read error. */ H_ERRNO_SET (HOST_NOT_FOUND); return NSS_STATUS_NOTFOUND; } - else if (((unsigned char *) data->linebuffer)[linebuflen - 1] != 0xff) + + if (r == gcr_overflow) { /* The line is too long. Give the user the opportunity to enlarge the buffer. */ @@ -219,7 +261,8 @@ internal_getent (struct STRUCTURE *result, return NSS_STATUS_TRYAGAIN; } - /* Skip leading blanks. */ + /* Everything OK. Now skip leading blanks. */ + p = data->linebuffer; while (isspace (*p)) ++p; } diff --git a/libc/ports/ChangeLog b/libc/ports/ChangeLog index a1dd8c342..47294712f 100644 --- a/libc/ports/ChangeLog +++ b/libc/ports/ChangeLog @@ -1,13 +1,7 @@ -2013-10-04 Alan Modra <amodra@gmail.com> +2013-10-30 Mike Frysinger <vapier@gentoo.org> - * sysdeps/ia64/fpu/printf_fphex.c: Adjust for fpnum change. - -2013-09-02 Mike Frysinger <vapier@gentoo.org> - - * sysdeps/unix/sysv/linux/hppa/syscalls.list (fanotify_mark): New - entry. - * sysdeps/unix/sysv/linux/hppa/Versions (libc): Add GLIBC_2.19 and - fanotify_mark. + * README: Change references to preconfigure.in to + preconfigure.ac. 2013-01-02 Joseph Myers <joseph@codesourcery.com> diff --git a/libc/ports/ChangeLog.aarch64 b/libc/ports/ChangeLog.aarch64 index cebf5055d..1fd96eed7 100644 --- a/libc/ports/ChangeLog.aarch64 +++ b/libc/ports/ChangeLog.aarch64 @@ -1,3 +1,9 @@ +2013-10-30 Mike Frysinger <vapier@gentoo.org> + + * sysdeps/unix/sysv/linux/aarch64/configure.in: Moved to ... + * sysdeps/unix/sysv/linux/aarch64/configure.ac: ... here. + * sysdeps/unix/sysv/linux/aarch64/configure: Regenerated. + 2013-09-30 Andrew Pinski <andrew.pinski@caviumnetworks.com> * sysdeps/unix/sysv/linux/aarch64/sysdep.h (SYSCALL_ERROR_HANDLER): diff --git a/libc/ports/ChangeLog.alpha b/libc/ports/ChangeLog.alpha index 68d430dc3..07f5dfb47 100644 --- a/libc/ports/ChangeLog.alpha +++ b/libc/ports/ChangeLog.alpha @@ -1,3 +1,12 @@ +2013-10-30 Mike Frysinger <vapier@gentoo.org> + + * sysdeps/alpha/configure.in: Moved to ... + * sysdeps/alpha/configure.ac: ... here. + * sysdeps/unix/sysv/linux/alpha/configure.in: Moved to ... + * sysdeps/unix/sysv/linux/alpha/configure.ac: ... here. + * sysdeps/alpha/configure: Regenerated. + * sysdeps/unix/sysv/linux/alpha/configure: Likewise. + 2013-10-12 Yuri Chornoivan <yurchor@ukr.net> * sysdeps/unix/sysv/linux/alpha/nptl/pt-vfork.S: Fix typos. diff --git a/libc/ports/ChangeLog.am33 b/libc/ports/ChangeLog.am33 index 79bcc0a10..15b7a1b30 100644 --- a/libc/ports/ChangeLog.am33 +++ b/libc/ports/ChangeLog.am33 @@ -1,3 +1,9 @@ +2013-10-30 Mike Frysinger <vapier@gentoo.org> + + * sysdeps/unix/sysv/linux/am33/configure.in: Moved to ... + * sysdeps/unix/sysv/linux/am33/configure.ac: ... here. + * sysdeps/unix/sysv/linux/am33/configure: Regenerated. + 2013-08-29 Ondřej Bílka <neleai@seznam.cz> * sysdeps/unix/sysv/linux/am33/bits/fcntl.h: Fix typos. diff --git a/libc/ports/ChangeLog.arm b/libc/ports/ChangeLog.arm index 6707d2ef3..0dfe5c788 100644 --- a/libc/ports/ChangeLog.arm +++ b/libc/ports/ChangeLog.arm @@ -1,3 +1,23 @@ +2013-10-30 Mike Frysinger <vapier@gentoo.org> + + * sysdeps/arm/configure.in: Moved to ... + * sysdeps/arm/configure.ac: ... here. + * sysdeps/arm/preconfigure.in: Moved to ... + * sysdeps/arm/preconfigure.ac: ... here. Change reference to + configure.in to configure.ac. + * sysdeps/arm/preconfigure: Regenerated. + * sysdeps/arm/armv7/configure.in: Moved to ... + * sysdeps/arm/armv7/configure.ac: ... here. + * sysdeps/unix/sysv/linux/arm/configure.in: Moved to ... + * sysdeps/unix/sysv/linux/arm/configure.ac: ... here. Change + reference to preconfigure.in to preconfigure.ac. + * sysdeps/unix/sysv/linux/arm/configure: Regenerated. + * sysdeps/unix/sysv/linux/arm/nptl/configure.in: Moved to ... + * sysdeps/unix/sysv/linux/arm/nptl/configure.ac: ... here. + * sysdeps/arm/configure: Regenerated. + * sysdeps/sysdeps/arm/armv7/configure: Likewise. + * sysdeps/unix/sysv/linux/arm/nptl/configure: Likewise. + 2013-10-04 Will Newton <will.newton@linaro.org> * sysdeps/arm/__longjmp.S (NO_THUMB): Remove define. diff --git a/libc/ports/ChangeLog.hppa b/libc/ports/ChangeLog.hppa index 3e7c16221..b7c82131d 100644 --- a/libc/ports/ChangeLog.hppa +++ b/libc/ports/ChangeLog.hppa @@ -1,7 +1,20 @@ +2013-10-30 Mike Frysinger <vapier@gentoo.org> + + * sysdeps/hppa/configure.in: Moved to ... + * sysdeps/hppa/configure.ac: ... here. + * sysdeps/hppa/configure: Regenerated. + 2013-09-11 Andreas Schwab <schwab@suse.de> * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h (__O_TMPFILE): Define. +2013-09-02 Mike Frysinger <vapier@gentoo.org> + + * sysdeps/unix/sysv/linux/hppa/syscalls.list (fanotify_mark): New + entry. + * sysdeps/unix/sysv/linux/hppa/Versions (libc): Add GLIBC_2.19 and + fanotify_mark. + 2013-08-30 Ondřej Bílka <neleai@seznam.cz> * sysdeps/unix/sysv/linux/hppa/clone.S: Fix typos. diff --git a/libc/ports/ChangeLog.ia64 b/libc/ports/ChangeLog.ia64 index 272f73a1b..1eb0f389c 100644 --- a/libc/ports/ChangeLog.ia64 +++ b/libc/ports/ChangeLog.ia64 @@ -1,3 +1,16 @@ +2013-10-30 Mike Frysinger <vapier@gentoo.org> + + * sysdeps/ia64/configure.in: Moved to ... + * sysdeps/ia64/configure.ac: ... here. + * sysdeps/unix/sysv/linux/ia64/configure.in: Moved to ... + * sysdeps/unix/sysv/linux/ia64/configure.ac: ... here. + * sysdeps/ia64/configure: Regenerated. + * sysdeps/unix/sysv/linux/ia64/configure: Likewise. + +2013-10-04 Alan Modra <amodra@gmail.com> + + * sysdeps/ia64/fpu/printf_fphex.c: Adjust for fpnum change. + 2013-09-22 Carlos O'Donell <carlos@redhat.com> [BZ #15754] diff --git a/libc/ports/ChangeLog.m68k b/libc/ports/ChangeLog.m68k index 5bcd94541..327216f5f 100644 --- a/libc/ports/ChangeLog.m68k +++ b/libc/ports/ChangeLog.m68k @@ -1,3 +1,9 @@ +2013-10-30 Mike Frysinger <vapier@gentoo.org> + + * sysdeps/unix/sysv/linux/m68k/configure.in: Moved to ... + * sysdeps/unix/sysv/linux/m68k/configure.ac: ... here. + * sysdeps/unix/sysv/linux/m68k/configure: Regenerated. + 2013-10-08 Andreas Schwab <schwab@suse.de> * sysdeps/m68k/start.S [SHARED]: Use PIC. diff --git a/libc/ports/ChangeLog.microblaze b/libc/ports/ChangeLog.microblaze index 92faa0444..d792effa4 100644 --- a/libc/ports/ChangeLog.microblaze +++ b/libc/ports/ChangeLog.microblaze @@ -1,3 +1,9 @@ +2013-10-30 Mike Frysinger <vapier@gentoo.org> + + * sysdeps/unix/sysv/linux/microblaze/configure.in: Moved to ... + * sysdeps/unix/sysv/linux/microblaze/configure.ac: ... here. + * sysdeps/unix/sysv/linux/microblaze/configure: Regenerated. + 2013-06-15 Siddhesh Poyarekar <siddhesh@redhat.com> * sysdeps/unix/sysv/linux/microblaze/nptl/libpthread.abilist: diff --git a/libc/ports/ChangeLog.mips b/libc/ports/ChangeLog.mips index eaa6ade59..3382d838f 100644 --- a/libc/ports/ChangeLog.mips +++ b/libc/ports/ChangeLog.mips @@ -1,3 +1,15 @@ +2013-10-30 Mike Frysinger <vapier@gentoo.org> + + * sysdeps/mips/configure.in: Moved to ... + * sysdeps/mips/configure.ac: ... here. + * sysdeps/unix/sysv/linux/mips/configure.in: Moved to ... + * sysdeps/unix/sysv/linux/mips/configure.ac: ... here. + * sysdeps/unix/sysv/linux/mips/mips64/configure.in: Moved to ... + * sysdeps/unix/sysv/linux/mips/mips64/configure.ac: ... here. + * sysdeps/mips/configure: Regenerated. + * sysdeps/unix/sysv/linux/mips/configure: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/configure: Likewise. + 2013-09-26 Steve Ellcey <sellcey@mips.com> [BZ #15632] diff --git a/libc/ports/ChangeLog.tile b/libc/ports/ChangeLog.tile index dc2e7e412..a0ec89cac 100644 --- a/libc/ports/ChangeLog.tile +++ b/libc/ports/ChangeLog.tile @@ -1,3 +1,12 @@ +2013-10-30 Mike Frysinger <vapier@gentoo.org> + + * sysdeps/unix/sysv/linux/tile/configure.in: Moved to ... + * sysdeps/unix/sysv/linux/tile/configure.ac: ... here. + * sysdeps/unix/sysv/linux/tile/tilegx/configure.in: Moved to ... + * sysdeps/unix/sysv/linux/tile/tilegx/configure.ac: ... here. + * sysdeps/unix/sysv/linux/tile/configure: Regenerated. + * sysdeps/unix/sysv/linux/tile/tilegx/configure: Likewise. + 2013-09-22 Carlos O'Donell <carlos@redhat.com> [BZ #15754] diff --git a/libc/ports/README b/libc/ports/README index d16b0f0f5..2c73b1e80 100644 --- a/libc/ports/README +++ b/libc/ports/README @@ -24,7 +24,7 @@ rather than the generic ones here. The real source code for any ports is found in the sysdeps/ subdirectories. These should be exactly what would go into the main libc source tree if you were to incorporate it directly. The only exceptions are the files -sysdeps/*/preconfigure and sysdeps/*/preconfigure.in; these are fragments +sysdeps/*/preconfigure and sysdeps/*/preconfigure.ac; these are fragments used by this add-on's configure fragment. The purpose of these is to set $base_machine et al when the main libc configure's defaults are not right for some machine. Everything else can and should be done from a normal @@ -32,7 +32,7 @@ sysdeps/.../configure fragment that is used only when the configuration selects that sysdeps subdirectory. Each port that requires some special treatment before the sysdeps directory list is calculated, should add a sysdeps/CPU/preconfigure file; this can either be written by hand or -generated by Autoconf from sysdeps/CPU/preconfigure.in, and follow the +generated by Autoconf from sysdeps/CPU/preconfigure.ac, and follow the rules for glibc add-on configure fragments. No preconfigure file should do anything on an unrelated configuration, so that disparate ports can be put into a single add-on without interfering with each other. diff --git a/libc/ports/sysdeps/alpha/configure b/libc/ports/sysdeps/alpha/configure index 9c03229df..0403c63fe 100644 --- a/libc/ports/sysdeps/alpha/configure +++ b/libc/ports/sysdeps/alpha/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/alpha. # With required gcc+binutils, we can always access static and hidden diff --git a/libc/ports/sysdeps/alpha/configure.in b/libc/ports/sysdeps/alpha/configure.ac index eadc57afe..eadc57afe 100644 --- a/libc/ports/sysdeps/alpha/configure.in +++ b/libc/ports/sysdeps/alpha/configure.ac diff --git a/libc/ports/sysdeps/arm/armv7/configure b/libc/ports/sysdeps/arm/armv7/configure index a879ffb5a..46e5d52df 100755 --- a/libc/ports/sysdeps/arm/armv7/configure +++ b/libc/ports/sysdeps/arm/armv7/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/arm/armv7. # We need binutils 2.21 to ensure that NEON alignments are assembled correctly. diff --git a/libc/ports/sysdeps/arm/armv7/configure.in b/libc/ports/sysdeps/arm/armv7/configure.ac index 01e93ecd3..01e93ecd3 100644 --- a/libc/ports/sysdeps/arm/armv7/configure.in +++ b/libc/ports/sysdeps/arm/armv7/configure.ac diff --git a/libc/ports/sysdeps/arm/bits/predefs.h b/libc/ports/sysdeps/arm/bits/predefs.h deleted file mode 100644 index 0f3c5c9f2..000000000 --- a/libc/ports/sysdeps/arm/bits/predefs.h +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 2005, 2006 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. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - 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, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _PREDEFS_H -#define _PREDEFS_H - -#ifndef _STDC_PREDEF_H -# error "Never use <bits/predefs.h> directly; include <stdc-predef.h> instead." -#endif - -/* We do support the IEC 559 math functionality, real and complex, but only - if a VFP coprocessor is present. If we don't have one, we fall back to - software emulation and the functions won't work properly. So in general, - we don't claim to support this functionality. */ -#if defined (__VFP_FP__) && !defined(__SOFTFP__) -#define __STDC_IEC_559__ 1 -#define __STDC_IEC_559_COMPLEX__ 1 -#endif - -#endif /* predefs.h */ diff --git a/libc/ports/sysdeps/arm/configure b/libc/ports/sysdeps/arm/configure index b84b3f69a..d79ef76ec 100644 --- a/libc/ports/sysdeps/arm/configure +++ b/libc/ports/sysdeps/arm/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/arm. #AC_DEFINE(PI_STATIC_AND_HIDDEN) diff --git a/libc/ports/sysdeps/arm/configure.in b/libc/ports/sysdeps/arm/configure.ac index d66500b3f..d66500b3f 100644 --- a/libc/ports/sysdeps/arm/configure.in +++ b/libc/ports/sysdeps/arm/configure.ac diff --git a/libc/ports/sysdeps/arm/preconfigure b/libc/ports/sysdeps/arm/preconfigure index 908cd3430..b3124edae 100644 --- a/libc/ports/sysdeps/arm/preconfigure +++ b/libc/ports/sysdeps/arm/preconfigure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local preconfigure fragment for sysdeps/arm case "$machine" in @@ -8,7 +8,7 @@ arm*) # If the compiler enables unwind tables by default, this causes # problems with undefined symbols in -nostdlib link tests. To # avoid this, add -fno-unwind-tables here and remove it in - # sysdeps/unix/sysv/linux/arm/configure.in after those tests have + # sysdeps/unix/sysv/linux/arm/configure.ac after those tests have # been run. if test "${CFLAGS+set}" != "set"; then CFLAGS="-g -O2" diff --git a/libc/ports/sysdeps/arm/preconfigure.in b/libc/ports/sysdeps/arm/preconfigure.ac index f8357955e..39c86218a 100644 --- a/libc/ports/sysdeps/arm/preconfigure.in +++ b/libc/ports/sysdeps/arm/preconfigure.ac @@ -8,7 +8,7 @@ arm*) # If the compiler enables unwind tables by default, this causes # problems with undefined symbols in -nostdlib link tests. To # avoid this, add -fno-unwind-tables here and remove it in - # sysdeps/unix/sysv/linux/arm/configure.in after those tests have + # sysdeps/unix/sysv/linux/arm/configure.ac after those tests have # been run. if test "${CFLAGS+set}" != "set"; then CFLAGS="-g -O2" diff --git a/libc/ports/sysdeps/hppa/configure b/libc/ports/sysdeps/hppa/configure index 762b668f4..d78e1bcd6 100644 --- a/libc/ports/sysdeps/hppa/configure +++ b/libc/ports/sysdeps/hppa/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for assembler line separator" >&5 $as_echo_n "checking for assembler line separator... " >&6; } diff --git a/libc/ports/sysdeps/hppa/configure.in b/libc/ports/sysdeps/hppa/configure.ac index 40f33603e..40f33603e 100644 --- a/libc/ports/sysdeps/hppa/configure.in +++ b/libc/ports/sysdeps/hppa/configure.ac diff --git a/libc/ports/sysdeps/ia64/configure b/libc/ports/sysdeps/ia64/configure index e1fe62d8c..66b9bac15 100644 --- a/libc/ports/sysdeps/ia64/configure +++ b/libc/ports/sysdeps/ia64/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/ia64. $as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h diff --git a/libc/ports/sysdeps/ia64/configure.in b/libc/ports/sysdeps/ia64/configure.ac index 4ad04ff2f..4ad04ff2f 100644 --- a/libc/ports/sysdeps/ia64/configure.in +++ b/libc/ports/sysdeps/ia64/configure.ac diff --git a/libc/ports/sysdeps/mips/configure b/libc/ports/sysdeps/mips/configure index de8092c97..f3f5d2e00 100644 --- a/libc/ports/sysdeps/mips/configure +++ b/libc/ports/sysdeps/mips/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/mips. diff --git a/libc/ports/sysdeps/mips/configure.in b/libc/ports/sysdeps/mips/configure.ac index bcbdaffd9..bcbdaffd9 100644 --- a/libc/ports/sysdeps/mips/configure.in +++ b/libc/ports/sysdeps/mips/configure.ac diff --git a/libc/ports/sysdeps/unix/sysv/linux/aarch64/configure b/libc/ports/sysdeps/unix/sysv/linux/aarch64/configure index 6b2608acd..20593c7bb 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/aarch64/configure +++ b/libc/ports/sysdeps/unix/sysv/linux/aarch64/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/unix/sysv/linux/aarch64. arch_minimum_kernel=3.7.0 diff --git a/libc/ports/sysdeps/unix/sysv/linux/aarch64/configure.in b/libc/ports/sysdeps/unix/sysv/linux/aarch64/configure.ac index b09070213..b09070213 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/aarch64/configure.in +++ b/libc/ports/sysdeps/unix/sysv/linux/aarch64/configure.ac diff --git a/libc/ports/sysdeps/unix/sysv/linux/alpha/configure b/libc/ports/sysdeps/unix/sysv/linux/alpha/configure index b5df524c1..9afb5874c 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/alpha/configure +++ b/libc/ports/sysdeps/unix/sysv/linux/alpha/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/unix/sysv/linux/alpha # We did historically export the unwinder from glibc. diff --git a/libc/ports/sysdeps/unix/sysv/linux/alpha/configure.in b/libc/ports/sysdeps/unix/sysv/linux/alpha/configure.ac index a8b699665..a8b699665 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/alpha/configure.in +++ b/libc/ports/sysdeps/unix/sysv/linux/alpha/configure.ac diff --git a/libc/ports/sysdeps/unix/sysv/linux/am33/configure b/libc/ports/sysdeps/unix/sysv/linux/am33/configure index 870c6a792..c916a321c 100755 --- a/libc/ports/sysdeps/unix/sysv/linux/am33/configure +++ b/libc/ports/sysdeps/unix/sysv/linux/am33/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for am33/sysdeps/unix/sysv/linux/am33 arch_minimum_kernel=2.6.25 diff --git a/libc/ports/sysdeps/unix/sysv/linux/am33/configure.in b/libc/ports/sysdeps/unix/sysv/linux/am33/configure.ac index 43e33f74c..43e33f74c 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/am33/configure.in +++ b/libc/ports/sysdeps/unix/sysv/linux/am33/configure.ac diff --git a/libc/ports/sysdeps/unix/sysv/linux/arm/configure b/libc/ports/sysdeps/unix/sysv/linux/arm/configure index f66b15828..71eb19594 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/arm/configure +++ b/libc/ports/sysdeps/unix/sysv/linux/arm/configure @@ -1,6 +1,6 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/unix/sysv/linux/arm. libc_cv_gcc_unwind_find_fde=no -# Remove -fno-unwind-tables that was added in sysdeps/arm/preconfigure.in. +# Remove -fno-unwind-tables that was added in sysdeps/arm/preconfigure.ac. CFLAGS=${CFLAGS% -fno-unwind-tables} diff --git a/libc/ports/sysdeps/unix/sysv/linux/arm/configure.in b/libc/ports/sysdeps/unix/sysv/linux/arm/configure.ac index 8fffe9405..8e4e20d2b 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/arm/configure.in +++ b/libc/ports/sysdeps/unix/sysv/linux/arm/configure.ac @@ -2,5 +2,5 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. # Local configure fragment for sysdeps/unix/sysv/linux/arm. libc_cv_gcc_unwind_find_fde=no -# Remove -fno-unwind-tables that was added in sysdeps/arm/preconfigure.in. +# Remove -fno-unwind-tables that was added in sysdeps/arm/preconfigure.ac. CFLAGS=${CFLAGS% -fno-unwind-tables} diff --git a/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/configure b/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/configure index 518269913..a8c34fa3e 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/configure +++ b/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! libc_cv_gcc_exceptions=yes exceptions=-fexceptions diff --git a/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/configure.in b/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/configure.ac index 22f6f4b8f..22f6f4b8f 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/configure.in +++ b/libc/ports/sysdeps/unix/sysv/linux/arm/nptl/configure.ac diff --git a/libc/ports/sysdeps/unix/sysv/linux/ia64/configure b/libc/ports/sysdeps/unix/sysv/linux/ia64/configure index 71323718a..1d4e5d18d 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/ia64/configure +++ b/libc/ports/sysdeps/unix/sysv/linux/ia64/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/unix/sysv/linux/ia64 ldd_rewrite_script=$dir/ldd-rewrite.sed diff --git a/libc/ports/sysdeps/unix/sysv/linux/ia64/configure.in b/libc/ports/sysdeps/unix/sysv/linux/ia64/configure.ac index 4fb564721..4fb564721 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/ia64/configure.in +++ b/libc/ports/sysdeps/unix/sysv/linux/ia64/configure.ac diff --git a/libc/ports/sysdeps/unix/sysv/linux/m68k/configure b/libc/ports/sysdeps/unix/sysv/linux/m68k/configure index a704dacee..8e955387b 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/m68k/configure +++ b/libc/ports/sysdeps/unix/sysv/linux/m68k/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! case $machine in m68k/coldfire) ;; diff --git a/libc/ports/sysdeps/unix/sysv/linux/m68k/configure.in b/libc/ports/sysdeps/unix/sysv/linux/m68k/configure.ac index c21ca9dd4..c21ca9dd4 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/m68k/configure.in +++ b/libc/ports/sysdeps/unix/sysv/linux/m68k/configure.ac diff --git a/libc/ports/sysdeps/unix/sysv/linux/microblaze/configure b/libc/ports/sysdeps/unix/sysv/linux/microblaze/configure index fa7da7393..086638856 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/microblaze/configure +++ b/libc/ports/sysdeps/unix/sysv/linux/microblaze/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/unix/sysv/linux/microblaze. arch_minimum_kernel=2.6.30 diff --git a/libc/ports/sysdeps/unix/sysv/linux/microblaze/configure.in b/libc/ports/sysdeps/unix/sysv/linux/microblaze/configure.ac index f283d3770..f283d3770 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/microblaze/configure.in +++ b/libc/ports/sysdeps/unix/sysv/linux/microblaze/configure.ac diff --git a/libc/ports/sysdeps/unix/sysv/linux/mips/configure b/libc/ports/sysdeps/unix/sysv/linux/mips/configure index 088210ff9..e8b0d7b15 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/mips/configure +++ b/libc/ports/sysdeps/unix/sysv/linux/mips/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/unix/sysv/linux/mips. diff --git a/libc/ports/sysdeps/unix/sysv/linux/mips/configure.in b/libc/ports/sysdeps/unix/sysv/linux/mips/configure.ac index 7087a14a5..7087a14a5 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/mips/configure.in +++ b/libc/ports/sysdeps/unix/sysv/linux/mips/configure.ac diff --git a/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/configure b/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/configure index f86f3276a..26bed649d 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/configure +++ b/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/unix/sysv/linux/mips/mips64. ldd_rewrite_script=$dir/ldd-rewrite.sed diff --git a/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/configure.in b/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/configure.ac index c137ec555..c137ec555 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/configure.in +++ b/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/configure.ac diff --git a/libc/ports/sysdeps/unix/sysv/linux/tile/configure b/libc/ports/sysdeps/unix/sysv/linux/tile/configure index 88b578848..02f6c8c25 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/tile/configure +++ b/libc/ports/sysdeps/unix/sysv/linux/tile/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/unix/sysv/linux/tile. arch_minimum_kernel=2.6.32 diff --git a/libc/ports/sysdeps/unix/sysv/linux/tile/configure.in b/libc/ports/sysdeps/unix/sysv/linux/tile/configure.ac index b983e28be..b983e28be 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/tile/configure.in +++ b/libc/ports/sysdeps/unix/sysv/linux/tile/configure.ac diff --git a/libc/ports/sysdeps/unix/sysv/linux/tile/tilegx/configure b/libc/ports/sysdeps/unix/sysv/linux/tile/tilegx/configure index bfa30f6dc..0a6a63ff9 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/tile/tilegx/configure +++ b/libc/ports/sysdeps/unix/sysv/linux/tile/tilegx/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/unix/sysv/linux/tile/tilegx ldd_rewrite_script=$dir/ldd-rewrite.sed diff --git a/libc/ports/sysdeps/unix/sysv/linux/tile/tilegx/configure.in b/libc/ports/sysdeps/unix/sysv/linux/tile/tilegx/configure.ac index 87d86bd4c..87d86bd4c 100644 --- a/libc/ports/sysdeps/unix/sysv/linux/tile/tilegx/configure.in +++ b/libc/ports/sysdeps/unix/sysv/linux/tile/tilegx/configure.ac diff --git a/libc/posix/glob.c b/libc/posix/glob.c index 02c8477c6..211c5b980 100644 --- a/libc/posix/glob.c +++ b/libc/posix/glob.c @@ -279,6 +279,11 @@ glob (pattern, flags, errfunc, pglob) return -1; } + /* POSIX requires all slashes to be matched. This means that with + a trailing slash we must match only directories. */ + if (pattern[0] && pattern[strlen (pattern) - 1] == '/') + flags |= GLOB_ONLYDIR; + if (!(flags & GLOB_DOOFFS)) /* Have to do this so `globfree' knows where to start freeing. It also makes all the code that uses gl_offs simpler. */ diff --git a/libc/posix/tst-gnuglob.c b/libc/posix/tst-gnuglob.c index 0c967d0a7..6e42724d0 100644 --- a/libc/posix/tst-gnuglob.c +++ b/libc/posix/tst-gnuglob.c @@ -168,7 +168,7 @@ my_opendir (const char *s) my_DIR *dir; - if (idx == -1) + if (idx == -1 || filesystem[idx].type != DT_DIR) { PRINTF ("my_opendir(\"%s\") == NULL\n", s); return NULL; @@ -358,7 +358,7 @@ test_result (const char *fmt, int flags, glob_t *gl, const char *str[]) break; if (str[inner] == NULL) - errstr = ok ? "" : " *** WRONG"; + errstr = ok ? "" : " *** WRONG"; else errstr = ok ? "" : " * wrong position"; @@ -483,6 +483,12 @@ main (void) "/file1lev1", "/file2lev1"); + test ("*/*/", 0 , 0, + "dir1lev1/dir1lev2/", + "dir1lev1/dir2lev2/", + "dir1lev1/dir3lev2/", + "dir2lev1/dir1lev2/"); + test ("", 0, GLOB_NOMATCH, NULL); test ("", GLOB_NOCHECK, 0, ""); diff --git a/libc/rt/tst-shm.c b/libc/rt/tst-shm.c index f9d5ab009..cb4b1ee76 100644 --- a/libc/rt/tst-shm.c +++ b/libc/rt/tst-shm.c @@ -134,6 +134,14 @@ do_test (void) int status2; struct stat64 st; + fd = shm_open ("/../escaped", O_RDWR | O_CREAT | O_TRUNC | O_EXCL, 0600); + if (fd != -1) + { + perror ("read file outside of SHMDIR directory"); + return 1; + } + + /* Create the shared memory object. */ fd = shm_open ("/shm-test", O_RDWR | O_CREAT | O_TRUNC | O_EXCL, 0600); if (fd == -1) diff --git a/libc/stdio-common/Makefile b/libc/stdio-common/Makefile index 83e8fb43f..128747e08 100644 --- a/libc/stdio-common/Makefile +++ b/libc/stdio-common/Makefile @@ -132,6 +132,7 @@ CFLAGS-tst-sprintf.c = -Wno-format tst-sprintf-ENV = LOCPATH=$(common-objpfx)localedata tst-sscanf-ENV = LOCPATH=$(common-objpfx)localedata tst-swprintf-ENV = LOCPATH=$(common-objpfx)localedata +tst-swscanf-ENV = LOCPATH=$(common-objpfx)localedata test-vfprintf-ENV = LOCPATH=$(common-objpfx)localedata scanf13-ENV = LOCPATH=$(common-objpfx)localedata bug14-ENV = LOCPATH=$(common-objpfx)localedata diff --git a/libc/stdio-common/tst-sscanf.c b/libc/stdio-common/tst-sscanf.c index 1edb22719..3c34f58a6 100644 --- a/libc/stdio-common/tst-sscanf.c +++ b/libc/stdio-common/tst-sscanf.c @@ -109,6 +109,19 @@ struct test double_tests[] = { L("-inf"), L("%g"), 1 } }; +struct test2 +{ + const CHAR *str; + const CHAR *fmt; + int retval; + char residual; +} double_tests2[] = +{ + { L("0e+0"), L("%g%c"), 1, 0 }, + { L("0xe+0"), L("%g%c"), 2, '+' }, + { L("0x.e+0"), L("%g%c"), 2, '+' }, +}; + int main (void) { @@ -196,5 +209,26 @@ main (void) } } + for (i = 0; i < sizeof (double_tests2) / sizeof (double_tests2[0]); ++i) + { + double dummy; + int ret; + char c = 0; + + if ((ret = SSCANF (double_tests2[i].str, double_tests2[i].fmt, + &dummy, &c)) != double_tests2[i].retval) + { + printf ("double_tests2[%d] returned %d != %d\n", + i, ret, double_tests2[i].retval); + result = 1; + } + else if (ret == 2 && c != double_tests2[i].residual) + { + printf ("double_tests2[%d] stopped at '%c' != '%c'\n", + i, c, double_tests2[i].residual); + result = 1; + } + } + return result; } diff --git a/libc/stdio-common/vfscanf.c b/libc/stdio-common/vfscanf.c index e0f976db7..abaae2dba 100644 --- a/libc/stdio-common/vfscanf.c +++ b/libc/stdio-common/vfscanf.c @@ -1997,6 +1997,8 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr, if (width > 0) --width; } + else + got_digit = 1; } while (1) diff --git a/libc/stdlib/div.c b/libc/stdlib/div.c index 44a30a7ea..0f5569a5d 100644 --- a/libc/stdlib/div.c +++ b/libc/stdlib/div.c @@ -59,27 +59,5 @@ div (numer, denom) result.quot = numer / denom; result.rem = numer % denom; - /* The ANSI standard says that |QUOT| <= |NUMER / DENOM|, where - NUMER / DENOM is to be computed in infinite precision. In - other words, we should always truncate the quotient towards - zero, never -infinity. Machine division and remainer may - work either way when one or both of NUMER or DENOM is - negative. If only one is negative and QUOT has been - truncated towards -infinity, REM will have the same sign as - DENOM and the opposite sign of NUMER; if both are negative - and QUOT has been truncated towards -infinity, REM will be - positive (will have the opposite sign of NUMER). These are - considered `wrong'. If both are NUM and DENOM are positive, - RESULT will always be positive. This all boils down to: if - NUMER >= 0, but REM < 0, we got the wrong answer. In that - case, to get the right answer, add 1 to QUOT and subtract - DENOM from REM. */ - - if (numer >= 0 && result.rem < 0) - { - ++result.quot; - result.rem -= denom; - } - return result; } diff --git a/libc/stdlib/ldiv.c b/libc/stdlib/ldiv.c index 76d474fc6..a03057fc0 100644 --- a/libc/stdlib/ldiv.c +++ b/libc/stdlib/ldiv.c @@ -27,27 +27,5 @@ ldiv (long int numer, long int denom) result.quot = numer / denom; result.rem = numer % denom; - /* The ANSI standard says that |QUOT| <= |NUMER / DENOM|, where - NUMER / DENOM is to be computed in infinite precision. In - other words, we should always truncate the quotient towards - zero, never -infinity. Machine division and remainer may - work either way when one or both of NUMER or DENOM is - negative. If only one is negative and QUOT has been - truncated towards -infinity, REM will have the same sign as - DENOM and the opposite sign of NUMER; if both are negative - and QUOT has been truncated towards -infinity, REM will be - positive (will have the opposite sign of NUMER). These are - considered `wrong'. If both are NUM and DENOM are positive, - RESULT will always be positive. This all boils down to: if - NUMER >= 0, but REM < 0, we got the wrong answer. In that - case, to get the right answer, add 1 to QUOT and subtract - DENOM from REM. */ - - if (numer >= 0 && result.rem < 0) - { - ++result.quot; - result.rem -= denom; - } - return result; } diff --git a/libc/stdlib/lldiv.c b/libc/stdlib/lldiv.c index d1202bf9f..0da1a6afc 100644 --- a/libc/stdlib/lldiv.c +++ b/libc/stdlib/lldiv.c @@ -30,27 +30,5 @@ lldiv (numer, denom) result.quot = numer / denom; result.rem = numer % denom; - /* The ANSI standard says that |QUOT| <= |NUMER / DENOM|, where - NUMER / DENOM is to be computed in infinite precision. In - other words, we should always truncate the quotient towards - zero, never -infinity. Machine division and remainer may - work either way when one or both of NUMER or DENOM is - negative. If only one is negative and QUOT has been - truncated towards -infinity, REM will have the same sign as - DENOM and the opposite sign of NUMER; if both are negative - and QUOT has been truncated towards -infinity, REM will be - positive (will have the opposite sign of NUMER). These are - considered `wrong'. If both are NUM and DENOM are positive, - RESULT will always be positive. This all boils down to: if - NUMER >= 0, but REM < 0, we got the wrong answer. In that - case, to get the right answer, add 1 to QUOT and subtract - DENOM from REM. */ - - if (numer >= 0 && result.rem < 0) - { - ++result.quot; - result.rem -= denom; - } - return result; } diff --git a/libc/sunrpc/rpc_main.c b/libc/sunrpc/rpc_main.c index 0223c9a9f..0a51e2cfa 100644 --- a/libc/sunrpc/rpc_main.c +++ b/libc/sunrpc/rpc_main.c @@ -1442,6 +1442,9 @@ options_usage (FILE *stream, int status) f_print (stream, _("-t\t\tgenerate RPC dispatch table\n")); f_print (stream, _("-T\t\tgenerate code to support RPC dispatch tables\n")); f_print (stream, _("-Y path\t\tdirectory name to find C preprocessor (cpp)\n")); + f_print (stream, _("-5\t\tSysVr4 compatibility mode\n")); + f_print (stream, _("--help\t\tgive this help list\n")); + f_print (stream, _("--version\tprint program version\n")); f_print (stream, _("\n\ For bug reporting instructions, please see:\n\ diff --git a/libc/sysdeps/gnu/configure b/libc/sysdeps/gnu/configure index 70aaa9019..e7f0e4395 100644 --- a/libc/sysdeps/gnu/configure +++ b/libc/sysdeps/gnu/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/gnu. diff --git a/libc/sysdeps/gnu/configure.in b/libc/sysdeps/gnu/configure.ac index ce251df0c..ce251df0c 100644 --- a/libc/sysdeps/gnu/configure.in +++ b/libc/sysdeps/gnu/configure.ac diff --git a/libc/sysdeps/i386/configure b/libc/sysdeps/i386/configure index 53b6a619d..5dcc15990 100755 --- a/libc/sysdeps/i386/configure +++ b/libc/sysdeps/i386/configure @@ -29,7 +29,7 @@ $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/i386. # We no longer support i386 since it lacks the atomic instructions diff --git a/libc/sysdeps/i386/configure.in b/libc/sysdeps/i386/configure.ac index 96ab7b0f5..96ab7b0f5 100644 --- a/libc/sysdeps/i386/configure.in +++ b/libc/sysdeps/i386/configure.ac diff --git a/libc/sysdeps/ieee754/dbl-64/sincos32.c b/libc/sysdeps/ieee754/dbl-64/sincos32.c index f253b8ce8..49aa14895 100644 --- a/libc/sysdeps/ieee754/dbl-64/sincos32.c +++ b/libc/sysdeps/ieee754/dbl-64/sincos32.c @@ -147,10 +147,9 @@ __sin32 (double x, double res, double res1) __dbl_mp (x, &c, p); /* c = x */ __sub (&b, &c, &a, p); /* if a > 0 return min (res, res1), otherwise return max (res, res1). */ - if (a.d[0] > 0) - return (res < res1) ? res : res1; - else - return (res > res1) ? res : res1; + if ((a.d[0] > 0 && res >= res1) || (a.d[0] <= 0 && res <= res1)) + res = res1; + return res; } /* Receive double x and two double results of cos(x) and return result which is @@ -181,10 +180,9 @@ __cos32 (double x, double res, double res1) __dbl_mp (x, &c, p); /* c = x */ __sub (&b, &c, &a, p); /* if a > 0 return max (res, res1), otherwise return min (res, res1). */ - if (a.d[0] > 0) - return (res > res1) ? res : res1; - else - return (res < res1) ? res : res1; + if ((a.d[0] > 0 && res <= res1) || (a.d[0] <= 0 && res >= res1)) + res = res1; + return res; } /* Compute sin() of double-length number (X + DX) as Multi Precision number and diff --git a/libc/sysdeps/ieee754/ldbl-opt/configure b/libc/sysdeps/ieee754/ldbl-opt/configure index 6e69038b9..ad9d77b88 100755 --- a/libc/sysdeps/ieee754/ldbl-opt/configure +++ b/libc/sysdeps/ieee754/ldbl-opt/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/ieee754/ldbl-opt/. diff --git a/libc/sysdeps/ieee754/ldbl-opt/configure.in b/libc/sysdeps/ieee754/ldbl-opt/configure.ac index a77fadd1c..a77fadd1c 100644 --- a/libc/sysdeps/ieee754/ldbl-opt/configure.in +++ b/libc/sysdeps/ieee754/ldbl-opt/configure.ac diff --git a/libc/sysdeps/mach/configure b/libc/sysdeps/mach/configure index 3af372560..61ac7d968 100644 --- a/libc/sysdeps/mach/configure +++ b/libc/sysdeps/mach/configure @@ -65,7 +65,7 @@ $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_preproc -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}mig", so it can be a program name with args. diff --git a/libc/sysdeps/mach/configure.in b/libc/sysdeps/mach/configure.ac index db85f47ea..db85f47ea 100644 --- a/libc/sysdeps/mach/configure.in +++ b/libc/sysdeps/mach/configure.ac diff --git a/libc/sysdeps/mach/hurd/configure b/libc/sysdeps/mach/hurd/configure index 84948a549..a0f97217e 100755 --- a/libc/sysdeps/mach/hurd/configure +++ b/libc/sysdeps/mach/hurd/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! $as_echo "#define NO_HIDDEN 1" >>confdefs.h diff --git a/libc/sysdeps/mach/hurd/configure.in b/libc/sysdeps/mach/hurd/configure.ac index ad915a568..ad915a568 100644 --- a/libc/sysdeps/mach/hurd/configure.in +++ b/libc/sysdeps/mach/hurd/configure.ac diff --git a/libc/sysdeps/posix/getaddrinfo.c b/libc/sysdeps/posix/getaddrinfo.c index 0f4b88514..8ff74b496 100644 --- a/libc/sysdeps/posix/getaddrinfo.c +++ b/libc/sysdeps/posix/getaddrinfo.c @@ -197,7 +197,22 @@ gaih_inet_serv (const char *servicename, const struct gaih_typeproto *tp, &rc, &herrno, NULL, &localcanon)); \ if (rc != ERANGE || herrno != NETDB_INTERNAL) \ break; \ - tmpbuf = extend_alloca (tmpbuf, tmpbuflen, 2 * tmpbuflen); \ + if (!malloc_tmpbuf && __libc_use_alloca (alloca_used + 2 * tmpbuflen)) \ + tmpbuf = extend_alloca_account (tmpbuf, tmpbuflen, 2 * tmpbuflen, \ + alloca_used); \ + else \ + { \ + char *newp = realloc (malloc_tmpbuf ? tmpbuf : NULL, \ + 2 * tmpbuflen); \ + if (newp == NULL) \ + { \ + result = -EAI_MEMORY; \ + goto free_and_return; \ + } \ + tmpbuf = newp; \ + malloc_tmpbuf = true; \ + tmpbuflen = 2 * tmpbuflen; \ + } \ } \ if (status == NSS_STATUS_SUCCESS && rc == 0) \ h = &th; \ @@ -209,7 +224,8 @@ gaih_inet_serv (const char *servicename, const struct gaih_typeproto *tp, { \ __set_h_errno (herrno); \ _res.options |= old_res_options & RES_USE_INET6; \ - return -EAI_SYSTEM; \ + result = -EAI_SYSTEM; \ + goto free_and_return; \ } \ if (herrno == TRY_AGAIN) \ no_data = EAI_AGAIN; \ @@ -1666,13 +1682,13 @@ rfc3484_sort (const void *p1, const void *p2, void *arg) /* Fill in the results in all the records. */ for (int i = 0; i < src->nresults; ++i) - if (src->results[i].index == a1_index) + if (a1_index != -1 && src->results[i].index == a1_index) { assert (src->results[i].native == -1 || src->results[i].native == a1_native); src->results[i].native = a1_native; } - else if (src->results[i].index == a2_index) + else if (a2_index != -1 && src->results[i].index == a2_index) { assert (src->results[i].native == -1 || src->results[i].native == a2_native); @@ -2532,7 +2548,14 @@ getaddrinfo (const char *name, const char *service, tmp.addr[0] = 0; tmp.addr[1] = 0; tmp.addr[2] = htonl (0xffff); - tmp.addr[3] = sinp->sin_addr.s_addr; + /* Special case for lo interface, the source address + being possibly different than the interface + address. */ + if ((ntohl(sinp->sin_addr.s_addr) & 0xff000000) + == 0x7f000000) + tmp.addr[3] = htonl(0x7f000001); + else + tmp.addr[3] = sinp->sin_addr.s_addr; } else { diff --git a/libc/sysdeps/powerpc/configure b/libc/sysdeps/powerpc/configure index 4afbc29ab..fccee659a 100755 --- a/libc/sysdeps/powerpc/configure +++ b/libc/sysdeps/powerpc/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/powerpc. # Accept binutils which knows about ".machine". diff --git a/libc/sysdeps/powerpc/configure.in b/libc/sysdeps/powerpc/configure.ac index 28cc85934..28cc85934 100644 --- a/libc/sysdeps/powerpc/configure.in +++ b/libc/sysdeps/powerpc/configure.ac diff --git a/libc/sysdeps/powerpc/powerpc32/configure b/libc/sysdeps/powerpc/powerpc32/configure index 31c571d9a..fe5a79234 100644 --- a/libc/sysdeps/powerpc/powerpc32/configure +++ b/libc/sysdeps/powerpc/powerpc32/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/powerpc/powerpc32. # See whether gas has R_PPC_REL16 relocs. diff --git a/libc/sysdeps/powerpc/powerpc32/configure.in b/libc/sysdeps/powerpc/powerpc32/configure.ac index 21d3f5ee5..21d3f5ee5 100644 --- a/libc/sysdeps/powerpc/powerpc32/configure.in +++ b/libc/sysdeps/powerpc/powerpc32/configure.ac diff --git a/libc/sysdeps/powerpc/powerpc64/configure b/libc/sysdeps/powerpc/powerpc64/configure index 5ddac5592..92ec607e0 100644 --- a/libc/sysdeps/powerpc/powerpc64/configure +++ b/libc/sysdeps/powerpc/powerpc64/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/powerpc/powerpc64. # The Aix ld uses global .symbol_names instead of symbol_names diff --git a/libc/sysdeps/powerpc/powerpc64/configure.in b/libc/sysdeps/powerpc/powerpc64/configure.ac index 67aac663d..67aac663d 100644 --- a/libc/sysdeps/powerpc/powerpc64/configure.in +++ b/libc/sysdeps/powerpc/powerpc64/configure.ac diff --git a/libc/bits/predefs.h b/libc/sysdeps/powerpc/powerpc64/power7/stpcpy.S index 4dc4900a9..727dd06e7 100644 --- a/libc/bits/predefs.h +++ b/libc/sysdeps/powerpc/powerpc64/power7/stpcpy.S @@ -1,4 +1,5 @@ -/* Copyright (C) 2005 Free Software Foundation, Inc. +/* Optimized stpcpy implementation for PowerPC64/POWER7. + Copyright (C) 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 @@ -12,19 +13,12 @@ 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, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ -#ifndef _PREDEFS_H -#define _PREDEFS_H +#define USE_AS_STPCPY +#include <sysdeps/powerpc/powerpc64/power7/strcpy.S> -#ifndef _STDC_PREDEF_H -# error "Never use <bits/predefs.h> directly; include <stdc-predef.h> instead." -#endif - -/* We do support the IEC 559 math functionality, real and complex. */ -#define __STDC_IEC_559__ 1 -#define __STDC_IEC_559_COMPLEX__ 1 - -#endif /* predefs.h */ +weak_alias (__stpcpy, stpcpy) +libc_hidden_def (__stpcpy) +libc_hidden_builtin_def (stpcpy) diff --git a/libc/sysdeps/powerpc/powerpc64/power7/strcpy.S b/libc/sysdeps/powerpc/powerpc64/power7/strcpy.S new file mode 100644 index 000000000..5c341a148 --- /dev/null +++ b/libc/sysdeps/powerpc/powerpc64/power7/strcpy.S @@ -0,0 +1,274 @@ +/* Optimized strcpy/stpcpy implementation for PowerPC64/POWER7. + Copyright (C) 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. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + 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/>. */ + +#include <sysdep.h> + +/* Implements the function + + char * [r3] strcpy (char *dest [r3], const char *src [r4]) + + or + + char * [r3] strcpy (char *dest [r3], const char *src [r4]) + + if USE_AS_STPCPY is defined. It tries to use aligned memory accesses + when possible using the following algorithm: + + if (((((uintptr_t)dst & 0x7UL) == 0) && ((uintptr_t)src & 0x7UL) == 0)) + goto aligned_doubleword_copy; + if (((((uintptr_t)dst & 0x3UL) == 0) && ((uintptr_t)src & 0x3UL) == 0)) + goto aligned_word_copy; + if (((uintptr_t)dst & 0x7UL) == ((uintptr_t)src & 0x7UL)) + goto same_alignment; + goto unaligned; + + The aligned comparison are made using cmpb instructions. */ + +#ifdef USE_AS_STPCPY +# define FUNC_NAME __stpcpy +#else +# define FUNC_NAME strcpy +#endif + + .machine power7 +EALIGN (FUNC_NAME, 4, 0) + CALL_MCOUNT 2 + +#define rTMP r0 +#ifdef USE_AS_STPCPY +#define rRTN r3 /* pointer to previous word/doubleword in dest */ +#else +#define rRTN r12 /* pointer to previous word/doubleword in dest */ +#endif +#define rSRC r4 /* pointer to previous word/doubleword in src */ +#define rMASK r5 /* mask 0xffffffff | 0xffffffffffffffff */ +#define rWORD r6 /* current word from src */ +#define rALT r7 /* alternate word from src */ +#define rRTNAL r8 /* alignment of return pointer */ +#define rSRCAL r9 /* alignment of source pointer */ +#define rALCNT r10 /* bytes to read to reach 8 bytes alignment */ +#define rSUBAL r11 /* doubleword minus unaligned displacement */ + +#ifndef USE_AS_STPCPY +/* Save the dst pointer to use as return value. */ + mr rRTN, r3 +#endif + or rTMP, rSRC, rRTN + clrldi. rTMP, rTMP, 61 + bne L(check_word_alignment) + b L(aligned_doubleword_copy) + +L(same_alignment): +/* Src and dst with same alignment: align both to doubleword. */ + mr rALCNT, rRTN + lbz rWORD, 0(rSRC) + subfic rSUBAL, rRTNAL, 8 + addi rRTN, rRTN, 1 + addi rSRC, rSRC, 1 + cmpdi cr7, rWORD, 0 + stb rWORD, 0(rALCNT) + beq cr7, L(s2) + + add rALCNT, rALCNT, rSUBAL + subf rALCNT, rRTN, rALCNT + addi rALCNT, rALCNT, 1 + mtctr rALCNT + b L(s1) + + .align 4 +L(s0): + addi rSRC, rSRC, 1 + lbz rWORD, -1(rSRC) + cmpdi cr7, rWORD, 0 + stb rWORD, -1(rALCNT) + beqlr cr7 + mr rRTN, rALCNT +L(s1): + addi rALCNT, rRTN,1 + bdnz L(s0) + b L(aligned_doubleword_copy) + .align 4 +L(s2): + mr rRTN, rALCNT + blr + +/* For doubleword aligned memory, operate using doubleword load and stores. */ + .align 4 +L(aligned_doubleword_copy): + li rMASK, 0 + addi rRTN, rRTN, -8 + ld rWORD, 0(rSRC) + b L(g2) + + .align 4 +L(g0): ldu rALT, 8(rSRC) + stdu rWORD, 8(rRTN) + cmpb rTMP, rALT, rMASK + cmpdi rTMP, 0 + bne L(g1) + ldu rWORD, 8(rSRC) + stdu rALT, 8(rRTN) +L(g2): cmpb rTMP, rWORD, rMASK + cmpdi rTMP, 0 /* If rTMP is 0, no null's have been found. */ + beq L(g0) + + mr rALT, rWORD +/* We've hit the end of the string. Do the rest byte-by-byte. */ +L(g1): +#ifdef __LITTLE_ENDIAN__ + extrdi. rTMP, rALT, 8, 56 + stbu rALT, 8(rRTN) + beqlr- + extrdi. rTMP, rALT, 8, 48 + stbu rTMP, 1(rRTN) + beqlr- + extrdi. rTMP, rALT, 8, 40 + stbu rTMP, 1(rRTN) + beqlr- + extrdi. rTMP, rALT, 8, 32 + stbu rTMP, 1(rRTN) + beqlr- + extrdi. rTMP, rALT, 8, 24 + stbu rTMP, 1(rRTN) + beqlr- + extrdi. rTMP, rALT, 8, 16 + stbu rTMP, 1(rRTN) + beqlr- + extrdi. rTMP, rALT, 8, 8 + stbu rTMP, 1(rRTN) + beqlr- + extrdi rTMP, rALT, 8, 0 + stbu rTMP, 1(rRTN) +#else + extrdi. rTMP, rALT, 8, 0 + stbu rTMP, 8(rRTN) + beqlr + extrdi. rTMP, rALT, 8, 8 + stbu rTMP, 1(rRTN) + beqlr + extrdi. rTMP, rALT, 8, 16 + stbu rTMP, 1(rRTN) + beqlr + extrdi. rTMP, rALT, 8, 24 + stbu rTMP, 1(rRTN) + beqlr + extrdi. rTMP, rALT, 8, 32 + stbu rTMP, 1(rRTN) + beqlr + extrdi. rTMP, rALT, 8, 40 + stbu rTMP, 1(rRTN) + beqlr + extrdi. rTMP, rALT, 8, 48 + stbu rTMP, 1(rRTN) + beqlr + stbu rALT, 1(rRTN) +#endif + blr + +L(check_word_alignment): + clrldi. rTMP, rTMP, 62 + beq L(aligned_word_copy) + rldicl rRTNAL, rRTN, 0, 61 + rldicl rSRCAL, rSRC, 0, 61 + cmpld cr7, rSRCAL, rRTNAL + beq cr7, L(same_alignment) + b L(unaligned) + +/* For word aligned memory, operate using word load and stores. */ + .align 4 +L(aligned_word_copy): + li rMASK, 0 + addi rRTN, rRTN, -4 + lwz rWORD, 0(rSRC) + b L(g5) + + .align 4 +L(g3): lwzu rALT, 4(rSRC) + stwu rWORD, 4(rRTN) + cmpb rTMP, rALT, rMASK + cmpwi rTMP, 0 + bne L(g4) + lwzu rWORD, 4(rSRC) + stwu rALT, 4(rRTN) +L(g5): cmpb rTMP, rWORD, rMASK + cmpwi rTMP, 0 /* If rTMP is 0, no null in word. */ + beq L(g3) + + mr rALT, rWORD +/* We've hit the end of the string. Do the rest byte-by-byte. */ +L(g4): +#ifdef __LITTLE_ENDIAN__ + rlwinm. rTMP, rALT, 0, 24, 31 + stbu rALT, 4(rRTN) + beqlr- + rlwinm. rTMP, rALT, 24, 24, 31 + stbu rTMP, 1(rRTN) + beqlr- + rlwinm. rTMP, rALT, 16, 24, 31 + stbu rTMP, 1(rRTN) + beqlr- + rlwinm rTMP, rALT, 8, 24, 31 + stbu rTMP, 1(rRTN) +#else + rlwinm. rTMP, rALT, 8, 24, 31 + stbu rTMP, 4(rRTN) + beqlr + rlwinm. rTMP, rALT, 16, 24, 31 + stbu rTMP, 1(rRTN) + beqlr + rlwinm. rTMP, rALT, 24, 24, 31 + stbu rTMP, 1(rRTN) + beqlr + stbu rALT, 1(rRTN) +#endif + blr + +/* Oh well. In this case, we just do a byte-by-byte copy. */ + .align 4 +L(unaligned): + lbz rWORD, 0(rSRC) + addi rRTN, rRTN, -1 + cmpdi rWORD, 0 + beq L(u2) + + .align 5 +L(u0): lbzu rALT, 1(rSRC) + stbu rWORD, 1(rRTN) + cmpdi rALT, 0 + beq L(u1) + lbzu rWORD, 1(rSRC) + stbu rALT, 1(rRTN) + cmpdi rWORD, 0 + beq L(u2) + lbzu rALT, 1(rSRC) + stbu rWORD, 1(rRTN) + cmpdi rALT, 0 + beq L(u1) + lbzu rWORD, 1(rSRC) + stbu rALT, 1(rRTN) + cmpdi rWORD, 0 + bne L(u0) +L(u2): stbu rWORD, 1(rRTN) + blr +L(u1): stbu rALT, 1(rRTN) + blr +END (FUNC_NAME) + +#ifndef USE_AS_STPCPY +libc_hidden_builtin_def (strcpy) +#endif diff --git a/libc/sysdeps/powerpc/powerpc64/stpcpy.S b/libc/sysdeps/powerpc/powerpc64/stpcpy.S index c0b39729e..09aa3be6b 100644 --- a/libc/sysdeps/powerpc/powerpc64/stpcpy.S +++ b/libc/sysdeps/powerpc/powerpc64/stpcpy.S @@ -16,103 +16,8 @@ License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ -#include <sysdep.h> - -/* See strlen.s for comments on how the end-of-string testing works. */ - -/* char * [r3] stpcpy (char *dest [r3], const char *src [r4]) */ - -EALIGN (__stpcpy, 4, 0) - CALL_MCOUNT 2 - -#define rTMP r0 -#define rRTN r3 -#define rDEST r3 /* pointer to previous word in dest */ -#define rSRC r4 /* pointer to previous word in src */ -#define rWORD r6 /* current word from src */ -#define rFEFE r7 /* 0xfefefeff */ -#define r7F7F r8 /* 0x7f7f7f7f */ -#define rNEG r9 /* ~(word in src | 0x7f7f7f7f) */ -#define rALT r10 /* alternate word from src */ - - or rTMP, rSRC, rDEST - clrldi. rTMP, rTMP, 62 - addi rDEST, rDEST, -4 - bne L(unaligned) - - lis rFEFE, -0x101 - lis r7F7F, 0x7f7f - lwz rWORD, 0(rSRC) - addi rFEFE, rFEFE, -0x101 - addi r7F7F, r7F7F, 0x7f7f - b L(g2) - -L(g0): lwzu rALT, 4(rSRC) - stwu rWORD, 4(rDEST) - add rTMP, rFEFE, rALT - nor rNEG, r7F7F, rALT - and. rTMP, rTMP, rNEG - bne- L(g1) - lwzu rWORD, 4(rSRC) - stwu rALT, 4(rDEST) -L(g2): add rTMP, rFEFE, rWORD - nor rNEG, r7F7F, rWORD - and. rTMP, rTMP, rNEG - beq+ L(g0) - - mr rALT, rWORD -/* We've hit the end of the string. Do the rest byte-by-byte. */ -L(g1): -#ifdef __LITTLE_ENDIAN__ - rlwinm. rTMP, rALT, 0, 24, 31 - stbu rALT, 4(rDEST) - beqlr- - rlwinm. rTMP, rALT, 24, 24, 31 - stbu rTMP, 1(rDEST) - beqlr- - rlwinm. rTMP, rALT, 16, 24, 31 - stbu rTMP, 1(rDEST) - beqlr- - rlwinm rTMP, rALT, 8, 24, 31 - stbu rTMP, 1(rDEST) - blr -#else - rlwinm. rTMP, rALT, 8, 24, 31 - stbu rTMP, 4(rDEST) - beqlr- - rlwinm. rTMP, rALT, 16, 24, 31 - stbu rTMP, 1(rDEST) - beqlr- - rlwinm. rTMP, rALT, 24, 24, 31 - stbu rTMP, 1(rDEST) - beqlr- - stbu rALT, 1(rDEST) - blr -#endif - -/* Oh well. In this case, we just do a byte-by-byte copy. */ - .align 4 - nop -L(unaligned): - lbz rWORD, 0(rSRC) - addi rDEST, rDEST, 3 - cmpwi rWORD, 0 - beq- L(u2) - -L(u0): lbzu rALT, 1(rSRC) - stbu rWORD, 1(rDEST) - cmpwi rALT, 0 - beq- L(u1) - nop /* Let 601 load start of loop. */ - lbzu rWORD, 1(rSRC) - stbu rALT, 1(rDEST) - cmpwi rWORD, 0 - bne+ L(u0) -L(u2): stbu rWORD, 1(rDEST) - blr -L(u1): stbu rALT, 1(rDEST) - blr -END (__stpcpy) +#define USE_AS_STPCPY +#include <sysdeps/powerpc/powerpc64/strcpy.S> weak_alias (__stpcpy, stpcpy) libc_hidden_def (__stpcpy) diff --git a/libc/sysdeps/powerpc/powerpc64/strcpy.S b/libc/sysdeps/powerpc/powerpc64/strcpy.S index a7fd85bad..793325d7b 100644 --- a/libc/sysdeps/powerpc/powerpc64/strcpy.S +++ b/libc/sysdeps/powerpc/powerpc64/strcpy.S @@ -22,25 +22,38 @@ /* char * [r3] strcpy (char *dest [r3], const char *src [r4]) */ -EALIGN (strcpy, 4, 0) +#ifdef USE_AS_STPCPY +# define FUNC_NAME __stpcpy +#else +# define FUNC_NAME strcpy +#endif + +EALIGN (FUNC_NAME, 4, 0) CALL_MCOUNT 2 #define rTMP r0 -#define rRTN r3 /* incoming DEST arg preserved as result */ -#define rSRC r4 /* pointer to previous word in src */ -#define rDEST r5 /* pointer to previous word in dest */ +#ifdef USE_AS_STPCPY +#define rRTN r3 /* pointer to previous word/doubleword in dest */ +#else +#define rRTN r12 /* pointer to previous word/doubleword in dest */ +#endif +#define rSRC r4 /* pointer to previous word/doubleword in src */ #define rWORD r6 /* current word from src */ -#define rFEFE r7 /* constant 0xfefefefefefefeff (-0x0101010101010101) */ -#define r7F7F r8 /* constant 0x7f7f7f7f7f7f7f7f */ -#define rNEG r9 /* ~(word in s1 | 0x7f7f7f7f7f7f7f7f) */ +#define rFEFE r7 /* constant 0xfefefeff | 0xfefefefefefefeff */ +#define r7F7F r8 /* constant 0x7f7f7f7f | 0x7f7f7f7f7f7f7f7f */ +#define rNEG r9 /* ~(word in s1 | r7F7F) */ #define rALT r10 /* alternate word from src */ - dcbt 0,rSRC +#ifndef USE_AS_STPCPY +/* Save the dst pointer to use as return value. */ + mr rRTN, r3 +#endif or rTMP, rSRC, rRTN clrldi. rTMP, rTMP, 61 - addi rDEST, rRTN, -8 - dcbtst 0,rRTN - bne L(unaligned) + bne L(check_word_alignment) + +/* For doubleword aligned memory, operate using doubleword load and stores. */ + addi rRTN, rRTN, -8 lis rFEFE, -0x101 lis r7F7F, 0x7f7f @@ -53,13 +66,13 @@ EALIGN (strcpy, 4, 0) b L(g2) L(g0): ldu rALT, 8(rSRC) - stdu rWORD, 8(rDEST) + stdu rWORD, 8(rRTN) add rTMP, rFEFE, rALT nor rNEG, r7F7F, rALT and. rTMP, rTMP, rNEG bne- L(g1) ldu rWORD, 8(rSRC) - stdu rALT, 8(rDEST) + stdu rALT, 8(rRTN) L(g2): add rTMP, rFEFE, rWORD nor rNEG, r7F7F, rWORD and. rTMP, rTMP, rNEG @@ -70,77 +83,134 @@ L(g2): add rTMP, rFEFE, rWORD L(g1): #ifdef __LITTLE_ENDIAN__ extrdi. rTMP, rALT, 8, 56 - stb rALT, 8(rDEST) + stbu rALT, 8(rRTN) beqlr- extrdi. rTMP, rALT, 8, 48 - stb rTMP, 9(rDEST) + stbu rTMP, 1(rRTN) beqlr- extrdi. rTMP, rALT, 8, 40 - stb rTMP, 10(rDEST) + stbu rTMP, 1(rRTN) beqlr- extrdi. rTMP, rALT, 8, 32 - stb rTMP, 11(rDEST) + stbu rTMP, 1(rRTN) beqlr- extrdi. rTMP, rALT, 8, 24 - stb rTMP, 12(rDEST) + stbu rTMP, 1(rRTN) beqlr- extrdi. rTMP, rALT, 8, 16 - stb rTMP, 13(rDEST) + stbu rTMP, 1(rRTN) beqlr- extrdi. rTMP, rALT, 8, 8 - stb rTMP, 14(rDEST) + stbu rTMP, 1(rRTN) beqlr- extrdi rTMP, rALT, 8, 0 - stb rTMP, 15(rDEST) - blr + stbu rTMP, 1(rRTN) #else extrdi. rTMP, rALT, 8, 0 - stb rTMP, 8(rDEST) + stbu rTMP, 8(rRTN) beqlr- extrdi. rTMP, rALT, 8, 8 - stb rTMP, 9(rDEST) + stbu rTMP, 1(rRTN) beqlr- extrdi. rTMP, rALT, 8, 16 - stb rTMP, 10(rDEST) + stbu rTMP, 1(rRTN) beqlr- extrdi. rTMP, rALT, 8, 24 - stb rTMP, 11(rDEST) + stbu rTMP, 1(rRTN) beqlr- extrdi. rTMP, rALT, 8, 32 - stb rTMP, 12(rDEST) - beqlr- + stbu rTMP, 1(rRTN) + beqlr extrdi. rTMP, rALT, 8, 40 - stb rTMP, 13(rDEST) + stbu rTMP, 1(rRTN) beqlr- extrdi. rTMP, rALT, 8, 48 - stb rTMP, 14(rDEST) + stbu rTMP, 1(rRTN) beqlr- - stb rALT, 15(rDEST) + stbu rALT, 1(rRTN) +#endif blr + +L(check_word_alignment): + clrldi. rTMP, rTMP, 62 + bne L(unaligned) + +/* For word aligned memory, operate using word load and stores. */ + addi rRTN, rRTN, -4 + + lis rFEFE, -0x101 + lis r7F7F, 0x7f7f + lwz rWORD, 0(rSRC) + addi rFEFE, rFEFE, -0x101 + addi r7F7F, r7F7F, 0x7f7f + b L(g5) + +L(g3): lwzu rALT, 4(rSRC) + stwu rWORD, 4(rRTN) + add rTMP, rFEFE, rALT + nor rNEG, r7F7F, rALT + and. rTMP, rTMP, rNEG + bne- L(g4) + lwzu rWORD, 4(rSRC) + stwu rALT, 4(rRTN) +L(g5): add rTMP, rFEFE, rWORD + nor rNEG, r7F7F, rWORD + and. rTMP, rTMP, rNEG + beq+ L(g3) + + mr rALT, rWORD +/* We've hit the end of the string. Do the rest byte-by-byte. */ +L(g4): +#ifdef __LITTLE_ENDIAN__ + rlwinm. rTMP, rALT, 0, 24, 31 + stbu rALT, 4(rRTN) + beqlr- + rlwinm. rTMP, rALT, 24, 24, 31 + stbu rTMP, 1(rRTN) + beqlr- + rlwinm. rTMP, rALT, 16, 24, 31 + stbu rTMP, 1(rRTN) + beqlr- + rlwinm rTMP, rALT, 8, 24, 31 + stbu rTMP, 1(rRTN) +#else + rlwinm. rTMP, rALT, 8, 24, 31 + stbu rTMP, 4(rRTN) + beqlr- + rlwinm. rTMP, rALT, 16, 24, 31 + stbu rTMP, 1(rRTN) + beqlr- + rlwinm. rTMP, rALT, 24, 24, 31 + stbu rTMP, 1(rRTN) + beqlr- + stbu rALT, 1(rRTN) #endif + blr /* Oh well. In this case, we just do a byte-by-byte copy. */ .align 4 nop L(unaligned): lbz rWORD, 0(rSRC) - addi rDEST, rRTN, -1 + addi rRTN, rRTN, -1 cmpwi rWORD, 0 beq- L(u2) L(u0): lbzu rALT, 1(rSRC) - stbu rWORD, 1(rDEST) + stbu rWORD, 1(rRTN) cmpwi rALT, 0 beq- L(u1) nop /* Let 601 load start of loop. */ lbzu rWORD, 1(rSRC) - stbu rALT, 1(rDEST) + stbu rALT, 1(rRTN) cmpwi rWORD, 0 bne+ L(u0) -L(u2): stb rWORD, 1(rDEST) +L(u2): stbu rWORD, 1(rRTN) blr -L(u1): stb rALT, 1(rDEST) +L(u1): stbu rALT, 1(rRTN) blr +END (FUNC_NAME) -END (strcpy) +#ifndef USE_AS_STPCPY libc_hidden_builtin_def (strcpy) +#endif diff --git a/libc/sysdeps/s390/s390-32/configure b/libc/sysdeps/s390/s390-32/configure index 669bb9be5..024565f85 100644 --- a/libc/sysdeps/s390/s390-32/configure +++ b/libc/sysdeps/s390/s390-32/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/s390. $as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h diff --git a/libc/sysdeps/s390/s390-32/configure.in b/libc/sysdeps/s390/s390-32/configure.ac index b5af4e12f..b5af4e12f 100644 --- a/libc/sysdeps/s390/s390-32/configure.in +++ b/libc/sysdeps/s390/s390-32/configure.ac diff --git a/libc/sysdeps/s390/s390-64/configure b/libc/sysdeps/s390/s390-64/configure index 669bb9be5..024565f85 100644 --- a/libc/sysdeps/s390/s390-64/configure +++ b/libc/sysdeps/s390/s390-64/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/s390. $as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h diff --git a/libc/sysdeps/s390/s390-64/configure.in b/libc/sysdeps/s390/s390-64/configure.ac index b5af4e12f..b5af4e12f 100644 --- a/libc/sysdeps/s390/s390-64/configure.in +++ b/libc/sysdeps/s390/s390-64/configure.ac diff --git a/libc/sysdeps/sh/configure b/libc/sysdeps/sh/configure index b0f3b2fa2..110eb65b0 100644 --- a/libc/sysdeps/sh/configure +++ b/libc/sysdeps/sh/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/sh. $as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h diff --git a/libc/sysdeps/sh/configure.in b/libc/sysdeps/sh/configure.ac index 21400c447..21400c447 100644 --- a/libc/sysdeps/sh/configure.in +++ b/libc/sysdeps/sh/configure.ac diff --git a/libc/sysdeps/sparc/configure b/libc/sysdeps/sparc/configure index 63e02de4a..90a86f6da 100644 --- a/libc/sysdeps/sparc/configure +++ b/libc/sysdeps/sparc/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/sparc. # Check for support of VIS3 et al. instructions in the assembler. diff --git a/libc/sysdeps/sparc/configure.in b/libc/sysdeps/sparc/configure.ac index 982077c9b..982077c9b 100644 --- a/libc/sysdeps/sparc/configure.in +++ b/libc/sysdeps/sparc/configure.ac diff --git a/libc/sysdeps/sparc/sparc32/fpu/s_fdim.S b/libc/sysdeps/sparc/sparc32/fpu/s_fdim.S index 2f0c5ce58..22f69ce51 100644 --- a/libc/sysdeps/sparc/sparc32/fpu/s_fdim.S +++ b/libc/sysdeps/sparc/sparc32/fpu/s_fdim.S @@ -30,7 +30,8 @@ ENTRY(__fdim) fbug 1f st %g0, [%sp + 76] ldd [%sp + 72], %f0 - fnegd %f0, %f2 + fnegs %f0, %f2 + fmovs %f1, %f3 1: retl fsubd %f0, %f2, %f0 END(__fdim) diff --git a/libc/sysdeps/unix/sysv/linux/configure b/libc/sysdeps/unix/sysv/linux/configure index 88fab5662..84dfbb87d 100644 --- a/libc/sysdeps/unix/sysv/linux/configure +++ b/libc/sysdeps/unix/sysv/linux/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/unix/sysv/linux. # Don't bother trying to generate any glue code to be compatible with the diff --git a/libc/sysdeps/unix/sysv/linux/configure.in b/libc/sysdeps/unix/sysv/linux/configure.ac index 5e5902d8e..5e5902d8e 100644 --- a/libc/sysdeps/unix/sysv/linux/configure.in +++ b/libc/sysdeps/unix/sysv/linux/configure.ac diff --git a/libc/sysdeps/unix/sysv/linux/powerpc/configure b/libc/sysdeps/unix/sysv/linux/powerpc/configure index 7df7e481f..50e3639be 100644 --- a/libc/sysdeps/unix/sysv/linux/powerpc/configure +++ b/libc/sysdeps/unix/sysv/linux/powerpc/configure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/unix/sysv/linux/powerpc/. diff --git a/libc/sysdeps/unix/sysv/linux/powerpc/configure.in b/libc/sysdeps/unix/sysv/linux/powerpc/configure.ac index 1768ab1f9..1768ab1f9 100644 --- a/libc/sysdeps/unix/sysv/linux/powerpc/configure.in +++ b/libc/sysdeps/unix/sysv/linux/powerpc/configure.ac diff --git a/libc/sysdeps/unix/sysv/linux/shm_open.c b/libc/sysdeps/unix/sysv/linux/shm_open.c index 41d93155a..482b49cfe 100644 --- a/libc/sysdeps/unix/sysv/linux/shm_open.c +++ b/libc/sysdeps/unix/sysv/linux/shm_open.c @@ -148,14 +148,15 @@ shm_open (const char *name, int oflag, mode_t mode) while (name[0] == '/') ++name; - if (name[0] == '\0') + namelen = strlen (name); + + /* Validate the filename. */ + if (name[0] == '\0' || namelen > NAME_MAX || strchr (name, '/') == NULL) { - /* The name "/" is not supported. */ __set_errno (EINVAL); return -1; } - namelen = strlen (name); fname = (char *) alloca (mountpoint.dirlen + namelen + 1); __mempcpy (__mempcpy (fname, mountpoint.dir, mountpoint.dirlen), name, namelen + 1); @@ -237,14 +238,15 @@ shm_unlink (const char *name) while (name[0] == '/') ++name; - if (name[0] == '\0') + namelen = strlen (name); + + /* Validate the filename. */ + if (name[0] == '\0' || namelen > NAME_MAX || strchr (name, '/') == NULL) { - /* The name "/" is not supported. */ __set_errno (ENOENT); return -1; } - namelen = strlen (name); fname = (char *) alloca (mountpoint.dirlen + namelen + 1); __mempcpy (__mempcpy (fname, mountpoint.dir, mountpoint.dirlen), name, namelen + 1); diff --git a/libc/sysdeps/x86_64/configure b/libc/sysdeps/x86_64/configure index 923241195..5a83a53aa 100644 --- a/libc/sysdeps/x86_64/configure +++ b/libc/sysdeps/x86_64/configure @@ -29,7 +29,7 @@ $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/x86_64. diff --git a/libc/sysdeps/x86_64/configure.in b/libc/sysdeps/x86_64/configure.ac index c682f93c3..c682f93c3 100644 --- a/libc/sysdeps/x86_64/configure.in +++ b/libc/sysdeps/x86_64/configure.ac diff --git a/libc/sysdeps/x86_64/preconfigure b/libc/sysdeps/x86_64/preconfigure index d5abba882..c8f1e0e13 100644 --- a/libc/sysdeps/x86_64/preconfigure +++ b/libc/sysdeps/x86_64/preconfigure @@ -1,4 +1,4 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local preconfigure fragment for sysdeps/x86_64 test -n "$base_machine" || case "$machine" in diff --git a/libc/sysdeps/x86_64/preconfigure.in b/libc/sysdeps/x86_64/preconfigure.ac index 600700ea1..600700ea1 100644 --- a/libc/sysdeps/x86_64/preconfigure.in +++ b/libc/sysdeps/x86_64/preconfigure.ac diff --git a/libc/time/strptime_l.c b/libc/time/strptime_l.c index e61a0b342..9ea11ebfa 100644 --- a/libc/time/strptime_l.c +++ b/libc/time/strptime_l.c @@ -745,7 +745,11 @@ __strptime_internal (rp, fmt, tmp, statep LOCALE_PARAM) s.want_xday = 1; break; case 'Z': - /* XXX How to handle this? */ + /* Read timezone but perform no conversion. */ + while (ISSPACE (*rp)) + rp++; + while (!ISSPACE (*rp) && *rp != '\0') + rp++; break; case 'z': /* We recognize two formats: if two digits are given, these diff --git a/libc/time/tst-strptime.c b/libc/time/tst-strptime.c index 21fbb6364..193f7dbe0 100644 --- a/libc/time/tst-strptime.c +++ b/libc/time/tst-strptime.c @@ -41,6 +41,7 @@ static const struct { "C", "19990502123412", "%Y%m%d%H%M%S", 0, 121, 4, 2 }, { "C", "2001 20 Mon", "%Y %U %a", 1, 140, 4, 21 }, { "C", "2001 21 Mon", "%Y %W %a", 1, 140, 4, 21 }, + { "C", "2001 EST 21 Mon", "%Y %Z %W %a", 1, 140, 4, 21 }, { "C", "2012 00 Sun", "%Y %W %a", 0, 0, 0, 1 }, { "ja_JP.EUC-JP", "2000-01-01 08:12:21 AM", "%Y-%m-%d %I:%M:%S %p", 6, 0, 0, 1 }, diff --git a/libc/time/tzfile.c b/libc/time/tzfile.c index 9dd513075..3ea3051f4 100644 --- a/libc/time/tzfile.c +++ b/libc/time/tzfile.c @@ -114,6 +114,7 @@ __tzfile_read (const char *file, size_t extra, char **extrap) int was_using_tzfile = __use_tzfile; int trans_width = 4; size_t tzspec_len; + char *new = NULL; if (sizeof (time_t) != 4 && sizeof (time_t) != 8) abort (); @@ -145,22 +146,12 @@ __tzfile_read (const char *file, size_t extra, char **extrap) if (*file != '/') { const char *tzdir; - unsigned int len, tzdir_len; - char *new, *tmp; tzdir = getenv ("TZDIR"); if (tzdir == NULL || *tzdir == '\0') - { - tzdir = default_tzdir; - tzdir_len = sizeof (default_tzdir) - 1; - } - else - tzdir_len = strlen (tzdir); - len = strlen (file) + 1; - new = (char *) __alloca (tzdir_len + 1 + len); - tmp = __mempcpy (new, tzdir, tzdir_len); - *tmp++ = '/'; - memcpy (tmp, file, len); + tzdir = default_tzdir; + if (__asprintf (&new, "%s/%s", tzdir, file) == -1) + goto ret_free_transitions; file = new; } @@ -170,11 +161,7 @@ __tzfile_read (const char *file, size_t extra, char **extrap) && stat64 (file, &st) == 0 && tzfile_ino == st.st_ino && tzfile_dev == st.st_dev && tzfile_mtime == st.st_mtime) - { - /* Nothing to do. */ - __use_tzfile = 1; - return; - } + goto done; /* Nothing to do. */ /* Note the file is opened with cancellation in the I/O functions disabled and if available FD_CLOEXEC set. */ @@ -527,12 +514,15 @@ __tzfile_read (const char *file, size_t extra, char **extrap) __daylight = rule_stdoff != rule_dstoff; __timezone = -rule_stdoff; + done: __use_tzfile = 1; + free (new); return; lose: fclose (f); ret_free_transitions: + free (new); free ((void *) transitions); transitions = NULL; } |