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

[Commits] r21629 - in /trunk: ./ libc/ libc/conform/ libc/conform/data/ libc/conform/data/sys/ libc/debug/ libc/elf/ libc/locale/progr...



Author: joseph
Date: Fri Nov  9 22:50:35 2012
New Revision: 21629

Log:
Merge changes between r21563 and r21628 from /fsf/trunk.

Added:
    trunk/libc/conform/data/stdalign.h-data
      - copied unchanged from r21628, fsf/trunk/libc/conform/data/stdalign.h-data
    trunk/libc/conform/data/stdbool.h-data
      - copied unchanged from r21628, fsf/trunk/libc/conform/data/stdbool.h-data
    trunk/libc/conform/data/stdnoreturn.h-data
      - copied unchanged from r21628, fsf/trunk/libc/conform/data/stdnoreturn.h-data
    trunk/libc/ports/ChangeLog.aarch64
      - copied unchanged from r21628, fsf/trunk/libc/ports/ChangeLog.aarch64
    trunk/libc/ports/sysdeps/aarch64/
      - copied from r21628, fsf/trunk/libc/ports/sysdeps/aarch64/
    trunk/libc/ports/sysdeps/mips/memmove.c
      - copied unchanged from r21628, fsf/trunk/libc/ports/sysdeps/mips/memmove.c
    trunk/libc/ports/sysdeps/tile/tilegx/memmove.c
      - copied unchanged from r21628, fsf/trunk/libc/ports/sysdeps/tile/tilegx/memmove.c
    trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/
      - copied from r21628, fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/aarch64/
    trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc64/__start_context.S
      - copied unchanged from r21628, fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc64/__start_context.S
    trunk/libc/sysdeps/x86/tst-xmmymm.sh
      - copied unchanged from r21628, fsf/trunk/libc/sysdeps/x86/tst-xmmymm.sh
    trunk/libc/timezone/version.h
      - copied unchanged from r21628, fsf/trunk/libc/timezone/version.h
Removed:
    trunk/libc/sysdeps/x86_64/tst-xmmymm.sh
Modified:
    trunk/   (props changed)
    trunk/libc/ChangeLog
    trunk/libc/INSTALL
    trunk/libc/Makefile
    trunk/libc/NEWS
    trunk/libc/config.h.in
    trunk/libc/conform/conformtest.pl
    trunk/libc/conform/data/complex.h-data
    trunk/libc/conform/data/inttypes.h-data
    trunk/libc/conform/data/iso646.h-data
    trunk/libc/conform/data/math.h-data
    trunk/libc/conform/data/pthread.h-data
    trunk/libc/conform/data/stdint.h-data
    trunk/libc/conform/data/stdlib.h-data
    trunk/libc/conform/data/sys/mman.h-data
    trunk/libc/conform/data/sys/stat.h-data
    trunk/libc/conform/data/sys/types.h-data
    trunk/libc/conform/data/tgmath.h-data
    trunk/libc/conform/data/time.h-data
    trunk/libc/conform/data/uchar.h-data
    trunk/libc/conform/data/wchar.h-data
    trunk/libc/conform/data/wctype.h-data
    trunk/libc/debug/catchsegv.sh
    trunk/libc/debug/pcprofiledump.c
    trunk/libc/debug/xtrace.sh
    trunk/libc/elf/Makefile
    trunk/libc/elf/elf.h
    trunk/libc/elf/ldd.bash.in
    trunk/libc/elf/pldd.c
    trunk/libc/elf/sotruss.ksh
    trunk/libc/locale/programs/localedef.c
    trunk/libc/localedata/ChangeLog
    trunk/libc/localedata/locales/ru_RU
    trunk/libc/login/programs/pt_chown.c
    trunk/libc/malloc/memusage.sh
    trunk/libc/manual/Makefile
    trunk/libc/manual/filesys.texi
    trunk/libc/manual/install.texi
    trunk/libc/manual/libc.texinfo
    trunk/libc/math/libm-test.inc
    trunk/libc/nptl/ChangeLog
    trunk/libc/nptl/tst-cond24.c
    trunk/libc/nptl/tst-sem14.c
    trunk/libc/po/eo.po
    trunk/libc/ports/ChangeLog.mips
    trunk/libc/ports/ChangeLog.tile
    trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/c++-types.data   (props changed)
    trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/localplt.data   (props changed)
    trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/c++-types.data   (props changed)
    trunk/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/localplt.data   (props changed)
    trunk/libc/stdlib/stdlib.h
    trunk/libc/string/memmove.c
    trunk/libc/sunrpc/clnt_tcp.c
    trunk/libc/sunrpc/clnt_udp.c
    trunk/libc/sunrpc/clnt_unix.c
    trunk/libc/sunrpc/proto.h
    trunk/libc/sunrpc/rpc_main.c
    trunk/libc/sysdeps/i386/fpu/e_powl.S
    trunk/libc/sysdeps/ieee754/dbl-64/e_pow.c
    trunk/libc/sysdeps/ieee754/flt-32/e_powf.c
    trunk/libc/sysdeps/s390/dl-procinfo.c
    trunk/libc/sysdeps/s390/dl-procinfo.h
    trunk/libc/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h
    trunk/libc/sysdeps/unix/sysv/linux/s390/bits/hwcap.h
    trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
    trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c
    trunk/libc/sysdeps/unix/sysv/linux/sys/sysctl.h
    trunk/libc/sysdeps/x86/Makefile
    trunk/libc/sysdeps/x86_64/Makefile
    trunk/libc/sysdeps/x86_64/fpu/e_powl.S
    trunk/libc/timezone/Makefile
    trunk/libc/timezone/README
    trunk/libc/timezone/checktab.awk
    trunk/libc/timezone/ialloc.c
    trunk/libc/timezone/private.h
    trunk/libc/timezone/scheck.c
    trunk/libc/timezone/tzfile.h
    trunk/libc/timezone/tzselect.ksh
    trunk/libc/timezone/zdump.c
    trunk/libc/timezone/zic.c

Propchange: trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Nov  9 22:50:35 2012
@@ -1,1 +1,1 @@
-/fsf/trunk:15224-21563
+/fsf/trunk:15224-21628

Modified: trunk/libc/ChangeLog
==============================================================================
--- trunk/libc/ChangeLog (original)
+++ trunk/libc/ChangeLog Fri Nov  9 22:50:35 2012
@@ -1,3 +1,593 @@
+2012-11-09  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* aclocal.m4 (ACX_PKGVERSION): New macro.
+	(ACX_BUGURL): Likewise.
+	* configure.in: Use ACX_PKGVERSION and ACX_BUGURL.
+	(PKGVERSION): New AC_DEFINE_UNQUOTED.
+	(REPORT_BUGS_TO): Likewise.
+	* configure: Regenerated.
+	* config.h.in (PKGVERSION): New macro.
+	(REPORT_BUGS_TO): Likewise.
+	* config.make.in (PKGVERSION): New variable.
+	(PKGVERSION_TEXI): Likewise.
+	(REPORT_BUGS_TO): Likewise.
+	(REPORT_BUGS_TEXI): Likewise.
+	* Makefile (format-me): Use -I$(common-objpfx)manual.
+	(INSTALL): Depend on $(common-objpfx)manual/pkgvers.texi.
+	($(common-objpfx)manual/%): New target.
+	(manual/%): Remove target.
+	* catgets/gencat.c (more_help): Use REPORT_BUGS_TO.
+	(print_version): Use PKGVERSION.
+	* csu/version.c (banner): Use PKGVERSION and REPORT_BUGS_TO.
+	* debug/Makefile ($(objpfx)catchsegv): Also substitute PKGVERSION
+	and REPORT_BUGS_TO.
+	($(objpfx)xtrace): Likewise.
+	* debug/catchsegv.sh: Use PKGVERSION and REPORT_BUGS_TO.
+	* debug/pcprofiledump.c (more_help): Use REPORT_BUGS_TO.
+	(print_version): Use PKGVERSION.
+	* debug/xtrace.sh (do_help): Use REPORT_BUGS_TO.
+	(do_version): Use PKGVERSION.
+	* elf/Makefile ($(objpfx)sotruss): Also substitute PKGVERSION and
+	REPORT_BUGS_TO.
+	(common-ldd-rewrite): Likewise.
+	* elf/dl-close.c (_dl_close_worker): Use REPORT_BUGS_TO.
+	* elf/ldconfig.c (more_help): Use REPORT_BUGS_TO.
+	(print_version): Use PKGVERSION.
+	* elf/ldd.bash.in: Use PKGVERSION and REPORT_BUGS_TO.
+	* elf/pldd.c (argp_program_bug_address): Remove variable.
+	(more_help): New function.
+	(argp): Use more_help.
+	(print_version): Use PKGVERSION.
+	* elf/sln.c (main): Use PKGVERSION.
+	(usage): Use REPORT_BUGS_TO.
+	* elf/sotruss.ksh (do_help): Use REPORT_BUGS_TO.
+	(top level): Use PKGVERSION.
+	* elf/sprof.c (more_help): Use REPORT_BUGS_TO.
+	(print_version): Use PKGVERSION.
+	* iconv/iconv_prog.c (more_help): Use REPORT_BUGS_TO.
+	(print_version): Use PKGVERSION.
+	* iconv/iconvconfig.c (more_help): Use REPORT_BUGS_TO.
+	(print_version): Use PKGVERSION.
+	* locale/programs/locale.c (more_help): Use REPORT_BUGS_TO.
+	(print_version): Use PKGVERSION.
+	* locale/programs/localedef.c (more_help): Use REPORT_BUGS_TO.
+	(print_version): Use PKGVERSION.
+	* login/programs/pt_chown.c (more_help): Use REPORT_BUGS_TO.
+	(print_version): Use PKGVERSION.
+	* malloc/Makefile ($(objpfx)mtrace): Also substitute PKGVERSION
+	and BUGURL.
+	($(objpfx)memusage): Likewise.
+	* malloc/memusage.sh (do_help): Use REPORT_BUGS_TO.
+	(do_version): Use PKGVERSION.
+	* malloc/memusagestat.c (more_help): Use REPORT_BUGS_TO.
+	(print_version): Use PKGVERSION.
+	* malloc/mtrace.pl ($PACKAGE): Remove variable.
+	($PKGVERSION): New variable.
+	($REPORT_BUGS_TO): Likewise.
+	(usage): Use $REPORT_BUGS_TO.
+	(top level): Use $PKGVERSION.
+	* manual/Makefile (libc-texi-generated): Add pkgvers.texi.
+	($(objpfx)pkgvers.texi): New rule.
+	($(objpfx)stamp-pkgvers): Likewise.
+	* manual/install.texi: Include pkgvers.texi.
+	(--with-pkgversion): Document new configure option.
+	(--with-bugurl): Likewise.
+	(Reporting Bugs): Describe Bugzilla as upstream tracker rather
+	than necessarily for this particular distribution.  Use
+	REPORT_BUGS_TO for where to report bugs.
+	* INSTALL: Regenerated.
+	* manual/libc.texinfo: Include pkgvers.texi.
+	[!PKGVERSION_DEFAULT]: Include PKGVERSION in version information.
+	* nscd/nscd.c (more_help): Use REPORT_BUGS_TO.
+	(print_version): Use PKGVERSION.
+	* nss/getent.c (more_help): Use REPORT_BUGS_TO.
+	(print_version): Use PKGVERSION.
+	* nss/makedb.c (more_help): Use REPORT_BUGS_TO.
+	(print_version): Use PKGVERSION.
+	* posix/getconf.c (main): Use PKGVERSION and REPORT_BUGS_TO.
+	* sunrpc/proto.h [IS_IN_build] (_libc_intl_domainname): Remove
+	macro.
+	* sunrpc/rpc_main.c (options_usage): Use REPORT_BUGS_TO.
+	(print_version): Use PKGVERSION.
+	* sunrpc/rpcinfo.c (usage): Use REPORT_BUGS_TO.
+	(print_version): Use PKGVERSION.
+	* sysdeps/unix/sysv/linux/lddlibc4.c (main): Use REPORT_BUGS_TO
+	and PKGVERSION.
+
+	* timezone/checktab.awk: Update from tzcode 2012i.
+	* timezone/ialloc.c: Likewise.
+	* timezone/private.h: Likewise.
+	* timezone/scheck.c: Likewise.
+	* timezone/tzfile.h: Likewise.
+	* timezone/tzselect.ksh: Merge in changes from tzcode 2012i.
+	(TZVERSION): Hardcode tzcode version number.
+	* timezone/zdump.c: Update from tzcode 2012i.
+	* timezone/zic.c: Likewise.
+	* timezone/version.h: New file.
+	* timezone/README: Describe version.h.  Update upstream location.
+
+	[BZ #14824]
+	* stdlib/stdlib.h [__USE_XOPEN_EXTENDED && __USE_XOPEN2K]
+	(mktemp): Enable declaration.
+	[__USE_XOPEN_EXTENDED && __USE_XOPEN2K] (ecvt): Likewise.
+	[__USE_XOPEN_EXTENDED && __USE_XOPEN2K] (fcvt): Likewise.
+	[__USE_XOPEN_EXTENDED && __USE_XOPEN2K] (gcvt): Likewise.
+	[__USE_XOPEN_EXTENDED && __USE_XOPEN2K && __USE_MISC] (qecvt):
+	Likewise.
+	[__USE_XOPEN_EXTENDED && __USE_XOPEN2K && __USE_MISC] (qfcvt):
+	Likewise.
+	[__USE_XOPEN_EXTENDED && __USE_XOPEN2K && __USE_MISC] (qgcvt):
+	Likewise.
+	[__USE_XOPEN_EXTENDED && __USE_XOPEN2K && __USE_MISC] (ecvt_r):
+	Likewise.
+	[__USE_XOPEN_EXTENDED && __USE_XOPEN2K && __USE_MISC] (fcvt_r):
+	Likewise.
+	[__USE_XOPEN_EXTENDED && __USE_XOPEN2K && __USE_MISC] (gcvt_r):
+	Likewise.
+
+	[BZ #14821]
+	* sunrpc/clnt_tcp.c (clnttcp_control): Access values at fixed
+	offset in buffer as u_int32_t not u_long.  Consistently use memcpy
+	for copies of such integer values.
+	* sunrpc/clnt_udp.c (clntudp_control): Likewise.
+	* sunrpc/clnt_unix.c (clntunix_control): Likewise.
+
+2012-11-09  Andreas Jaeger  <aj@xxxxxxx>
+
+	* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Remove all
+	definitions and declarations that are provided by
+	<bits/fcntl-linux.h> and include <bits/fcntl-linux.h>.
+
+2012-11-08  Andreas Krebbel  <Andreas.Krebbel@xxxxxxxxxx>
+
+        * sysdeps/s390/dl-procinfo.c (_dl_s390_cap_flags): Add "te".
+	* sysdeps/s390/dl-procinfo.h (HWCAP_S390_TE): Add enum value.
+	* sysdeps/unix/sysv/linux/s390/hwcap.h (HWCAP_S390_TE): Add macro
+	definition.
+
+2012-11-08  Marcus Shawcroft  <marcus.shawcroft@xxxxxxxxxx>
+
+	* elf/elf.h: Update comment before AArch64 relocations.
+
+2012-11-07  David S. Miller  <davem@xxxxxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/sparc/sparc64/__start_context.S: New file.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c
+	(__start_context): Declare.
+	(__makecontext_ret): Delete.
+	(__makecontext): Hook up __start_context instead of
+	__makecontext_ret.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
+	(sysdep_routines): Add __start_context when in stdlib.
+
+2012-11-07  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/x86/Makefile ($(objpfx)tst-xmmymm.out): Pass $(NM),
+	$(OBJDUMP) and $(READELF) to tst-xmmymm.sh.
+	* sysdeps/x86/tst-xmmymm.sh (NM): New variable.  Use it instead of
+	hardcoded "nm".
+	(OBJDUMP): New variable.  Use it instead of hardcoded "objdump".
+	(READELF): New variable.  Use it instead of hardcoded "readelf".
+
+2012-11-07  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	* sysdeps/x86_64/Makefile ($(objpfx)tst-xmmymm.out): Moved to ...
+	* sysdeps/x86/Makefile: Here.
+	* sysdeps/x86_64/tst-xmmymm.sh: Renamed to ...
+	* sysdeps/x86/tst-xmmymm.sh: This.
+
+2012-11-07  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* conform/data/pthread.h-data [XPG3 || XPG4]: Disable all
+	expectations.
+	[UNIX98] (pthread_barrier_t): Do not expect.
+	[UNIX98] (pthread_barrierattr_t): Likewise.
+	[UNIX98] (pthread_spinlock_t): Likewise.
+	[UNIX98] (pthread_barrier_destroy): Likewise.
+	[UNIX98] (pthread_barrier_init): Likewise.
+	[UNIX98] (pthread_barrier_wait): Likewise.
+	[UNIX98] (pthread_barrierattr_destroy): Likewise.
+	[UNIX98] (pthread_barrierattr_getpshared): Likewise.
+	[UNIX98] (pthread_barrierattr_init): Likewise.
+	[UNIX98] (pthread_barrierattr_setpshared): Likewise.
+	[UNIX98] (pthread_getcpuclockid): Likewise.
+	[UNIX98] (pthread_mutex_timedlock): Likewise.
+	[UNIX98] (pthread_rwlock_timedrdlock): Likewise.
+	[UNIX98] (pthread_rwlock_timedwrlock): Likewise.
+	[UNIX98] (pthread_sigmask): Likewise.
+	[UNIX98] (pthread_spin_destroy): Likewise.
+	[UNIX98] (pthread_spin_init): Likewise.
+	[UNIX98] (pthread_spin_lock): Likewise.
+	[UNIX98] (pthread_spin_trylock): Likewise.
+	[UNIX98] (pthread_spin_unlock): Likewise.
+	* conform/data/sys/types.h-data [XPG3 || XPG4] (pthread_attr_t):
+	Do not expect.
+	[XPG3 || XPG4 || UNIX98] (pthread_barrier_t): Likewise.
+	[XPG3 || XPG4 || UNIX98] (pthread_barrierattr_t): Likewise.
+	[XPG3 || XPG4] (pthread_cond_t): Likewise.
+	[XPG3 || XPG4] (pthread_condattr_t): Likewise.
+	[XPG3 || XPG4] (pthread_key_t): Likewise.
+	[XPG3 || XPG4] (pthread_mutex_t): Likewise.
+	[XPG3 || XPG4] (pthread_mutexattr_t): Likewise.
+	[XPG3 || XPG4] (pthread_once_t): Likewise.
+	[XPG3 || XPG4] (pthread_rwlock_t): Likewise.
+	[XPG3 || XPG4] (pthread_rwlockattr_t): Likewise.
+	[XPG3 || XPG4 || UNIX98] (pthread_spinlock_t): Likewise.
+	[XPG3 || XPG4] (pthread_t): Likewise.
+
+	* conform/data/stdlib.h-data [XPG3 || XPG4 || UNIX98] (setenv): Do
+	not expect.
+	[XPG3 || XPG4 || UNIX98] (unsetenv): Likewise.
+
+	* conform/data/math.h-data [XPG3 || XPG4 || UNIX98] (isnan):
+	Change function return type to int.
+
+	* conform/data/sys/mman.h-data [!POSIX] (POSIX_MADV_NORMAL):
+	Change condition to [!POSIX && !XPG3 && !XPG4 && !UNIX98].
+	[!POSIX] (POSIX_MADV_SEQUENTIAL): Likewise.
+	[!POSIX] (POSIX_MADV_RANDOM): Likewise.
+	[!POSIX] (POSIX_MADV_WILLNEED): Likewise.
+	[!POSIX] (POSIX_MADV_DONTNEED): Likewise.
+	[!POSIX] (posix_madvise): Likewise.
+	(POSIX_TYPED_MEM_ALLOCATE): Condition on [!POSIX && !XPG3 && !XPG4
+	&& !UNIX98].
+	(POSIX_TYPED_MEM_ALLOCATE_CONTIG): Likewise.
+	(POSIX_TYPED_MEM_MAP_ALLOCATABLE): Likewise.
+	(mode_t): Likewise.
+	(posix_mem_offset): Likewise.
+	(posix_typed_mem_get_info): Likewise.
+	(posix_typed_mem_open): Likewise.
+
+	* conform/data/sys/stat.h-data [!POSIX && !POSIX2008] (mknodat):
+	Change condition to [XOPEN2K8].
+
+	* conform/conformtest.pl: Preprocess allow-header data with -x c
+	instead of from stdin.
+	(@headers): Add stdalign.h, stdbool.h and stdnoreturn.h.
+	* conform/data/complex.h-data [C99-based standards] (cerf): Allow.
+	[C99-based standards] (cerfc): Likewise.
+	[C99-based standards] (cexp2): Likewise.
+	[C99-based standards] (cexpm1): Likewise.
+	[C99-based standards] (clog10): Likewise.
+	[C99-based standards] (clog1p): Likewise.
+	[C99-based standards] (clog2): Likewise.
+	[C99-based standards] (clgamma): Likewise.
+	[C99-based standards] (ctgamma): Likewise.
+	[C99-based standards] (cerff): Likewise.
+	[C99-based standards] (cerfcf): Likewise.
+	[C99-based standards] (cexp2f): Likewise.
+	[C99-based standards] (cexpm1f): Likewise.
+	[C99-based standards] (clog10f): Likewise.
+	[C99-based standards] (clog1pf): Likewise.
+	[C99-based standards] (clog2f): Likewise.
+	[C99-based standards] (clgammaf): Likewise.
+	[C99-based standards] (ctgammaf): Likewise.
+	[C99-based standards] (cerfl): Likewise.
+	[C99-based standards] (cerfcl): Likewise.
+	[C99-based standards] (cexp2l): Likewise.
+	[C99-based standards] (cexpm1l): Likewise.
+	[C99-based standards] (clog10l): Likewise.
+	[C99-based standards] (clog1pl): Likewise.
+	[C99-based standards] (clog2l): Likewise.
+	[C99-based standards] (clgammal): Likewise.
+	[C99-based standards] (ctgammal): Likewise.
+	* conform/data/inttypes.h-data [C99-based standards]: Include
+	stdint.h-data.  Remove all expectations for stdint.h contents.
+	[C99-based standards] (PRI*): Do not allow.
+	[C99-based standards] (SCN*): Likewise.
+	[C99-based standards] (*_t): Likewise.
+	[C99-based-standards] (PRId8): Expect macro.
+	[C99-based-standards] (PRIi8): Likewise.
+	[C99-based-standards] (PRIo8): Likewise.
+	[C99-based-standards] (PRIu8): Likewise.
+	[C99-based-standards] (PRIx8): Likewise.
+	[C99-based-standards] (PRIX8): Likewise.
+	[C99-based-standards] (SCNd8): Likewise.
+	[C99-based-standards] (SCNi8): Likewise.
+	[C99-based-standards] (SCNo8): Likewise.
+	[C99-based-standards] (SCNu8): Likewise.
+	[C99-based-standards] (SCNx8): Likewise.
+	[C99-based-standards] (PRIdLEAST8): Likewise.
+	[C99-based-standards] (PRIiLEAST8): Likewise.
+	[C99-based-standards] (PRIoLEAST8): Likewise.
+	[C99-based-standards] (PRIuLEAST8): Likewise.
+	[C99-based-standards] (PRIxLEAST8): Likewise.
+	[C99-based-standards] (PRIXLEAST8): Likewise.
+	[C99-based-standards] (SCNdLEAST8): Likewise.
+	[C99-based-standards] (SCNiLEAST8): Likewise.
+	[C99-based-standards] (SCNoLEAST8): Likewise.
+	[C99-based-standards] (SCNuLEAST8): Likewise.
+	[C99-based-standards] (SCNxLEAST8): Likewise.
+	[C99-based-standards] (PRIdFAST8): Likewise.
+	[C99-based-standards] (PRIiFAST8): Likewise.
+	[C99-based-standards] (PRIoFAST8): Likewise.
+	[C99-based-standards] (PRIuFAST8): Likewise.
+	[C99-based-standards] (PRIxFAST8): Likewise.
+	[C99-based-standards] (PRIXFAST8): Likewise.
+	[C99-based-standards] (SCNdFAST8): Likewise.
+	[C99-based-standards] (SCNiFAST8): Likewise.
+	[C99-based-standards] (SCNoFAST8): Likewise.
+	[C99-based-standards] (SCNuFAST8): Likewise.
+	[C99-based-standards] (SCNxFAST8): Likewise.
+	[C99-based-standards] (PRId16): Likewise.
+	[C99-based-standards] (PRIi16): Likewise.
+	[C99-based-standards] (PRIo16): Likewise.
+	[C99-based-standards] (PRIu16): Likewise.
+	[C99-based-standards] (PRIx16): Likewise.
+	[C99-based-standards] (PRIX16): Likewise.
+	[C99-based-standards] (SCNd16): Likewise.
+	[C99-based-standards] (SCNi16): Likewise.
+	[C99-based-standards] (SCNo16): Likewise.
+	[C99-based-standards] (SCNu16): Likewise.
+	[C99-based-standards] (SCNx16): Likewise.
+	[C99-based-standards] (PRIdLEAST16): Likewise.
+	[C99-based-standards] (PRIiLEAST16): Likewise.
+	[C99-based-standards] (PRIoLEAST16): Likewise.
+	[C99-based-standards] (PRIuLEAST16): Likewise.
+	[C99-based-standards] (PRIxLEAST16): Likewise.
+	[C99-based-standards] (PRIXLEAST16): Likewise.
+	[C99-based-standards] (SCNdLEAST16): Likewise.
+	[C99-based-standards] (SCNiLEAST16): Likewise.
+	[C99-based-standards] (SCNoLEAST16): Likewise.
+	[C99-based-standards] (SCNuLEAST16): Likewise.
+	[C99-based-standards] (SCNxLEAST16): Likewise.
+	[C99-based-standards] (PRIdFAST16): Likewise.
+	[C99-based-standards] (PRIiFAST16): Likewise.
+	[C99-based-standards] (PRIoFAST16): Likewise.
+	[C99-based-standards] (PRIuFAST16): Likewise.
+	[C99-based-standards] (PRIxFAST16): Likewise.
+	[C99-based-standards] (PRIXFAST16): Likewise.
+	[C99-based-standards] (SCNdFAST16): Likewise.
+	[C99-based-standards] (SCNiFAST16): Likewise.
+	[C99-based-standards] (SCNoFAST16): Likewise.
+	[C99-based-standards] (SCNuFAST16): Likewise.
+	[C99-based-standards] (SCNxFAST16): Likewise.
+	[C99-based-standards] (PRId32): Likewise.
+	[C99-based-standards] (PRIi32): Likewise.
+	[C99-based-standards] (PRIo32): Likewise.
+	[C99-based-standards] (PRIu32): Likewise.
+	[C99-based-standards] (PRIx32): Likewise.
+	[C99-based-standards] (PRIX32): Likewise.
+	[C99-based-standards] (SCNd32): Likewise.
+	[C99-based-standards] (SCNi32): Likewise.
+	[C99-based-standards] (SCNo32): Likewise.
+	[C99-based-standards] (SCNu32): Likewise.
+	[C99-based-standards] (SCNx32): Likewise.
+	[C99-based-standards] (PRIdLEAST32): Likewise.
+	[C99-based-standards] (PRIiLEAST32): Likewise.
+	[C99-based-standards] (PRIoLEAST32): Likewise.
+	[C99-based-standards] (PRIuLEAST32): Likewise.
+	[C99-based-standards] (PRIxLEAST32): Likewise.
+	[C99-based-standards] (PRIXLEAST32): Likewise.
+	[C99-based-standards] (SCNdLEAST32): Likewise.
+	[C99-based-standards] (SCNiLEAST32): Likewise.
+	[C99-based-standards] (SCNoLEAST32): Likewise.
+	[C99-based-standards] (SCNuLEAST32): Likewise.
+	[C99-based-standards] (SCNxLEAST32): Likewise.
+	[C99-based-standards] (PRIdFAST32): Likewise.
+	[C99-based-standards] (PRIiFAST32): Likewise.
+	[C99-based-standards] (PRIoFAST32): Likewise.
+	[C99-based-standards] (PRIuFAST32): Likewise.
+	[C99-based-standards] (PRIxFAST32): Likewise.
+	[C99-based-standards] (PRIXFAST32): Likewise.
+	[C99-based-standards] (SCNdFAST32): Likewise.
+	[C99-based-standards] (SCNiFAST32): Likewise.
+	[C99-based-standards] (SCNoFAST32): Likewise.
+	[C99-based-standards] (SCNuFAST32): Likewise.
+	[C99-based-standards] (SCNxFAST32): Likewise.
+	[C99-based-standards] (PRId64): Likewise.
+	[C99-based-standards] (PRIi64): Likewise.
+	[C99-based-standards] (PRIo64): Likewise.
+	[C99-based-standards] (PRIu64): Likewise.
+	[C99-based-standards] (PRIx64): Likewise.
+	[C99-based-standards] (PRIX64): Likewise.
+	[C99-based-standards] (SCNd64): Likewise.
+	[C99-based-standards] (SCNi64): Likewise.
+	[C99-based-standards] (SCNo64): Likewise.
+	[C99-based-standards] (SCNu64): Likewise.
+	[C99-based-standards] (SCNx64): Likewise.
+	[C99-based-standards] (PRIdLEAST64): Likewise.
+	[C99-based-standards] (PRIiLEAST64): Likewise.
+	[C99-based-standards] (PRIoLEAST64): Likewise.
+	[C99-based-standards] (PRIuLEAST64): Likewise.
+	[C99-based-standards] (PRIxLEAST64): Likewise.
+	[C99-based-standards] (PRIXLEAST64): Likewise.
+	[C99-based-standards] (SCNdLEAST64): Likewise.
+	[C99-based-standards] (SCNiLEAST64): Likewise.
+	[C99-based-standards] (SCNoLEAST64): Likewise.
+	[C99-based-standards] (SCNuLEAST64): Likewise.
+	[C99-based-standards] (SCNxLEAST64): Likewise.
+	[C99-based-standards] (PRIdFAST64): Likewise.
+	[C99-based-standards] (PRIiFAST64): Likewise.
+	[C99-based-standards] (PRIoFAST64): Likewise.
+	[C99-based-standards] (PRIuFAST64): Likewise.
+	[C99-based-standards] (PRIxFAST64): Likewise.
+	[C99-based-standards] (PRIXFAST64): Likewise.
+	[C99-based-standards] (SCNdFAST64): Likewise.
+	[C99-based-standards] (SCNiFAST64): Likewise.
+	[C99-based-standards] (SCNoFAST64): Likewise.
+	[C99-based-standards] (SCNuFAST64): Likewise.
+	[C99-based-standards] (SCNxFAST64): Likewise.
+	[C99-based-standards] (PRIdMAX): Likewise.
+	[C99-based-standards] (PRIiMAX): Likewise.
+	[C99-based-standards] (PRIoMAX): Likewise.
+	[C99-based-standards] (PRIuMAX): Likewise.
+	[C99-based-standards] (PRIxMAX): Likewise.
+	[C99-based-standards] (PRIXMAX): Likewise.
+	[C99-based-standards] (SCNdMAX): Likewise.
+	[C99-based-standards] (SCNiMAX): Likewise.
+	[C99-based-standards] (SCNoMAX): Likewise.
+	[C99-based-standards] (SCNuMAX): Likewise.
+	[C99-based-standards] (SCNxMAX): Likewise.
+	[C99-based-standards] (PRIdPTR): Likewise.
+	[C99-based-standards] (PRIiPTR): Likewise.
+	[C99-based-standards] (PRIoPTR): Likewise.
+	[C99-based-standards] (PRIuPTR): Likewise.
+	[C99-based-standards] (PRIxPTR): Likewise.
+	[C99-based-standards] (PRIXPTR): Likewise.
+	[C99-based-standards] (SCNdPTR): Likewise.
+	[C99-based-standards] (SCNiPTR): Likewise.
+	[C99-based-standards] (SCNoPTR): Likewise.
+	[C99-based-standards] (SCNuPTR): Likewise.
+	[C99-based-standards] (SCNxPTR): Likewise.
+	* conform/data/iso646.h-data [ISO C standards] (*_t): Do not
+	allow.
+	* conform/data/stdint.h-data: Update comments to clarify
+	requirements.
+	[C99-based standards] (INT8_MIN): Use macro-int-constant.  Specify
+	type.
+	[C99-based standards] (INT8_MAX): Likewise.
+	[C99-based standards] (INT16_MIN): Likewise.
+	[C99-based standards] (INT16_MAX): Likewise.
+	[C99-based standards] (INT32_MIN): Likewise.
+	[C99-based standards] (INT32_MAX): Likewise.
+	[C99-based standards] (INT64_MIN): Likewise.
+	[C99-based standards] (INT64_MAX): Likewise.
+	[C99-based standards] (UINT8_MAX): Likewise.
+	[C99-based standards] (UINT16_MAX): Likewise.
+	[C99-based standards] (UINT32_MAX): Likewise.
+	[C99-based standards] (UINT64_MAX): Likewise.
+	[C99-based standards] (INT_LEAST8_MIN): Likewise.
+	[C99-based standards] (INT_LEAST8_MAX): Likewise.
+	[C99-based standards] (INT_LEAST16_MIN): Likewise.
+	[C99-based standards] (INT_LEAST16_MAX): Likewise.
+	[C99-based standards] (INT_LEAST32_MIN): Likewise.
+	[C99-based standards] (INT_LEAST32_MAX): Likewise.
+	[C99-based standards] (INT_LEAST64_MIN): Likewise.
+	[C99-based standards] (INT_LEAST64_MAX): Likewise.
+	[C99-based standards] (UINT_LEAST8_MAX): Likewise.
+	[C99-based standards] (UINT_LEAST16_MAX): Likewise.
+	[C99-based standards] (UINT_LEAST32_MAX): Likewise.
+	[C99-based standards] (UINT_LEAST64_MAX): Likewise.
+	[C99-based standards] (INT_FAST8_MIN): Likewise.
+	[C99-based standards] (INT_FAST8_MAX): Likewise.
+	[C99-based standards] (INT_FAST16_MIN): Likewise.
+	[C99-based standards] (INT_FAST16_MAX): Likewise.
+	[C99-based standards] (INT_FAST32_MIN): Likewise.
+	[C99-based standards] (INT_FAST32_MAX): Likewise.
+	[C99-based standards] (INT_FAST64_MIN): Likewise.
+	[C99-based standards] (INT_FAST64_MAX): Likewise.
+	[C99-based standards] (UINT_FAST8_MAX): Likewise.
+	[C99-based standards] (UINT_FAST16_MAX): Likewise.
+	[C99-based standards] (UINT_FAST32_MAX): Likewise.
+	[C99-based standards] (UINT_FAST64_MAX): Likewise.
+	[C99-based standards] (INTPTR_MIN): Likewise.
+	[C99-based standards] (INTPTR_MAX): Likewise.
+	[C99-based standards] (UINTPTR_MAX): Likewise.
+	[C99-based standards] (INTMAX_MIN): Likewise.
+	[C99-based standards] (INTMAX_MAX): Likewise.
+	[C99-based standards] (UINTMAX_MAX): Likewise.
+	[C99-based standards] (PTRDIFF_MIN): Likewise.
+	[C99-based standards] (PTRDIFF_MAX): Likewise.
+	[C99-based standards] (SIG_ATOMIC_MAX): Likewise.
+	[C99-based standards] (SIZE_MAX): Likewise.
+	[C99-based standards] (WCHAR_MAX): Likewise.
+	[C99-based standards] (WINT_MAX): Likewise.
+	[C99-based standards] (SIG_ATOMIC_MIN): Likewise.  Do not specify
+	constraint on value.
+	[C99-based standards] (WCHAR_MIN): Likewise.
+	[C99-based standards] (WINT_MIN): Likewise.
+	[C99-based standards] (*_t): Allow.
+	* conform/data/tgmath.h-data [XOPEN2K || POSIX2008]: Change
+	condition to [!ISO && !POSIX && !XPG3 && !XPG4 && !UNIX98].
+	Include math.h-data and complex.h-data.  Remove all expectations
+	of math.h and complex.h contents.
+	* conform/data/uchar.h-data [ISO11] (c16rtomb): Remove stray "16"
+	at end of line.
+	* conform/data/wchar.h-data [!ISO && !POSIX && !XPG3 && !XPG4]
+	(struct tm): Expect tag.
+	[C99-based-standards] (wcstof): Expect function.
+	[C99-based-standards] (wcstold): Likewise.
+	[C99-based-standards] (wcstoll): Likewise.
+	[C99-based-standards] (wcstoull): Likewise.
+	[!ISO && !POSIX && !XPG3 && !XPG4] (WCHAR_MIN): Use
+	macro-int-constant.  Specify type.
+	[!ISO && !POSIX && !XPG3 && !XPG4] (WCHAR_MAX): Likewise.  Specify
+	constraint on value.
+	[!ISO && !POSIX && !XPG3 && !XPG4] (WEOF): Use macro-constant.
+	Specify type.
+	[!ISO && !POSIX && !XPG3 && !XPG4] (NULL): Use macro-constant.
+	Specify value.
+	[ISO C standards]: Do not allow headers.
+	[!ISO && !POSIX && !XPG3 && !XPG4] (wcs*): Change to
+	wcs[abcdefghijklmnopqrstuvwxyz]*.
+	[ISO C standards] (*_t): Do not allow.
+	* conform/data/wctype.h-data [C99-based standards] (iswblank):
+	Expect function.
+	[XOPEN2K8 || POSIX2008] (iswblank_l): Likewise.
+	[!ISO && !POSIX && !XPG3 && !XPG4] (WEOF): Use macro-constant.
+	Specify type.
+	[ISO C standards]: Do not allow headers.
+	[!ISO && !POSIX && !XPG3 && !XPG4] (is*): Change to
+	is[abcdefghijklmnopqrstuvwxyz]*.
+	[!ISO && !POSIX && !XPG3 && !XPG4] (to*): Change to
+	to[abcdefghijklmnopqrstuvwxyz]*.
+	[ISO C standards] (*_t): Do not allow.
+	* conform/data/stdalign.h-data: New file.
+	* conform/data/stdbool.h-data: Likewise.
+	* conform/data/stdnoreturn.h-data: Likewise.
+
+2012-11-07  Andreas Jaeger  <aj@xxxxxxx>
+
+	[BZ #14809]
+	* sysdeps/unix/sysv/linux/sys/sysctl.h (_UAPI_LINUX_KERNEL_H)
+	(_UAPI_LINUX_TYPES_H): Starting with Linux 3.7, the include header
+	guards are changed.  Only define if not yet defined, #undef back
+	after including linux/sysctl.h if defined here.
+
+2012-11-07  Roland McGrath  <roland@xxxxxxxxxxxxx>
+
+	[BZ #14815]
+	* manual/filesys.texi (Directory Entries): Typo fix.
+	Reported by <h-iwamoto@xxxxxxxxxxxxxxx>.
+
+2012-11-07  Marcus Shawcroft  <marcus.shawcroft@xxxxxxxxxx>
+
+	* elf/elf.h (EM_AARCH64): New macro.
+	(R_AARCH64_NONE, R_AARCH64_ABS64, R_AARCH64_ABS32): Likewise.
+	(R_AARCH64_COPY, R_AARCH64_GLOB_DAT, R_AARCH64_JUMP_SLOT): Likewise.
+	(R_AARCH64_RELATIVE, R_AARCH64_TLS_DTPMOD64): Likewise.
+	(R_AARCH64_TLS_DTPREL64, R_AARCH64_TLS_TPREL64): Likewise.
+	(R_AARCH64_TLSDESC): Likewise.
+	(NT_ARM_TLS): Likewise.
+	(NT_ARM_HW_BREAK): Likewise.
+	(NT_ARM_HW_WATCH): Likewise.
+
+2012-11-07  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	[BZ #14811]
+	* sysdeps/i386/fpu/e_powl.S (pm79): New object.
+	(__ieee754_powl): Saturate nonzero exponents with absolute value
+	below 0x1p-79 to +/- 0x1p-79.
+	* sysdeps/ieee754/dbl-64/e_pow.c (__ieee754_pow): Saturate nonzero
+	exponents with absolute value below 0x1p-64 to +/- 0x1p-64.
+	* sysdeps/ieee754/flt-32/e_powf.c (__ieee754_powf): Saturate
+	nonzero exponents with absolute value below 0x1p-32 to +/-
+	0x1p-32.
+	* sysdeps/x86_64/fpu/e_powl.S (pm79): New object.
+	(__ieee754_powl): Saturate nonzero exponents with absolute value
+	below 0x1p-79 to +/- 0x1p-79.
+	* math/libm-test.inc (pow_test): Add more tests.
+
+2012-11-07  Andreas Krebbel  <Andreas.Krebbel@xxxxxxxxxx>
+
+	* sysdeps/s390/dl-procinfo.c (_dl_s390_cap_flags): Sync
+	_dl_s390_cap_flags with kernel. Increase string length.
+	(_dl_s390_platforms): Add z196 and zEC12.
+
+2012-11-07  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* conform/data/time.h-data [!XOPEN21K && !XOPEN2K8 && !POSIX2008]:
+	Change XOPEN21K to XOPEN2K.
+
+2012-11-06  Maxim Kuvyrkov  <maxim@xxxxxxxxxxxxxxxx>
+
+	* string/memmove.c: Use memcpy when possible.
+
+2012-11-06  Andreas Jaeger  <aj@xxxxxxx>
+
+	* po/eo.po: Update from translation team.
+
 2012-11-06  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	[BZ #14793]

Modified: trunk/libc/INSTALL
==============================================================================
--- trunk/libc/INSTALL (original)
+++ trunk/libc/INSTALL Fri Nov  9 22:50:35 2012
@@ -159,6 +159,19 @@
      CFLAGS.
 
      If you specify just `--build', `configure' will get confused.
+
+`--with-pkgversion=VERSION'
+     Specify a description, possibly including a build number or build
+     date, of the binaries being built, to be included in `--version'
+     output from programs installed with the GNU C Library.  For
+     example, `--with-pkgversion='FooBar GNU/Linux glibc build 123''.
+     The default value is `GNU libc'.
+
+`--with-bugurl=URL'
+     Specify the URL that users should visit if they wish to report a
+     bug, to be included in `--help' output from programs installed with
+     the GNU C Library.  The default value refers to the main
+     bug-reporting information for the GNU C Library.
 
    To build the library and related programs, type `make'.  This will
 produce a lot of output, some of which may look like errors from `make'
@@ -416,10 +429,10 @@
 
    It is a good idea to verify that the problem has not already been
 reported.  Bugs are documented in two places: The file `BUGS' describes
-a number of well known bugs and the bug tracking system has a WWW
-interface at `http://sourceware.org/bugzilla/'.  The WWW interface
-gives you access to open and closed reports.  A closed report normally
-includes a patch or a hint on solving the problem.
+a number of well known bugs and the central GNU C Library bug tracking
+system has a WWW interface at `http://sourceware.org/bugzilla/'.  The
+WWW interface gives you access to open and closed reports.  A closed
+report normally includes a patch or a hint on solving the problem.
 
    To report a bug, first you must find it.  With any luck, this will
 be the hard part.  Once you've found a bug, make sure it's really a
@@ -440,7 +453,7 @@
 call, if possible.  This should not be too difficult.
 
    The final step when you have a simple test case is to report the bug.
-Do this using the WWW interface to the bug database.
+Do this at `http://www.gnu.org/software/libc/bugs.html'.
 
    If you are not sure how a function should behave, and this manual
 doesn't tell you, that's a bug in the manual.  Report that too!  If the

Modified: trunk/libc/Makefile
==============================================================================
--- trunk/libc/Makefile (original)
+++ trunk/libc/Makefile Fri Nov  9 22:50:35 2012
@@ -419,15 +419,18 @@
 
 define format-me
 @rm -f $@
-makeinfo --no-validate --plaintext --no-number-sections $< -o $@
+makeinfo --no-validate --plaintext --no-number-sections \
+	-I$(common-objpfx)manual $< -o $@
 -chmod a-w $@
 endef
-INSTALL: manual/install.texi manual/macros.texi; $(format-me)
-manual/dir-add.texi manual/dir-add.info: FORCE
-	$(MAKE) $(PARALLELMFLAGS) -C $(@D) $(@F)
+INSTALL: manual/install.texi manual/macros.texi \
+	$(common-objpfx)manual/pkgvers.texi
+	$(format-me)
+$(common-objpfx)manual/%: FORCE
+	$(MAKE) $(PARALLELMFLAGS) -C manual $@
 FORCE:
 
-iconvdata/% localedata/% po/% manual/%: FORCE
+iconvdata/% localedata/% po/%: FORCE
 	$(MAKE) $(PARALLELMFLAGS) -C $(@D) $(@F)
 
 # glibc 2.0 contains some header files which aren't used with glibc 2.1

Modified: trunk/libc/NEWS
==============================================================================
--- trunk/libc/NEWS (original)
+++ trunk/libc/NEWS Fri Nov  9 22:50:35 2012
@@ -10,15 +10,16 @@
 * The following bugs are resolved with this release:
 
   1349, 3439, 3479, 3665, 5044, 5246, 5298, 5400, 6530, 6778, 6808, 9685,
-  9914, 10014, 10038, 10631, 11438, 11607, 11638, 12140, 13412, 13542,
-  13601, 13629, 13679, 13696, 13717, 13741, 13939, 13966, 14042, 14047,
-  14090, 14150, 14151, 14152, 14154, 14157, 14166, 14173, 14195, 14237,
-  14251, 14252, 14283, 14298, 14303, 14307, 14328, 14331, 14336, 14337,
-  14347, 14349, 14376, 14417, 14459, 14476, 14477, 14505, 14510, 14516,
-  14518, 14519, 14530, 14532, 14538, 14543, 14544, 14545, 14557, 14562,
-  14568, 14576, 14579, 14583, 14587, 14595, 14602, 14610, 14621, 14638,
-  14645, 14648, 14652, 14660, 14661, 14669, 14683, 14694, 14716, 14743,
-  14767, 14783, 14784, 14785, 14793, 14796, 14797, 14801, 14805.
+  9914, 10014, 10038, 10631, 10873, 11438, 11607, 11638, 12140, 13412,
+  13542, 13601, 13629, 13679, 13696, 13717, 13741, 13939, 13966, 14042,
+  14047, 14090, 14150, 14151, 14152, 14154, 14157, 14166, 14173, 14195,
+  14237, 14251, 14252, 14283, 14298, 14303, 14307, 14328, 14331, 14336,
+  14337, 14347, 14349, 14376, 14417, 14459, 14476, 14477, 14505, 14510,
+  14516, 14518, 14519, 14530, 14532, 14538, 14543, 14544, 14545, 14557,
+  14562, 14568, 14576, 14579, 14583, 14587, 14595, 14602, 14610, 14621,
+  14638, 14645, 14648, 14652, 14660, 14661, 14669, 14683, 14694, 14716,
+  14743, 14767, 14783, 14784, 14785, 14793, 14796, 14797, 14801, 14805,
+  14807, 14809, 14811, 14815, 14821, 14824.
 
 * Support for STT_GNU_IFUNC symbols added for s390 and s390x.
   Optimized versions of memcpy, memset, and memcmp added for System z10 and

Modified: trunk/libc/config.h.in
==============================================================================
--- trunk/libc/config.h.in (original)
+++ trunk/libc/config.h.in Fri Nov  9 22:50:35 2012
@@ -161,7 +161,7 @@
 /* Define if __stack_chk_guard canary should be randomized at program startup.  */
 #undef ENABLE_STACKGUARD_RANDOMIZE
 
-/* Additional package description.  */
+/* Package description.  */
 #undef PKGVERSION
 
 /* Bug reporting address.  */

Modified: trunk/libc/conform/conformtest.pl
==============================================================================
--- trunk/libc/conform/conformtest.pl (original)
+++ trunk/libc/conform/conformtest.pl Fri Nov  9 22:50:35 2012
@@ -20,16 +20,16 @@
 	      "sys/stat.h", "sys/socket.h", "sys/shm.h", "sys/sem.h",
 	      "sys/select.h", "sys/resource.h", "sys/msg.h", "sys/mman.h",
 	      "sys/ipc.h", "syslog.h", "stropts.h", "strings.h", "string.h",
-	      "stdlib.h", "stdio.h", "stdint.h", "stddef.h", "stdarg.h",
-	      "spawn.h", "signal.h", "setjmp.h", "semaphore.h", "search.h",
-	      "sched.h", "regex.h", "pwd.h", "pthread.h", "poll.h",
-	      "nl_types.h", "netinet/tcp.h", "netinet/in.h", "net/if.h",
-	      "netdb.h", "ndbm.h", "mqueue.h", "monetary.h", "math.h",
-	      "locale.h", "libgen.h", "limits.h", "langinfo.h", "iso646.h",
-	      "inttypes.h", "iconv.h", "grp.h", "glob.h", "ftw.h", "fnmatch.h",
-	      "fmtmsg.h", "float.h", "fenv.h", "fcntl.h", "errno.h", "dlfcn.h",
-	      "dirent.h", "ctype.h", "cpio.h", "complex.h", "assert.h",
-	      "arpa/inet.h", "aio.h");
+	      "stdnoreturn.h", "stdlib.h", "stdio.h", "stdint.h", "stddef.h",
+	      "stdbool.h", "stdarg.h", "stdalign.h", "spawn.h", "signal.h",
+	      "setjmp.h", "semaphore.h", "search.h", "sched.h", "regex.h",
+	      "pwd.h", "pthread.h", "poll.h", "nl_types.h", "netinet/tcp.h",
+	      "netinet/in.h", "net/if.h", "netdb.h", "ndbm.h", "mqueue.h",
+	      "monetary.h", "math.h", "locale.h", "libgen.h", "limits.h",
+	      "langinfo.h", "iso646.h", "inttypes.h", "iconv.h", "grp.h",
+	      "glob.h", "ftw.h", "fnmatch.h", "fmtmsg.h", "float.h", "fenv.h",
+	      "fcntl.h", "errno.h", "dlfcn.h", "dirent.h", "ctype.h", "cpio.h",
+	      "complex.h", "assert.h", "arpa/inet.h", "aio.h");
 }
 
 $CFLAGS{"ISO"} = "-ansi";
@@ -777,7 +777,7 @@
   while ($#allowheader >= 0) {
     my($ah) = pop @allowheader;
 
-    open (ALLOW, "$CC -E -D$standard - < data/$ah-data |");
+    open (ALLOW, "$CC -E -D$standard -x c data/$ah-data |");
     acontrol: while (<ALLOW>) {
       chop;
       next acontrol if (/^#/);

Modified: trunk/libc/conform/data/complex.h-data
==============================================================================
--- trunk/libc/conform/data/complex.h-data (original)
+++ trunk/libc/conform/data/complex.h-data Fri Nov  9 22:50:35 2012
@@ -79,4 +79,35 @@
 macro-function {float complex} CMPLXF (float, float)
 macro-function {long double complex} CMPLXL (long double, long double)
 # endif
+
+allow cerf
+allow cerfc
+allow cexp2
+allow cexpm1
+allow clog10
+allow clog1p
+allow clog2
+allow clgamma
+allow ctgamma
+
+allow cerff
+allow cerfcf
+allow cexp2f
+allow cexpm1f
+allow clog10f
+allow clog1pf
+allow clog2f
+allow clgammaf
+allow ctgammaf
+
+allow cerfl
+allow cerfcl
+allow cexp2l
+allow cexpm1l
+allow clog10l
+allow clog1pl
+allow clog2l
+allow clgammal
+allow ctgammal
+
 #endif

Modified: trunk/libc/conform/data/inttypes.h-data
==============================================================================
--- trunk/libc/conform/data/inttypes.h-data (original)
+++ trunk/libc/conform/data/inttypes.h-data Fri Nov  9 22:50:35 2012
@@ -1,14 +1,5 @@
 #if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
-type int8_t
-type int16_t
-type int32_t
-type int64_t
-type uint8_t
-type uint16_t
-type uint32_t
-type uint64_t
-type intptr_t
-type uintptr_t
+#include "stdint.h-data"
 
 type imaxdiv_t
 element imaxdiv_t intmax_t rem
@@ -21,125 +12,166 @@
 function intmax_t wcstoimax (const __gwchar_t*, __gwchar_t**, int)
 function uintmax_t wcstoumax (const __gwchar_t*, __gwchar_t**, int)
 
-allow PRI*
-allow SCN*
-allow *_t
+macro PRId8
+macro PRIi8
+macro PRIo8
+macro PRIu8
+macro PRIx8
+macro PRIX8
+macro SCNd8
+macro SCNi8
+macro SCNo8
+macro SCNu8
+macro SCNx8
+macro PRIdLEAST8
+macro PRIiLEAST8
+macro PRIoLEAST8
+macro PRIuLEAST8
+macro PRIxLEAST8
+macro PRIXLEAST8
+macro SCNdLEAST8
+macro SCNiLEAST8
+macro SCNoLEAST8
+macro SCNuLEAST8
+macro SCNxLEAST8
+macro PRIdFAST8
+macro PRIiFAST8
+macro PRIoFAST8
+macro PRIuFAST8
+macro PRIxFAST8
+macro PRIXFAST8
+macro SCNdFAST8
+macro SCNiFAST8
+macro SCNoFAST8
+macro SCNuFAST8
+macro SCNxFAST8
 
-// Now the content of <stdint.h>.  Update this whenever <stdint.h> changed.
-type int8_t
-type int16_t
-type int32_t
-type int64_t
-type uint8_t
-type uint16_t
-type uint32_t
-type uint64_t
+macro PRId16
+macro PRIi16
+macro PRIo16
+macro PRIu16
+macro PRIx16
+macro PRIX16
+macro SCNd16
+macro SCNi16
+macro SCNo16
+macro SCNu16
+macro SCNx16
+macro PRIdLEAST16
+macro PRIiLEAST16
+macro PRIoLEAST16
+macro PRIuLEAST16
+macro PRIxLEAST16
+macro PRIXLEAST16
+macro SCNdLEAST16
+macro SCNiLEAST16
+macro SCNoLEAST16
+macro SCNuLEAST16
+macro SCNxLEAST16
+macro PRIdFAST16
+macro PRIiFAST16
+macro PRIoFAST16
+macro PRIuFAST16
+macro PRIxFAST16
+macro PRIXFAST16
+macro SCNdFAST16
+macro SCNiFAST16
+macro SCNoFAST16
+macro SCNuFAST16
+macro SCNxFAST16
 
-type int_least8_t
-type int_least16_t
-type int_least32_t
-type int_least64_t
-type uint_least8_t
-type uint_least16_t
-type uint_least32_t
-type uint_least64_t
+macro PRId32
+macro PRIi32
+macro PRIo32
+macro PRIu32
+macro PRIx32
+macro PRIX32
+macro SCNd32
+macro SCNi32
+macro SCNo32
+macro SCNu32
+macro SCNx32
+macro PRIdLEAST32
+macro PRIiLEAST32
+macro PRIoLEAST32
+macro PRIuLEAST32
+macro PRIxLEAST32
+macro PRIXLEAST32
+macro SCNdLEAST32
+macro SCNiLEAST32
+macro SCNoLEAST32
+macro SCNuLEAST32
+macro SCNxLEAST32
+macro PRIdFAST32
+macro PRIiFAST32
+macro PRIoFAST32
+macro PRIuFAST32
+macro PRIxFAST32
+macro PRIXFAST32
+macro SCNdFAST32
+macro SCNiFAST32
+macro SCNoFAST32
+macro SCNuFAST32
+macro SCNxFAST32
 
-type int_fast8_t
-type int_fast16_t
-type int_fast32_t
-type int_fast64_t
-type uint_fast8_t
-type uint_fast16_t
-type uint_fast32_t
-type uint_fast64_t
+macro PRId64
+macro PRIi64
+macro PRIo64
+macro PRIu64
+macro PRIx64
+macro PRIX64
+macro SCNd64
+macro SCNi64
+macro SCNo64
+macro SCNu64
+macro SCNx64
+macro PRIdLEAST64
+macro PRIiLEAST64
+macro PRIoLEAST64
+macro PRIuLEAST64
+macro PRIxLEAST64
+macro PRIXLEAST64
+macro SCNdLEAST64
+macro SCNiLEAST64
+macro SCNoLEAST64
+macro SCNuLEAST64
+macro SCNxLEAST64
+macro PRIdFAST64
+macro PRIiFAST64
+macro PRIoFAST64
+macro PRIuFAST64
+macro PRIxFAST64
+macro PRIXFAST64
+macro SCNdFAST64
+macro SCNiFAST64
+macro SCNoFAST64
+macro SCNuFAST64
+macro SCNxFAST64
 
-type intptr_t
-type uintptr_t
+macro PRIdMAX
+macro PRIiMAX
+macro PRIoMAX
+macro PRIuMAX
+macro PRIxMAX
+macro PRIXMAX
+macro SCNdMAX
+macro SCNiMAX
+macro SCNoMAX
+macro SCNuMAX
+macro SCNxMAX
 
-type intmax_t
-type uintmax_t
+macro PRIdPTR
+macro PRIiPTR
+macro PRIoPTR
+macro PRIuPTR
+macro PRIxPTR
+macro PRIXPTR
+macro SCNdPTR
+macro SCNiPTR
+macro SCNoPTR
+macro SCNuPTR
+macro SCNxPTR
 
-constant INT8_MIN == -128
-constant INT8_MAX == 127
-constant INT16_MIN == -32768
-constant INT16_MAX == 32767
-constant INT32_MIN == -2147483647-1
-constant INT32_MAX == 2147483647
-constant INT64_MIN == -9223372036854775807LL-1
-constant INT64_MAX == 9223372036854775807LL
-
-constant UINT8_MAX == 255
-constant UINT16_MAX == 65535
-constant UINT32_MAX == 4294967295U
-constant UINT64_MAX == 18446744073709551615ULL
-
-constant INT_LEAST8_MIN <= -128
-constant INT_LEAST8_MAX >= 127
-constant INT_LEAST16_MIN <= -32768
-constant INT_LEAST16_MAX >= 32767
-constant INT_LEAST32_MIN <= -2147483647-1
-constant INT_LEAST32_MAX >= 2147483647
-constant INT_LEAST64_MIN <= -9223372036854775807LL-1
-constant INT_LEAST64_MAX >= 9223372036854775807LL
-
-constant UINT_LEAST8_MAX >= 255
-constant UINT_LEAST16_MAX >= 65535
-constant UINT_LEAST32_MAX >= 4294967295U
-constant UINT_LEAST64_MAX >= 18446744073709551615ULL
-
-constant INT_FAST8_MIN <= -128
-constant INT_FAST8_MAX >= 127
-constant INT_FAST16_MIN <= -32768
-constant INT_FAST16_MAX >= 32767
-constant INT_FAST32_MIN <= -2147483647-1
-constant INT_FAST32_MAX >= 2147483647
-constant INT_FAST64_MIN <= -9223372036854775807LL-1
-constant INT_FAST64_MAX >= 9223372036854775807LL
-
-constant UINT_FAST8_MAX >= 255
-constant UINT_FAST16_MAX >= 65535
-constant UINT_FAST32_MAX >= 4294967295U
-constant UINT_FAST64_MAX >= 18446744073709551615ULL
-
-constant INTPTR_MIN <= -32768
-constant INTPTR_MAX >= 32767
-
-constant UINTPTR_MAX >= 65535
-
-constant INTMAX_MIN <= -9223372036854775807LL-1
-constant INTMAX_MAX >= 9223372036854775807LL
-
-constant UINTMAX_MAX >= 18446744073709551615ULL
-
-constant PTRDIFF_MIN <= -65535
-constant PTRDIFF_MAX >= 65535
-
-constant SIG_ATOMIC_MIN <= -127
-constant SIG_ATOMIC_MAX >= 127
-
-constant SIZE_MAX >= 65535
-
-constant WCHAR_MIN <= -127
-constant WCHAR_MAX >= 127
-
-constant WINT_MIN <= -127
-constant WINT_MAX >= 127
-
-macro INT8_C
-macro INT16_C
-macro INT32_C
-macro INT64_C
-macro UINT8_C
-macro UINT16_C
-macro UINT32_C
-macro UINT64_C
-macro INTMAX_C
-macro UINTMAX_C
-
-// The following expressions are not entirely correct but the current
-// poorfnmatch implementation doesn't grok the right form.
-allow INT*
-allow UINT*
 allow PRI[Xa-z]*
 allow SCN[Xa-z]*
 #endif

Modified: trunk/libc/conform/data/iso646.h-data
==============================================================================
--- trunk/libc/conform/data/iso646.h-data (original)
+++ trunk/libc/conform/data/iso646.h-data Fri Nov  9 22:50:35 2012
@@ -11,5 +11,7 @@
 macro xor
 macro xor_eq
 
+#if !defined ISO && !defined ISO99 && !defined ISO11
 allow *_t
 #endif
+#endif

Modified: trunk/libc/conform/data/math.h-data
==============================================================================
--- trunk/libc/conform/data/math.h-data (original)
+++ trunk/libc/conform/data/math.h-data Fri Nov  9 22:50:35 2012
@@ -18,7 +18,7 @@
 type double_t
 # endif
 # if defined XPG3 || defined XPG4 || defined UNIX98
-function double isnan (double)
+function int isnan (double)
 # endif
 
 # if !defined ISO99 && !defined ISO11 && !defined POSIX2008

Modified: trunk/libc/conform/data/pthread.h-data
==============================================================================
--- trunk/libc/conform/data/pthread.h-data (original)
+++ trunk/libc/conform/data/pthread.h-data Fri Nov  9 22:50:35 2012
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG3 && !defined XPG4
 constant PTHREAD_CANCEL_ASYNCHRONOUS
 constant PTHREAD_CANCEL_ENABLE
 constant PTHREAD_CANCEL_DEFERRED
@@ -31,7 +31,7 @@
 # endif
 
 type pthread_attr_t
-# if !defined POSIX
+# if !defined POSIX && !defined UNIX98
 type pthread_barrier_t
 type pthread_barrierattr_t
 # endif
@@ -44,6 +44,8 @@
 # if !defined POSIX
 type pthread_rwlock_t
 type pthread_rwlockattr_t
+# endif
+# if !defined POSIX && !defined UNIX98
 type pthread_spinlock_t
 # endif
 type pthread_t
@@ -70,7 +72,7 @@
 function int pthread_attr_setscope (pthread_attr_t*, int)
 function int pthread_attr_setstackaddr (pthread_attr_t*, void*)
 function int pthread_attr_setstacksize (pthread_attr_t*, size_t)
-# if !defined POSIX
+# if !defined POSIX && !defined UNIX98
 function int pthread_barrier_destroy (pthread_barrier_t*)
 function int pthread_barrier_init (pthread_barrier_t*, const pthread_barrierattr_t*, unsigned int)
 function int pthread_barrier_wait (pthread_barrier_t*)
@@ -107,7 +109,7 @@
 # if !defined POSIX && !defined POSIX2008
 function int pthread_getconcurrency (void)
 # endif
-# if !defined POSIX
+# if !defined POSIX && !defined UNIX98
 function int pthread_getcpuclockid (pthread_t, clockid_t*)
 # endif
 function int pthread_getschedparam (pthread_t, int*, struct sched_param*)
@@ -120,7 +122,7 @@
 function int pthread_mutex_init (pthread_mutex_t*, const pthread_mutexattr_t*)
 function int pthread_mutex_lock (pthread_mutex_t*)
 optional-function int pthread_mutex_setprioceiling (pthread_mutex_t*, int, int*)
-# if !defined POSIX
+# if !defined POSIX && !defined UNIX98
 function int pthread_mutex_timedlock (pthread_mutex_t*, const struct timespec*)
 # endif
 function int pthread_mutex_trylock (pthread_mutex_t*)
@@ -143,8 +145,12 @@
 # if !defined POSIX
 function int pthread_rwlock_init (pthread_rwlock_t*, const pthread_rwlockattr_t*)
 function int pthread_rwlock_rdlock (pthread_rwlock_t*)
+# endif
+# if !defined POSIX && !defined UNIX98
 function int pthread_rwlock_timedrdlock (pthread_rwlock_t*, const struct timespec*)
 function int pthread_rwlock_timedwrlock (pthread_rwlock_t*, const struct timespec*)
+# endif
+# if !defined POSIX
 function int pthread_rwlock_tryrdlock (pthread_rwlock_t*)
 function int pthread_rwlock_trywrlock (pthread_rwlock_t*)
 function int pthread_rwlock_unlock (pthread_rwlock_t*)
@@ -162,10 +168,10 @@
 # endif
 function int pthread_setschedparam (pthread_t, int, const struct sched_param*)
 function int pthread_setspecific (pthread_key_t, const void*)
-# if !defined POSIX && !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
+# if !defined POSIX && !defined UNIX98 && !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
 function int pthread_sigmask (int, const sigset_t*, sigset_t*)
 # endif
-# if !defined POSIX
+# if !defined POSIX && !defined UNIX98
 function int pthread_spin_destroy (pthread_spinlock_t*)
 function int pthread_spin_init (pthread_spinlock_t*, int)
 function int pthread_spin_lock (pthread_spinlock_t*)

Modified: trunk/libc/conform/data/stdint.h-data
==============================================================================
--- trunk/libc/conform/data/stdint.h-data (original)
+++ trunk/libc/conform/data/stdint.h-data Fri Nov  9 22:50:35 2012
@@ -1,4 +1,5 @@
 #if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+// The requirements for some types and corresponding macros are from POSIX.
 type int8_t
 type int16_t
 type int32_t
@@ -32,71 +33,71 @@
 type intmax_t
 type uintmax_t
 
-constant INT8_MIN == -128
-constant INT8_MAX == 127
-constant INT16_MIN == -32768
-constant INT16_MAX == 32767
-constant INT32_MIN == -2147483647-1
-constant INT32_MAX == 2147483647
-constant INT64_MIN == -9223372036854775807LL-1
-constant INT64_MAX == 9223372036854775807LL
+macro-int-constant INT8_MIN {promoted:int8_t} == -128
+macro-int-constant INT8_MAX {promoted:int8_t} == 127
+macro-int-constant INT16_MIN {promoted:int16_t} == -32768
+macro-int-constant INT16_MAX {promoted:int16_t} == 32767
+macro-int-constant INT32_MIN {promoted:int32_t} == -2147483647-1
+macro-int-constant INT32_MAX {promoted:int32_t} == 2147483647
+macro-int-constant INT64_MIN {promoted:int64_t} == -9223372036854775807LL-1
+macro-int-constant INT64_MAX {promoted:int64_t} == 9223372036854775807LL
 
-constant UINT8_MAX == 255
-constant UINT16_MAX == 65535
-constant UINT32_MAX == 4294967295U
-constant UINT64_MAX == 18446744073709551615ULL
+macro-int-constant UINT8_MAX {promoted:uint8_t} == 255
+macro-int-constant UINT16_MAX {promoted:uint16_t} == 65535
+macro-int-constant UINT32_MAX {promoted:uint32_t} == 4294967295U
+macro-int-constant UINT64_MAX {promoted:uint64_t} == 18446744073709551615ULL
 
-constant INT_LEAST8_MIN <= -128
-constant INT_LEAST8_MAX >= 127
-constant INT_LEAST16_MIN <= -32768
-constant INT_LEAST16_MAX >= 32767
-constant INT_LEAST32_MIN <= -2147483647-1
-constant INT_LEAST32_MAX >= 2147483647
-constant INT_LEAST64_MIN <= -9223372036854775807LL-1
-constant INT_LEAST64_MAX >= 9223372036854775807LL
+macro-int-constant INT_LEAST8_MIN {promoted:int_least8_t} <= -128
+macro-int-constant INT_LEAST8_MAX {promoted:int_least8_t} >= 127
+macro-int-constant INT_LEAST16_MIN {promoted:int_least16_t} <= -32768
+macro-int-constant INT_LEAST16_MAX {promoted:int_least16_t} >= 32767
+macro-int-constant INT_LEAST32_MIN {promoted:int_least32_t} <= -2147483647-1
+macro-int-constant INT_LEAST32_MAX {promoted:int_least32_t} >= 2147483647
+macro-int-constant INT_LEAST64_MIN {promoted:int_least64_t} <= -9223372036854775807LL-1
+macro-int-constant INT_LEAST64_MAX {promoted:int_least64_t} >= 9223372036854775807LL
 
-constant UINT_LEAST8_MAX >= 255
-constant UINT_LEAST16_MAX >= 65535
-constant UINT_LEAST32_MAX >= 4294967295U
-constant UINT_LEAST64_MAX >= 18446744073709551615ULL
+macro-int-constant UINT_LEAST8_MAX {promoted:uint_least8_t} >= 255
+macro-int-constant UINT_LEAST16_MAX {promoted:uint_least16_t} >= 65535
+macro-int-constant UINT_LEAST32_MAX {promoted:uint_least32_t} >= 4294967295U
+macro-int-constant UINT_LEAST64_MAX {promoted:uint_least64_t} >= 18446744073709551615ULL
 
-constant INT_FAST8_MIN <= -128
-constant INT_FAST8_MAX >= 127
-constant INT_FAST16_MIN <= -32768
-constant INT_FAST16_MAX >= 32767
-constant INT_FAST32_MIN <= -2147483647-1
-constant INT_FAST32_MAX >= 2147483647
-constant INT_FAST64_MIN <= -9223372036854775807LL-1
-constant INT_FAST64_MAX >= 9223372036854775807LL
+macro-int-constant INT_FAST8_MIN {promoted:int_fast8_t} <= -128
+macro-int-constant INT_FAST8_MAX {promoted:int_fast8_t} >= 127
+macro-int-constant INT_FAST16_MIN {promoted:int_fast16_t} <= -32768
+macro-int-constant INT_FAST16_MAX {promoted:int_fast16_t} >= 32767
+macro-int-constant INT_FAST32_MIN {promoted:int_fast32_t} <= -2147483647-1
+macro-int-constant INT_FAST32_MAX {promoted:int_fast32_t} >= 2147483647
+macro-int-constant INT_FAST64_MIN {promoted:int_fast64_t} <= -9223372036854775807LL-1
+macro-int-constant INT_FAST64_MAX {promoted:int_fast64_t} >= 9223372036854775807LL
 
-constant UINT_FAST8_MAX >= 255
-constant UINT_FAST16_MAX >= 65535
-constant UINT_FAST32_MAX >= 4294967295U
-constant UINT_FAST64_MAX >= 18446744073709551615ULL
+macro-int-constant UINT_FAST8_MAX {promoted:uint_fast8_t} >= 255
+macro-int-constant UINT_FAST16_MAX {promoted:uint_fast16_t} >= 65535
+macro-int-constant UINT_FAST32_MAX {promoted:uint_fast32_t} >= 4294967295U
+macro-int-constant UINT_FAST64_MAX {promoted:uint_fast64_t} >= 18446744073709551615ULL
 
-constant INTPTR_MIN <= -32768
-constant INTPTR_MAX >= 32767
+macro-int-constant INTPTR_MIN {promoted:intptr_t} <= -32768
+macro-int-constant INTPTR_MAX {promoted:intptr_t} >= 32767
 
-constant UINTPTR_MAX >= 65535
+macro-int-constant UINTPTR_MAX {promoted:uintptr_t} >= 65535
 
-constant INTMAX_MIN <= -9223372036854775807LL-1
-constant INTMAX_MAX >= 9223372036854775807LL
+macro-int-constant INTMAX_MIN {promoted:intmax_t} <= -9223372036854775807LL-1
+macro-int-constant INTMAX_MAX {promoted:intmax_t} >= 9223372036854775807LL
 
-constant UINTMAX_MAX >= 18446744073709551615ULL
+macro-int-constant UINTMAX_MAX {promoted:uintmax_t} >= 18446744073709551615ULL
 
-constant PTRDIFF_MIN <= -65535
-constant PTRDIFF_MAX >= 65535
+macro-int-constant PTRDIFF_MIN {promoted:__PTRDIFF_TYPE__} <= -65535
+macro-int-constant PTRDIFF_MAX {promoted:__PTRDIFF_TYPE__} >= 65535
 
-constant SIG_ATOMIC_MIN <= -127
-constant SIG_ATOMIC_MAX >= 127
+macro-int-constant SIG_ATOMIC_MIN {promoted:__SIG_ATOMIC_TYPE__}
+macro-int-constant SIG_ATOMIC_MAX {promoted:__SIG_ATOMIC_TYPE__} >= 127
 
-constant SIZE_MAX >= 65535
+macro-int-constant SIZE_MAX {promoted:__SIZE_TYPE__} >= 65535
 
-constant WCHAR_MIN <= -127
-constant WCHAR_MAX >= 127
+macro-int-constant WCHAR_MIN {promoted:__WCHAR_TYPE__}
+macro-int-constant WCHAR_MAX {promoted:__WCHAR_TYPE__} >= 127
 
-constant WINT_MIN <= -127
-constant WINT_MAX >= 127
+macro-int-constant WINT_MIN {promoted:__WINT_TYPE__}
+macro-int-constant WINT_MAX {promoted:__WINT_TYPE__} >= 127
 
 macro INT8_C
 macro INT16_C
@@ -110,7 +111,9 @@
 macro UINTMAX_C
 
 // The following expressions are not entirely correct but the current
-// fnamtch implementation doesn't grok the right form.
+// poorfnmatch implementation doesn't grok the right forms (INT*_MAX,
+// INT*_MIN, INT*_C, UINT*_MAX, UINT*_MIN, UINT*_C, int*_t, uint*_t).
 allow INT*
 allow UINT*
+allow *_t
 #endif

Modified: trunk/libc/conform/data/stdlib.h-data
==============================================================================
--- trunk/libc/conform/data/stdlib.h-data (original)
+++ trunk/libc/conform/data/stdlib.h-data Fri Nov  9 22:50:35 2012
@@ -138,7 +138,7 @@
 function {char*} realpath (const char*, char*)
 function {unsigned short int*} seed48 (unsigned short int[3])
 #endif
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
 function int setenv (const char*, const char*, int)
 #endif
 #if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
@@ -168,7 +168,7 @@
 #if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
 function int unlockpt (int)
 #endif
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
 function int unsetenv (const char*)
 #endif
 #if defined XPG3 || defined XPG4 || defined UNIX98

Modified: trunk/libc/conform/data/sys/mman.h-data
==============================================================================
--- trunk/libc/conform/data/sys/mman.h-data (original)
+++ trunk/libc/conform/data/sys/mman.h-data Fri Nov  9 22:50:35 2012
@@ -17,24 +17,30 @@
 
 constant MAP_FAILED
 
-#ifndef POSIX
+# if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
 constant POSIX_MADV_NORMAL
 constant POSIX_MADV_SEQUENTIAL
 constant POSIX_MADV_RANDOM
 constant POSIX_MADV_WILLNEED
 constant POSIX_MADV_DONTNEED
-#endif
 
 optional-constant POSIX_TYPED_MEM_ALLOCATE
 optional-constant POSIX_TYPED_MEM_ALLOCATE_CONTIG
 optional-constant POSIX_TYPED_MEM_MAP_ALLOCATABLE
 
-type size_t
-type off_t
 type mode_t
 
 optional-type {struct posix_typedmem_info}
 optional-element {struct posix_typedmem_info} size_t posix_tmi_length
+
+function int posix_madvise (void*, size_t, int)
+optional-function int posix_mem_offset (const void*, size_t, off_t*, size_t*, int*)
+optional-function int posix_typed_mem_get_info (int, struct posix_typed_mem_info*)
+optional-function int posix_typed_mem_open (const char*, int, int)
+# endif
+
+type size_t
+type off_t
 
 function int mlock (const void*, size_t)
 function int mlockall (int)
@@ -44,12 +50,6 @@
 function int munlock (const void*, size_t)
 function int munlockall (void)
 function int munmap (void*, size_t)
-#ifndef POSIX
-function int posix_madvise (void*, size_t, int)
-#endif
-optional-function int posix_mem_offset (const void*, size_t, off_t*, size_t*, int*)
-optional-function int posix_typed_mem_get_info (int, struct posix_typed_mem_info*)
-optional-function int posix_typed_mem_open (const char*, int, int)
 function int shm_open (const char*, int, mode_t)
 function int shm_unlink (const char*)
 

Modified: trunk/libc/conform/data/sys/stat.h-data
==============================================================================
--- trunk/libc/conform/data/sys/stat.h-data (original)
+++ trunk/libc/conform/data/sys/stat.h-data Fri Nov  9 22:50:35 2012
@@ -122,6 +122,8 @@
 # endif
 # if !defined POSIX && !defined POSIX2008
 function int mknod (const char*, mode_t, dev_t)
+# endif
+# ifdef XOPEN2K8
 function int mknodat (int, const char*, mode_t, dev_t)
 # endif
 function int stat (const char*, struct stat*)

Modified: trunk/libc/conform/data/sys/types.h-data
==============================================================================
--- trunk/libc/conform/data/sys/types.h-data (original)
+++ trunk/libc/conform/data/sys/types.h-data Fri Nov  9 22:50:35 2012
@@ -22,8 +22,9 @@
 type nlink_t
 type off_t
 type pid_t
+#if !defined XPG3 && !defined XPG4
 type pthread_attr_t
-#if !defined POSIX
+#if !defined POSIX && !defined UNIX98
 type pthread_barrier_t
 type pthread_barrierattr_t
 #endif
@@ -36,9 +37,12 @@
 #if !defined POSIX
 type pthread_rwlock_t
 type pthread_rwlockattr_t
+#endif
+#if !defined POSIX && !defined UNIX98
 type pthread_spinlock_t
 #endif
 type pthread_t
+#endif
 type size_t
 type ssize_t
 # if !defined POSIX && !defined POSIX2008

Modified: trunk/libc/conform/data/tgmath.h-data
==============================================================================
--- trunk/libc/conform/data/tgmath.h-data (original)
+++ trunk/libc/conform/data/tgmath.h-data Fri Nov  9 22:50:35 2012
@@ -1,364 +1,7 @@
-#if defined XOPEN2K || defined POSIX2008
-// <math.h>
-macro fpclassify
-macro isfinite
-macro isinf
-macro isnan
-macro isnormal
-macro signbit
-macro isgreater
-macro isgreaterequal
-macro isless
-macro islessequal
-macro islessgreater
-macro isunordered
+#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+#include "math.h-data"
+#include "complex.h-data"
 
-#ifndef POSIX2008
-constant M_E
-constant M_LOG2E
-constant M_LOG10E
-constant M_LN2
-constant M_LN10
-constant M_PI
-constant M_PI_2
-constant M_PI_4
-constant M_1_PI
-constant M_2_PI
-constant M_2_SQRTPI
-constant M_SQRT2
-constant M_SQRT1_2
-
-constant MAXFLOAT
-#endif
-constant HUGE_VAL
-constant HUGE_VALF
-constant HUGE_VALL
-constant INFINITY
-constant NAN
-
-macro FP_INFINITE
-macro FP_NAN
-macro FP_NORMAL
-macro FP_SUBNORMAL
-macro FP_ZERO
-
-optional-macro FP_FAST_FMA
-optional-macro FP_FAST_FMAF
-optional-macro FP_FAST_FMAL
-
-constant FP_ILOGB0
-constant FP_ILOGBNAN
-
-macro MATH_ERRNO == 1
-macro MATH_ERREXCEPT == 2
-
-macro math_errhandling
-
-function double acos (double)
-function double asin (double)
-function double atan (double)
-function double atan2 (double, double)
-function double ceil (double)
-function double copysign (double, double)
-function double cos (double)
-function double cosh (double)
-function double exp (double)
-function double exp2 (double)
-function double fabs (double)
-function double floor (double)
-function double fmod (double, double)
-function double frexp (double, int*)
-function double ldexp (double, int)
-function double log (double)
-function double log10 (double)
-function double log2 (double)
-function double modf (double, double*)
-function double pow (double, double)
-function double sin (double)
-function double sinh (double)
-function double sqrt (double)
-function double tan (double)
-function double tanh (double)
-function double erf (double)
-function double erfc (double)
-#if defined XPG3 || defined XPG4 || defined UNIX98
-function double gamma (double)
-#endif
-function double hypot (double, double)
-#if !defined POSIX && !defined POSIX2008
-function double j0 (double)
-function double j1 (double)
-function double jn (int, double)
-#endif
-function double lgamma (double)
-function double tgamma (double)
-#if !defined POSIX && !defined POSIX2008
-function double y0 (double)
-function double y1 (double)
-function double yn (int, double)
-#endif
-function double acosh (double)
-function double asinh (double)
-function double atanh (double)
-function double cbrt (double)
-function double expm1 (double)
-function int ilogb (double)
-function double log1p (double)
-function double logb (double)
-function double nextafter (double, double)
-function double nexttoward (double, long double)
-function double nearbyint (double)
-function double remainder (double, double)
-function double rint (double)
-function double round (double)
-function double trunc (double)
-function long lrint (double)
-function {long long} llrint (double)
-function long lround (double)
-function {long long} llround (double)
-function double remquo (double, double, int*)
-#if defined XPG3 && defined XPG4 && defined UNIX98 && defined XOPEN2K
-function double scalb (double, double)
-#endif
-function double scalbn (double, int)
-function double scalbln (double, long)
-function double fdim (double, double)
-function double fmax (double, double)
-function double fmin (double, double)
-function double fma (double, double, double)
-function double nan (const char*)
-
-// variable signgam
-allow signgam
-
-function float acosf (float)
-function float asinf (float)
-function float atanf (float)
-function float atan2f (float, float)
-function float ceilf (float)
-function float copysignf (float, float)
-function float cosf (float)
-function float coshf (float)
-function float expf (float)
-function float exp2f (float)
-function float fabsf (float)
-function float floorf (float)
-function float fmodf (float, float)
-function float frexpf (float, int*)
-function float ldexpf (float, int)
-function float logf (float)
-function float log10f (float)
-function float log2f (float)
-function float modff (float, float*)
-function float powf (float, float)
-function float sinf (float)
-function float sinhf (float)
-function float sqrtf (float)
-function float tanf (float)
-function float tanhf (float)
-function float erff (float)
-function float erfcf (float)
-#if defined XPG3 || defined XPG4 || defined UNIX98
-function float gammaf (float)
-#endif
-function float hypotf (float, float)
-#if !defined POSIX && !defined POSIX2008
-function float j0f (float)
-function float j1f (float)
-function float jnf (int, float)
-#endif
-function float lgammaf (float)
-function float tgammaf (float)
-#if !defined POSIX && !defined POSIX2008
-function float y0f (float)
-function float y1f (float)
-function float ynf (int, float)
-#endif
-function float acoshf (float)
-function float asinhf (float)
-function float atanhf (float)
-function float cbrtf (float)
-function float expm1f (float)
-function int ilogbf (float)
-function float log1pf (float)
-function float logbf (float)
-function float nextafterf (float, float)
-function float nexttowardf (float, long double)
-function float nearbyintf (float)
-function float remainderf (float, float)
-function float rintf (float)
-function float roundf (float)
-function float truncf (float)
-function long lrintf (float)
-function {long long} llrintf (float)
-function long lroundf (float)
-function {long long} llroundf (float)
-function float remquof (float, float, int*)
-#if defined XPG3 && defined XPG4 && defined UNIX98 && defined XOPEN2K
-function float scalbf (float, float)
-#endif
-function float scalbnf (float, int)
-function float scalblnf (float, long)
-function float fdimf (float, float)
-function float fmaxf (float, float)
-function float fminf (float, float)
-function float fmaf (float, float, float)
-function float nanf (const char*)
-
-function {long double} acosl (long double)
-function {long double} asinl (long double)
-function {long double} atanl (long double)
-function {long double} atan2l (long double, long double)
-function {long double} ceill (long double)
-function {long double} copysignl (long double, long double)
-function {long double} cosl (long double)
-function {long double} coshl (long double)
-function {long double} expl (long double)
-function {long double} exp2l (long double)
-function {long double} fabsl (long double)
-function {long double} floorl (long double)
-function {long double} fmodl (long double, long double)
-function {long double} frexpl (long double, int*)
-function {long double} ldexpl (long double, int)
-function {long double} logl (long double)
-function {long double} log10l (long double)
-function {long double} log2l (long double)
-function {long double} modfl (long double, long double*)
-function {long double} powl (long double, long double)
-function {long double} sinl (long double)
-function {long double} sinhl (long double)
-function {long double} sqrtl (long double)
-function {long double} tanl (long double)
-function {long double} tanhl (long double)
-function {long double} erfl (long double)
-function {long double} erfcl (long double)
-#if defined XPG3 || defined XPG4 || defined UNIX98
-function {long double} gammal (long double)
-#endif
-function {long double} hypotl (long double, long double)
-#if !defined POSIX && !defined POSIX2008
-function {long double} j0l (long double)
-function {long double} j1l (long double)
-function {long double} jnl (int, long double)
-#endif
-function {long double} lgammal (long double)
-function {long double} tgammal (long double)
-#if !defined POSIX && !defined POSIX2008
-function {long double} y0l (long double)
-function {long double} y1l (long double)
-function {long double} ynl (int, long double)
-#endif
-function {long double} acoshl (long double)
-function {long double} asinhl (long double)
-function {long double} atanhl (long double)
-function {long double} cbrtl (long double)
-function {long double} expm1l (long double)
-function int ilogbl (long double)
-function {long double} log1pl (long double)
-function {long double} logbl (long double)
-function {long double} nextafterl (long double, long double)
-function {long double} nexttowardl (long double, long double)
-function {long double} nearbyintl (long double)
-function {long double} remainderl (long double, long double)
-function {long double} rintl (long double)
-function {long double} roundl (long double)
-function {long double} truncl (long double)
-function long lrintl (long double)
-function {long long} llrintl (long double)
-function long lroundl (long double)
-function {long long} llroundl (long double)
-function {long double} remquol (long double, long double, int*)
-#if defined XPG3 && defined XPG4 && defined UNIX98 && defined XOPEN2K
-function {long double} scalbl (long double, long double)
-#endif
-function {long double} scalbnl (long double, int)
-function {long double} scalblnl (long double, long)
-function {long double} fdiml (long double, long double)
-function {long double} fmaxl (long double, long double)
-function {long double} fminl (long double, long double)
-function {long double} fmal (long double, long double, long double)
-function {long double} nanl (const char*)
-
-allow *_t
-allow FP_*
-
-// <complex.h>
-macro complex
-macro _Complex_I
-optional-macro imaginary
-optional-macro _Imaginary_I
-macro I
-
-function double cabs (double complex)
-function {double complex} cacos (double complex)
-function {double complex} cacosh (double complex)
-function double carg (double complex)
-function {double complex} casin (double complex)
-function {double complex} casinh (double complex)
-function {double complex} catan (double complex)
-function {double complex} catanh (double complex)
-function {double complex} ccos (double complex)
-function {double complex} ccosh (double complex)
-function {double complex} cexp (double complex)
-function double cimag (double complex)
-function {double complex} clog (double complex)
-function {double complex} conj (double complex)
-function {double complex} cpow (double complex, double complex)
-function {double complex} cproj (double complex)
-function double creal (double complex)
-function {double complex} csin (double complex)
-function {double complex} csinh (double complex)
-function {double complex} csqrt (double complex)
-function {double complex} ctan (double complex)
-function {double complex} ctanh (double complex)
-
-function float cabsf (float complex)
-function {float complex} cacosf (float complex)
-function {float complex} cacoshf (float complex)
-function float cargf (float complex)
-function {float complex} casinf (float complex)
-function {float complex} casinhf (float complex)
-function {float complex} catanf (float complex)
-function {float complex} catanhf (float complex)
-function {float complex} ccosf (float complex)
-function {float complex} ccoshf (float complex)
-function {float complex} cexpf (float complex)
-function float cimagf (float complex)
-function {float complex} clogf (float complex)
-function {float complex} conjf (float complex)
-function {float complex} cpowf (float complex, float complex)
-function {float complex} cprojf (float complex)
-function float crealf (float complex)
-function {float complex} csinf (float complex)
-function {float complex} csinhf (float complex)
-function {float complex} csqrtf (float complex)
-function {float complex} ctanf (float complex)
-function {float complex} ctanhf (float complex)
-
-function {long double} cabsl (long double complex)
-function {long double complex} cacosl (long double complex)
-function {long double complex} cacoshl (long double complex)
-function {long double} cargl (long double complex)
-function {long double complex} casinhl (long double complex)
-function {long double complex} casinl (long double complex)
-function {long double complex} catanhl (long double complex)
-function {long double complex} catanl (long double complex)
-function {long double complex} ccoshl (long double complex)
-function {long double complex} ccosl (long double complex)
-function {long double complex} cexpl (long double complex)
-function {long double} cimagl (long double complex)
-function {long double complex} clogl (long double complex)
-function {long double complex} conjl (long double complex)
-function {long double complex} cpowl (long double complex, long double complex)
-function {long double complex} cprojl (long double complex)
-function {long double} creall (long double complex)
-function {long double complex} csinhl (long double complex)
-function {long double complex} csinl (long double complex)
-function {long double complex} csqrtl (long double complex)
-function {long double complex} ctanhl (long double complex)
-function {long double complex} ctanl (long double complex)
-
-// <tgmath.h>
 macro acos
 macro asin
 macro atan

Modified: trunk/libc/conform/data/time.h-data
==============================================================================
--- trunk/libc/conform/data/time.h-data (original)
+++ trunk/libc/conform/data/time.h-data Fri Nov  9 22:50:35 2012
@@ -42,7 +42,7 @@
 #endif
 
 #if !defined ISO && !defined ISO99 && !defined ISO11
-# if !defined XOPEN21K && !defined XOPEN2K8 && !defined POSIX2008
+# if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
 symbol CLK_TCK
 # endif
 constant CLOCK_PROCESS_CPUTIME_ID

Modified: trunk/libc/conform/data/uchar.h-data
==============================================================================
--- trunk/libc/conform/data/uchar.h-data (original)
+++ trunk/libc/conform/data/uchar.h-data Fri Nov  9 22:50:35 2012
@@ -5,7 +5,7 @@
 type char32_t
 
 function size_t mbrtoc16 (char16_t *, const char *, size_t, mbstate_t *)
-function size_t c16rtomb (char *, char16_t, mbstate_t *)16
+function size_t c16rtomb (char *, char16_t, mbstate_t *)
 function size_t mbrtoc32 (char32_t *, const char *, size_t, mbstate_t *)
 function size_t c32rtomb (char *, char32_t, mbstate_t *)
 

Modified: trunk/libc/conform/data/wchar.h-data
==============================================================================
--- trunk/libc/conform/data/wchar.h-data (original)
+++ trunk/libc/conform/data/wchar.h-data Fri Nov  9 22:50:35 2012
@@ -14,6 +14,7 @@
 # if defined XOPEN2K8 || defined POSIX2008
 type locale_t
 # endif
+tag {struct tm}
 
 function wint_t btowc (int)
 function int fwprintf (FILE*, const wchar_t*, ...)
@@ -104,9 +105,19 @@
 function size_t wcsspn (const wchar_t*, const wchar_t*)
 function {wchar_t*} wcsstr (const wchar_t*, const wchar_t*)
 function double wcstod (const wchar_t*, wchar_t**)
+# ifndef UNIX98
+function float wcstof (const wchar_t*, wchar_t**)
+function {long double} wcstold (const wchar_t*, wchar_t**)
+# endif
 function {wchar_t*} wcstok (wchar_t*, const wchar_t*, wchar_t**)
 function {long int} wcstol (const wchar_t*, wchar_t**, int)
+# ifndef UNIX98
+function {long long int} wcstoll (const wchar_t*, wchar_t**, int)
+# endif
 function {unsigned long int} wcstoul (const wchar_t*, wchar_t**, int)
+# ifndef UNIX98
+function {unsigned long long int} wcstoull (const wchar_t*, wchar_t**, int)
+# endif
 # if defined UNIX98 || defined XOPEN2K
 function {wchar_t*} wcswcs (const wchar_t*, const wchar_t*)
 # endif
@@ -130,11 +141,12 @@
 function int wprintf (const wchar_t*, ...)
 function int wscanf (const wchar_t*, ...)
 
-macro WCHAR_MAX
-macro WCHAR_MIN
-macro WEOF
-macro NULL
+macro-int-constant WCHAR_MIN {promoted:wchar_t}
+macro-int-constant WCHAR_MAX {promoted:wchar_t} >= 127
+macro-constant WEOF {wint_t}
+macro-constant NULL == 0
 
+#if !defined ISO && !defined ISO99 && !defined ISO11
 allow-header ctype.h
 allow-header stdio.h
 allow-header stdarg.h
@@ -142,7 +154,10 @@
 allow-header string.h
 allow-header stddef.h
 allow-header time.h
+#endif
 
-allow wcs*
+allow wcs[abcdefghijklmnopqrstuvwxyz]*
+#if !defined ISO && !defined ISO99 && !defined ISO11
 allow *_t
 #endif
+#endif

Modified: trunk/libc/conform/data/wctype.h-data
==============================================================================
--- trunk/libc/conform/data/wctype.h-data (original)
+++ trunk/libc/conform/data/wctype.h-data Fri Nov  9 22:50:35 2012
@@ -8,6 +8,9 @@
 
 function int iswalnum (wint_t)
 function int iswalpha (wint_t)
+# ifndef UNIX98
+function int iswblank (wint_t)
+# endif
 function int iswcntrl (wint_t)
 function int iswdigit (wint_t)
 function int iswgraph (wint_t)
@@ -26,6 +29,7 @@
 # if defined XOPEN2K8 || defined POSIX2008
 function int iswalnum_l (wint_t, locale_t)
 function int iswalpha_l (wint_t, locale_t)
+function int iswblank_l (wint_t, locale_t)
 function int iswcntrl_l (wint_t, locale_t)
 function int iswdigit_l (wint_t, locale_t)
 function int iswgraph_l (wint_t, locale_t)
@@ -43,8 +47,9 @@
 function wctype_t wctype_l (const char*, locale_t)
 # endif
 
-macro WEOF
+macro-constant WEOF {wint_t}
 
+#if !defined ISO && !defined ISO99 && !defined ISO11
 allow-header ctype.h
 allow-header stdio.h
 allow-header stdarg.h
@@ -53,8 +58,11 @@
 allow-header stddef.h
 allow-header time.h
 allow-header wchar.h
+#endif
 
-allow is*
-allow to*
+allow is[abcdefghijklmnopqrstuvwxyz]*
+allow to[abcdefghijklmnopqrstuvwxyz]*
+#if !defined ISO && !defined ISO99 && !defined ISO11
 allow *_t
 #endif
+#endif

Modified: trunk/libc/debug/catchsegv.sh
==============================================================================
--- trunk/libc/debug/catchsegv.sh (original)
+++ trunk/libc/debug/catchsegv.sh Fri Nov  9 22:50:35 2012
@@ -33,8 +33,10 @@
       echo 'Usage: catchsegv PROGRAM ARGS...'
       echo '  --help      print this help, then exit'
       echo '  --version   print version number, then exit'
-      echo "For bug reporting instructions, please see:"
-      echo "@REPORT_BUGS_TO@."
+      echo 'For bug reporting instructions, please see:'
+      cat <<\EOF
+@REPORT_BUGS_TO@.
+EOF
       exit 0
       ;;
     --v | --ve | --ver | --vers | --versi | --versio | --version)

Modified: trunk/libc/debug/pcprofiledump.c
==============================================================================
--- trunk/libc/debug/pcprofiledump.c (original)
+++ trunk/libc/debug/pcprofiledump.c Fri Nov  9 22:50:35 2012
@@ -1,5 +1,5 @@
 /* Dump information generated by PC profiling.
-   Copyright (C) 1999, 2002, 2007, 2009 Free Software Foundation, Inc.
+   Copyright (C) 1999-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1999.
 

Modified: trunk/libc/debug/xtrace.sh
==============================================================================
--- trunk/libc/debug/xtrace.sh (original)
+++ trunk/libc/debug/xtrace.sh Fri Nov  9 22:50:35 2012
@@ -54,9 +54,8 @@
 short options.
 
 "
-  printf $"For bug reporting instructions, please see:
-%s.
-" "@REPORT_BUGS_TO@"
+  printf $"For bug reporting instructions, please see:\\n%s.\\n" \
+    "@REPORT_BUGS_TO@"
   exit 0
 }
 

Modified: trunk/libc/elf/Makefile
==============================================================================
--- trunk/libc/elf/Makefile (original)
+++ trunk/libc/elf/Makefile Fri Nov  9 22:50:35 2012
@@ -109,8 +109,8 @@
 	    -e 's%@VERSION@%$(version)%g' \
 	    -e 's%@TEXTDOMAINDIR@%$(msgcatdir)%g' \
 	    -e 's%@PREFIX@%$(prefix)%g' \
-	    -e 's%@PKGVERSION@%$(PKGVERSION)%g' \
-	    -e 's%@REPORT_BUGS_TO@%$(REPORT_BUGS_TO)%g' \
+	    -e 's|@PKGVERSION@|$(PKGVERSION)|g' \
+	    -e 's|@REPORT_BUGS_TO@|$(REPORT_BUGS_TO)|g' \
 	    < $< > $@.new
 	chmod 555 $@.new
 	mv -f $@.new $@
@@ -385,8 +385,8 @@
 
 common-ldd-rewrite = -e 's%@RTLD@%$(slibdir)/$(rtld-installed-name)%g' \
 		     -e 's%@VERSION@%$(version)%g' \
-		     -e 's%@PKGVERSION@%$(PKGVERSION)%g' \
-		     -e 's%@REPORT_BUGS_TO@%$(REPORT_BUGS_TO)%g'
+		     -e 's|@PKGVERSION@|$(PKGVERSION)|g' \
+		     -e 's|@REPORT_BUGS_TO@|$(REPORT_BUGS_TO)|g'
 sh-ldd-rewrite = $(common-ldd-rewrite) -e 's%@BASH@%/bin/sh%g;s/\$$"/"/g'
 bash-ldd-rewrite = $(common-ldd-rewrite) -e 's%@BASH@%$(BASH)%g' \
 		   -e 's%@TEXTDOMAINDIR@%$(msgcatdir)%g'

Modified: trunk/libc/elf/elf.h
==============================================================================
--- trunk/libc/elf/elf.h (original)
+++ trunk/libc/elf/elf.h Fri Nov  9 22:50:35 2012
@@ -249,6 +249,7 @@
 #define EM_OPENRISC	92		/* OpenRISC 32-bit embedded processor */
 #define EM_ARC_A5	93		/* ARC Cores Tangent-A5 */
 #define EM_XTENSA	94		/* Tensilica Xtensa Architecture */
+#define EM_AARCH64	183		/* ARM AARCH64 */
 #define EM_TILEPRO	188		/* Tilera TILEPro */
 #define EM_TILEGX	191		/* Tilera TILE-Gx */
 #define EM_NUM		192
@@ -631,6 +632,9 @@
 #define NT_S390_LAST_BREAK	0x306	/* s390 breaking event address */
 #define NT_S390_SYSTEM_CALL	0x307	/* s390 system call restart data */
 #define NT_ARM_VFP	0x400		/* ARM VFP/NEON registers */
+#define NT_ARM_TLS	0x401		/* ARM TLS register */
+#define NT_ARM_HW_BREAK	0x402		/* ARM hardware breakpoint registers */
+#define NT_ARM_HW_WATCH	0x403		/* ARM hardware watchpoint registers */
 
 /* Legal values for the note segment descriptor types for object files.  */
 
@@ -2305,6 +2309,20 @@
 #define SHT_ARM_PREEMPTMAP	(SHT_LOPROC + 2) /* Preemption details.  */
 #define SHT_ARM_ATTRIBUTES	(SHT_LOPROC + 3) /* ARM attributes section.  */
 
+
+/* AArch64 relocs.  */
+
+#define R_AARCH64_NONE            0	/* No relocation.  */
+#define R_AARCH64_ABS64         257	/* Direct 64 bit. */
+#define R_AARCH64_ABS32         258	/* Direct 32 bit.  */
+#define R_AARCH64_COPY         1024	/* Copy symbol at runtime.  */
+#define R_AARCH64_GLOB_DAT     1025	/* Create GOT entry.  */
+#define R_AARCH64_JUMP_SLOT    1026	/* Create PLT entry.  */
+#define R_AARCH64_RELATIVE     1027	/* Adjust by program base.  */
+#define R_AARCH64_TLS_DTPMOD64 1028	/* Module number, 64 bit.  */
+#define R_AARCH64_TLS_DTPREL64 1029	/* Module-relative offset, 64 bit.  */
+#define R_AARCH64_TLS_TPREL64  1030	/* TP-relative offset, 64 bit.  */
+#define R_AARCH64_TLSDESC      1031	/* TLS Descriptor.  */
 
 /* ARM relocs.  */
 

Modified: trunk/libc/elf/ldd.bash.in
==============================================================================
--- trunk/libc/elf/ldd.bash.in (original)
+++ trunk/libc/elf/ldd.bash.in Fri Nov  9 22:50:35 2012
@@ -52,9 +52,8 @@
   -u, --unused            print unused direct dependencies
   -v, --verbose           print all information
 "
-    printf $"For bug reporting instructions, please see:
-%s.
-" "@REPORT_BUGS_TO@"
+    printf $"For bug reporting instructions, please see:\\n%s.\\n" \
+      "@REPORT_BUGS_TO@"
     exit 0
     ;;
   -d | --d | --da | --dat | --data | --data- | --data-r | --data-re | \

Modified: trunk/libc/elf/pldd.c
==============================================================================
--- trunk/libc/elf/pldd.c (original)
+++ trunk/libc/elf/pldd.c Fri Nov  9 22:50:35 2012
@@ -52,10 +52,8 @@
 static void print_version (FILE *stream, struct argp_state *state);
 void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version;
 
-/* Bug report address.  */
-const char *argp_program_bug_address = N_("\
-For bug reporting instructions, please see:\n\
-" REPORT_BUGS_TO ".\n");
+/* Function to print some extra text in the help message.  */
+static char *more_help (int key, const char *text, void *input);
 
 /* Definitions of arguments for argp functions.  */
 static const struct argp_option options[] =
@@ -76,7 +74,7 @@
 /* Data structure to communicate with argp functions.  */
 static struct argp argp =
 {
-  options, parse_opt, args_doc, doc, NULL, NULL, NULL
+  options, parse_opt, args_doc, doc, NULL, more_help, NULL
 };
 
 // File descriptor of /proc/*/mem file.
@@ -212,6 +210,26 @@
 }
 
 
+/* Print bug-reporting information in the help message.  */
+static char *
+more_help (int key, const char *text, void *input)
+{
+  char *tp = NULL;
+  switch (key)
+    {
+    case ARGP_KEY_HELP_EXTRA:
+      /* We print some extra information.  */
+      if (asprintf (&tp, gettext ("\
+For bug reporting instructions, please see:\n\
+%s.\n"), REPORT_BUGS_TO) < 0)
+	return NULL;
+      return tp;
+    default:
+      break;
+    }
+  return (char *) text;
+}
+
 /* Print the version information.  */
 static void
 print_version (FILE *stream, struct argp_state *state)

Modified: trunk/libc/elf/sotruss.ksh
==============================================================================
--- trunk/libc/elf/sotruss.ksh (original)
+++ trunk/libc/elf/sotruss.ksh Fri Nov  9 22:50:35 2012
@@ -46,9 +46,8 @@
   printf $"Mandatory arguments to long options are also mandatory for any corresponding\nshort options.\n"
   echo
 
-  printf $"For bug reporting instructions, please see:
-@REPORT_BUGS_TO@.
-"
+  printf $"For bug reporting instructions, please see:\\n%s.\\n" \
+    "@REPORT_BUGS_TO@"
   exit 0
 }
 

Modified: trunk/libc/locale/programs/localedef.c
==============================================================================
--- trunk/libc/locale/programs/localedef.c (original)
+++ trunk/libc/locale/programs/localedef.c Fri Nov  9 22:50:35 2012
@@ -373,20 +373,26 @@
 more_help (int key, const char *text, void *input)
 {
   char *cp;
+  char *tp;
 
   switch (key)
     {
     case ARGP_KEY_HELP_EXTRA:
       /* We print some extra information.  */
+      if (asprintf (&tp, gettext ("\
+For bug reporting instructions, please see:\n\
+%s.\n"), REPORT_BUGS_TO) < 0)
+	return NULL;
       if (asprintf (&cp, gettext ("\
 System's directory for character maps : %s\n\
 		       repertoire maps: %s\n\
 		       locale path    : %s\n\
 %s"),
-		    CHARMAP_PATH, REPERTOIREMAP_PATH, LOCALE_PATH, gettext ("\
-For bug reporting instructions, please see:\n\
-"REPORT_BUGS_TO".\n")) < 0)
-	return NULL;
+		    CHARMAP_PATH, REPERTOIREMAP_PATH, LOCALE_PATH, tp) < 0)
+	{
+	  free (tp);
+	  return NULL;
+	}
       return cp;
     default:
       break;

Modified: trunk/libc/localedata/ChangeLog
==============================================================================
--- trunk/libc/localedata/ChangeLog (original)
+++ trunk/libc/localedata/ChangeLog Fri Nov  9 22:50:35 2012
@@ -1,3 +1,12 @@
+2012-11-07  Dmitry V. Levin  <ldv@xxxxxxxxxxxx>
+
+	[BZ#14807]
+	* locales/ru_RU (abmon): Change back from genitive to nominative,
+	apply fixed three-letter abbreviation form, remove trailing dots.
+
+	[BZ#10873]
+	* locales/ru_RU (abday): Remove trailing dots.
+
 2012-11-02  Marko Myllynen  <myllynen@xxxxxxxxxx>
 
 	[BZ #14669]

Modified: trunk/libc/localedata/locales/ru_RU
==============================================================================
--- trunk/libc/localedata/locales/ru_RU (original)
+++ trunk/libc/localedata/locales/ru_RU Fri Nov  9 22:50:35 2012
@@ -109,13 +109,13 @@
         "<U0427><U0435><U0442><U0432><U0435><U0440><U0433>";/
         "<U041F><U044F><U0442><U043D><U0438><U0446><U0430>";/
         "<U0421><U0443><U0431><U0431><U043E><U0442><U0430>"
-abday   "<U0412><U0441>.";/
-        "<U041F><U043D>.";/
-        "<U0412><U0442>.";/
-        "<U0421><U0440>.";/
-        "<U0427><U0442>.";/
-        "<U041F><U0442>.";/
-        "<U0421><U0431>."
+abday   "<U0412><U0441>";/
+        "<U041F><U043D>";/
+        "<U0412><U0442>";/
+        "<U0421><U0440>";/
+        "<U0427><U0442>";/
+        "<U041F><U0442>";/
+        "<U0421><U0431>"
 mon     "<U042F><U043D><U0432><U0430><U0440><U044C>";/
         "<U0424><U0435><U0432><U0440><U0430><U043B><U044C>";/
         "<U041C><U0430><U0440><U0442>";/
@@ -128,18 +128,18 @@
         "<U041E><U043A><U0442><U044F><U0431><U0440><U044C>";/
         "<U041D><U043E><U044F><U0431><U0440><U044C>";/
         "<U0414><U0435><U043A><U0430><U0431><U0440><U044C>"
-abmon   "<U044F><U043D><U0432>.";/
-        "<U0444><U0435><U0432><U0440>.";/
-        "<U043C><U0430><U0440><U0442><U0430>";/
-        "<U0430><U043F><U0440>.";/
-        "<U043C><U0430><U044F>";/
-        "<U0438><U044E><U043D><U044F>";/
-        "<U0438><U044E><U043B><U044F>";/
-        "<U0430><U0432><U0433>.";/
-        "<U0441><U0435><U043D><U0442>.";/
-        "<U043E><U043A><U0442>.";/
-        "<U043D><U043E><U044F><U0431>.";/
-        "<U0434><U0435><U043A>."
+abmon   "<U044F><U043D><U0432>";/
+        "<U0444><U0435><U0432>";/
+        "<U043C><U0430><U0440>";/
+        "<U0430><U043F><U0440>";/
+        "<U043C><U0430><U0439>";/
+        "<U0438><U044E><U043D>";/
+        "<U0438><U044E><U043B>";/
+        "<U0430><U0432><U0433>";/
+        "<U0441><U0435><U043D>";/
+        "<U043E><U043A><U0442>";/
+        "<U043D><U043E><U044F>";/
+        "<U0434><U0435><U043A>"
 d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062>/
 <U0020><U0025><U0059><U0020><U0025><U0054>"
 d_fmt     "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0059>"

Modified: trunk/libc/login/programs/pt_chown.c
==============================================================================
--- trunk/libc/login/programs/pt_chown.c (original)
+++ trunk/libc/login/programs/pt_chown.c Fri Nov  9 22:50:35 2012
@@ -70,6 +70,7 @@
 more_help (int key, const char *text, void *input)
 {
   char *cp;
+  char *tp;
 
   switch (key)
     {
@@ -84,13 +85,19 @@
       return cp;
     case ARGP_KEY_HELP_EXTRA:
       /* We print some extra information.  */
-      asprintf (&cp, gettext ("\
+      if (asprintf (&tp, gettext ("\
+For bug reporting instructions, please see:\n\
+%s.\n"), REPORT_BUGS_TO) < 0)
+	return NULL;
+      if (asprintf (&cp, gettext ("\
 The owner is set to the current user, the group is set to `%s',\
  and the access permission is set to `%o'.\n\n\
 %s"),
-		TTY_GROUP, S_IRUSR|S_IWUSR|S_IWGRP, gettext ("\
-For bug reporting instructions, please see:\n\
-"REPORT_BUGS_TO".\n"));
+		    TTY_GROUP, S_IRUSR|S_IWUSR|S_IWGRP, tp) < 0)
+	{
+	  free (tp);
+	  return NULL;
+	}
       return cp;
     default:
       break;

Modified: trunk/libc/malloc/memusage.sh
==============================================================================
--- trunk/libc/malloc/memusage.sh (original)
+++ trunk/libc/malloc/memusage.sh Fri Nov  9 22:50:35 2012
@@ -61,9 +61,8 @@
 short options.
 
 "
-  printf $"For bug reporting instructions, please see:
-%s.
-" "@REPORT_BUGS_TO@"
+  printf $"For bug reporting instructions, please see:\\n%s.\\n" \
+    "@REPORT_BUGS_TO@"
   exit 0
 }
 

Modified: trunk/libc/manual/Makefile
==============================================================================
--- trunk/libc/manual/Makefile (original)
+++ trunk/libc/manual/Makefile Fri Nov  9 22:50:35 2012
@@ -114,10 +114,16 @@
 	touch $@
 
 # Package version and bug reporting URL.
-$(objpfx)pkgvers.texi: $(objpfx)stamp-pkgvers
-$(objpfx)stamp-pkgvers:
-	echo "@set PKGVERSION $(PKGVERSION_TEXI)" > $(objpfx)pkgvers-tmp
+$(objpfx)pkgvers.texi: $(objpfx)stamp-pkgvers ;
+$(objpfx)stamp-pkgvers: $(common-objpfx)config.make
+	echo "@ifclear PKGVERS" > $(objpfx)pkgvers-tmp
+	echo "@set PKGVERS" >> $(objpfx)pkgvers-tmp
+	echo "@set PKGVERSION $(PKGVERSION_TEXI)" >> $(objpfx)pkgvers-tmp
+	if [ "$(PKGVERSION_TEXI)" = "(GNU libc) " ]; then \
+	  echo "@set PKGVERSION_DEFAULT" >> $(objpfx)pkgvers-tmp; \
+	fi
 	echo "@set REPORT_BUGS_TO $(REPORT_BUGS_TEXI)" >> $(objpfx)pkgvers-tmp
+	echo "@end ifclear" >> $(objpfx)pkgvers-tmp
 	$(move-if-change) $(objpfx)pkgvers-tmp $(objpfx)pkgvers.texi
 	touch $@
 

Modified: trunk/libc/manual/filesys.texi
==============================================================================
--- trunk/libc/manual/filesys.texi (original)
+++ trunk/libc/manual/filesys.texi Fri Nov  9 22:50:35 2012
@@ -287,7 +287,7 @@
 This member is a BSD extension.  The symbol @code{_DIRENT_HAVE_D_TYPE}
 is defined if this member is available.  On systems where it is used, it
 corresponds to the file type bits in the @code{st_mode} member of
-@code{struct statbuf}.  If the value cannot be determine the member
+@code{struct stat}.  If the value cannot be determine the member
 value is DT_UNKNOWN.  These two macros convert between @code{d_type}
 values and @code{st_mode} values:
 

Modified: trunk/libc/manual/install.texi
==============================================================================
--- trunk/libc/manual/install.texi (original)
+++ trunk/libc/manual/install.texi Fri Nov  9 22:50:35 2012
@@ -2,6 +2,7 @@
 @c Makeinfo ignores it when processing the file from the include.
 @setfilename INSTALL
 @include macros.texi
+@include pkgvers.texi
 
 @node Installation, Maintenance, Library Summary, Top
 @c %MENU% How to install the GNU C Library
@@ -173,6 +174,19 @@
 @var{CFLAGS}.
 
 If you specify just @samp{--build}, @code{configure} will get confused.
+
+@item --with-pkgversion=@var{version}
+Specify a description, possibly including a build number or build
+date, of the binaries being built, to be included in
+@option{--version} output from programs installed with @theglibc{}.
+For example, @option{--with-pkgversion='FooBar GNU/Linux glibc build
+123'}.  The default value is @samp{GNU libc}.
+
+@item --with-bugurl=@var{url}
+Specify the URL that users should visit if they wish to report a bug,
+to be included in @option{--help} output from programs installed with
+@theglibc{}.  The default value refers to the main bug-reporting
+information for @theglibc{}.
 @end table
 
 To build the library and related programs, type @code{make}.  This will
@@ -458,7 +472,7 @@
 
 It is a good idea to verify that the problem has not already been
 reported.  Bugs are documented in two places: The file @file{BUGS}
-describes a number of well known bugs and the upstream GNU C library
+describes a number of well known bugs and the central @glibcadj{}
 bug tracking system has a
 WWW interface at
 @url{http://sourceware.org/bugzilla/}.  The WWW

Modified: trunk/libc/manual/libc.texinfo
==============================================================================
--- trunk/libc/manual/libc.texinfo (original)
+++ trunk/libc/manual/libc.texinfo Fri Nov  9 22:50:35 2012
@@ -38,8 +38,13 @@
 This is
 @c Disabled (printed editions, see above).
 @c Edition @value{EDITION} of
-@cite{The GNU C Library Reference Manual}, for version @value{VERSION}
-@value{PKGVERSION}.
+@cite{The GNU C Library Reference Manual}, for version
+@ifset PKGVERSION_DEFAULT
+@value{VERSION}.
+@end ifset
+@ifclear PKGVERSION_DEFAULT
+@value{VERSION} @value{PKGVERSION}.
+@end ifclear
 
 Copyright @copyright{} 1993--2012 Free Software Foundation, Inc.
 
@@ -73,8 +78,10 @@
 @c @center Edition @value{EDITION}
 @c @sp 1
 @center for version @value{VERSION}
+@ifclear PKGVERSION_DEFAULT
 @sp 1
 @center @value{PKGVERSION}
+@end ifclear
 @page
 @vskip 0pt plus 1filll
 @insertcopying
@@ -101,7 +108,9 @@
 @c Disabled (printed editions, see above).
 @c Edition @value{EDITION} of
 @cite{The GNU C Library Reference Manual}, for Version @value{VERSION}
+@ifclear PKGVERSION_DEFAULT
 @value{PKGVERSION}
+@end ifclear
 of @theglibc{}.
 @end ifnottex
 

Modified: trunk/libc/math/libm-test.inc
==============================================================================
--- trunk/libc/math/libm-test.inc (original)
+++ trunk/libc/math/libm-test.inc Fri Nov  9 22:50:35 2012
@@ -7756,10 +7756,12 @@
   TEST_ff_f (pow, plus_infty, 1e-7L, plus_infty);
   TEST_ff_f (pow, plus_infty, 1, plus_infty);
   TEST_ff_f (pow, plus_infty, 1e7L, plus_infty);
+  TEST_ff_f (pow, plus_infty, min_subnorm_value, plus_infty);
 
   TEST_ff_f (pow, plus_infty, -1e-7L, 0);
   TEST_ff_f (pow, plus_infty, -1, 0);
   TEST_ff_f (pow, plus_infty, -1e7L, 0);
+  TEST_ff_f (pow, plus_infty, -min_subnorm_value, 0);
 
   TEST_ff_f (pow, minus_infty, 1, minus_infty);
   TEST_ff_f (pow, minus_infty, 11, minus_infty);
@@ -7772,6 +7774,7 @@
   TEST_ff_f (pow, minus_infty, 1.1L, plus_infty);
   TEST_ff_f (pow, minus_infty, 11.1L, plus_infty);
   TEST_ff_f (pow, minus_infty, 1001.1L, plus_infty);
+  TEST_ff_f (pow, minus_infty, min_subnorm_value, plus_infty);
 
   TEST_ff_f (pow, minus_infty, -1, minus_zero);
   TEST_ff_f (pow, minus_infty, -11, minus_zero);
@@ -7784,6 +7787,7 @@
   TEST_ff_f (pow, minus_infty, -1.1L, 0);
   TEST_ff_f (pow, minus_infty, -11.1L, 0);
   TEST_ff_f (pow, minus_infty, -1001.1L, 0);
+  TEST_ff_f (pow, minus_infty, -min_subnorm_value, 0);
 #endif
 
   TEST_ff_f (pow, nan_value, nan_value, nan_value);
@@ -7806,6 +7810,8 @@
   TEST_ff_f (pow, nan_value, minus_infty, nan_value);
   TEST_ff_f (pow, nan_value, 2.5, nan_value);
   TEST_ff_f (pow, nan_value, -2.5, nan_value);
+  TEST_ff_f (pow, nan_value, min_subnorm_value, nan_value);
+  TEST_ff_f (pow, nan_value, -min_subnorm_value, nan_value);
 
   TEST_ff_f (pow, 1, plus_infty, 1);
   TEST_ff_f (pow, -1, plus_infty, 1);
@@ -7819,6 +7825,8 @@
   TEST_ff_f (pow, 1, 0x1p63L, 1);
   TEST_ff_f (pow, 1, 0x1p64L, 1);
   TEST_ff_f (pow, 1, 0x1p72L, 1);
+  TEST_ff_f (pow, 1, min_subnorm_value, 1);
+  TEST_ff_f (pow, 1, -min_subnorm_value, 1);
 
   /* pow (x, +-0) == 1.  */
   TEST_ff_f (pow, plus_infty, 0, 1);
@@ -7838,6 +7846,10 @@
   TEST_ff_f (pow, -0.1L, -1.1L, nan_value, INVALID_EXCEPTION);
   TEST_ff_f (pow, -10.1L, 1.1L, nan_value, INVALID_EXCEPTION);
   TEST_ff_f (pow, -10.1L, -1.1L, nan_value, INVALID_EXCEPTION);
+  TEST_ff_f (pow, -1.01L, min_subnorm_value, nan_value, INVALID_EXCEPTION);
+  TEST_ff_f (pow, -1.01L, -min_subnorm_value, nan_value, INVALID_EXCEPTION);
+  TEST_ff_f (pow, -1.0L, min_subnorm_value, nan_value, INVALID_EXCEPTION);
+  TEST_ff_f (pow, -1.0L, -min_subnorm_value, nan_value, INVALID_EXCEPTION);
 
   errno = 0;
   TEST_ff_f (pow, 0, -1, plus_infty, DIVIDE_BY_ZERO_EXCEPTION);
@@ -7923,6 +7935,9 @@
   TEST_ff_f (pow, 0, -11.1L, plus_infty, DIVIDE_BY_ZERO_EXCEPTION);
   check_int ("errno for pow(0,-num) == ERANGE", errno, ERANGE, 0, 0, 0);
   errno = 0;
+  TEST_ff_f (pow, 0, -min_subnorm_value, plus_infty, DIVIDE_BY_ZERO_EXCEPTION);
+  check_int ("errno for pow(0,-num) == ERANGE", errno, ERANGE, 0, 0, 0);
+  errno = 0;
   TEST_ff_f (pow, 0, -0x1p24, plus_infty, DIVIDE_BY_ZERO_EXCEPTION);
   check_int ("errno for pow(0,-num) == ERANGE", errno, ERANGE, 0, 0, 0);
   errno = 0;
@@ -7936,6 +7951,9 @@
   check_int ("errno for pow(-0,-even) == ERANGE", errno, ERANGE, 0, 0, 0);
   errno = 0;
   TEST_ff_f (pow, minus_zero, -11.1L, plus_infty, DIVIDE_BY_ZERO_EXCEPTION);
+  check_int ("errno for pow(-0,-num) == ERANGE", errno, ERANGE, 0, 0, 0);
+  errno = 0;
+  TEST_ff_f (pow, minus_zero, -min_subnorm_value, plus_infty, DIVIDE_BY_ZERO_EXCEPTION);
   check_int ("errno for pow(-0,-num) == ERANGE", errno, ERANGE, 0, 0, 0);
   errno = 0;
   TEST_ff_f (pow, minus_zero, -0x1p24, plus_infty, DIVIDE_BY_ZERO_EXCEPTION);
@@ -8127,12 +8145,14 @@
   TEST_ff_f (pow, 0.0, 0x1p24, 0.0);
   TEST_ff_f (pow, 0.0, 0x1p127, 0.0);
   TEST_ff_f (pow, 0.0, max_value, 0.0);
+  TEST_ff_f (pow, 0.0, min_subnorm_value, 0.0);
 
   /* pow (-0, y) == +0 for y > 0 and not an odd integer.  */
   TEST_ff_f (pow, minus_zero, 4, 0.0);
   TEST_ff_f (pow, minus_zero, 0x1p24, 0.0);
   TEST_ff_f (pow, minus_zero, 0x1p127, 0.0);
   TEST_ff_f (pow, minus_zero, max_value, 0.0);
+  TEST_ff_f (pow, minus_zero, min_subnorm_value, 0.0);
 
   TEST_ff_f (pow, 16, 0.25L, 2);
   TEST_ff_f (pow, 0x1p64L, 0.125L, 256);
@@ -8419,6 +8439,15 @@

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