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

[Commits] r21813 - in /fsf/trunk/libc: ./ conform/data/ conform/data/sys/ elf/ localedata/ localedata/locales/ malloc/ math/ nss/ port...



Author: eglibc
Date: Tue Nov 20 00:02:21 2012
New Revision: 21813

Log:
Import glibc-mainline for 2012-11-20

Added:
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_ceil.c
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_ceilf.c
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_floor.c
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_floorf.c
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_fmaf.c
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_fmax.c
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_fmaxf.c
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_fmin.c
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_fminf.c
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_frint.x
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_frintf.x
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_llrint.c
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_llrintf.c
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_llround.c
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_llroundf.c
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_lrint.c
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_lrintf.c
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_lround.c
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_lroundf.c
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_nearbyint.c
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_nearbyintf.c
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_rint.c
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_rintf.c
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_round.c
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_roundf.c
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_trunc.c
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_truncf.c
    fsf/trunk/libc/ports/sysdeps/hppa/__longjmp.c
    fsf/trunk/libc/ports/sysdeps/hppa/fpu/fpu_control.h
    fsf/trunk/libc/ports/sysdeps/hppa/get-rounding-mode.h
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/hppa/____longjmp_chk.c
    fsf/trunk/libc/sysdeps/mach/hurd/syncfs.c
Removed:
    fsf/trunk/libc/ports/sysdeps/hppa/__longjmp.S
Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/NEWS
    fsf/trunk/libc/conform/data/cpio.h-data
    fsf/trunk/libc/conform/data/errno.h-data
    fsf/trunk/libc/conform/data/fcntl.h-data
    fsf/trunk/libc/conform/data/glob.h-data
    fsf/trunk/libc/conform/data/limits.h-data
    fsf/trunk/libc/conform/data/locale.h-data
    fsf/trunk/libc/conform/data/mqueue.h-data
    fsf/trunk/libc/conform/data/regex.h-data
    fsf/trunk/libc/conform/data/signal.h-data
    fsf/trunk/libc/conform/data/stdio.h-data
    fsf/trunk/libc/conform/data/sys/stat.h-data
    fsf/trunk/libc/conform/data/sys/times.h-data
    fsf/trunk/libc/conform/data/time.h-data
    fsf/trunk/libc/conform/data/unistd.h-data
    fsf/trunk/libc/conform/data/wordexp.h-data
    fsf/trunk/libc/elf/cache.c
    fsf/trunk/libc/localedata/ChangeLog
    fsf/trunk/libc/localedata/locales/ug_CN
    fsf/trunk/libc/malloc/mtrace.c
    fsf/trunk/libc/math/libm-test.inc
    fsf/trunk/libc/nss/getXXbyYY_r.c
    fsf/trunk/libc/ports/ChangeLog.aarch64
    fsf/trunk/libc/ports/ChangeLog.hppa
    fsf/trunk/libc/ports/ChangeLog.mips
    fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_fma.c
    fsf/trunk/libc/ports/sysdeps/hppa/bits/setjmp.h
    fsf/trunk/libc/ports/sysdeps/hppa/fpu/fegetround.c
    fsf/trunk/libc/ports/sysdeps/hppa/fpu/fesetenv.c
    fsf/trunk/libc/ports/sysdeps/hppa/setjmp.S
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/hppa/nptl/pthread_once.c
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h
    fsf/trunk/libc/posix/bits/posix1_lim.h
    fsf/trunk/libc/resolv/nss_dns/dns-host.c
    fsf/trunk/libc/signal/signal.h
    fsf/trunk/libc/sunrpc/bindrsvprt.c
    fsf/trunk/libc/sysdeps/generic/ldconfig.h
    fsf/trunk/libc/sysdeps/ieee754/ldbl-128/s_atanl.c
    fsf/trunk/libc/sysdeps/mach/hurd/ptsname.c
    fsf/trunk/libc/sysdeps/posix/getaddrinfo.c
    fsf/trunk/libc/sysdeps/sparc/fpu/libm-test-ulps
    fsf/trunk/libc/sysdeps/x86_64/fpu/libm-test-ulps

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Tue Nov 20 00:02:21 2012
@@ -1,3 +1,262 @@
+2012-11-19  Pino Toscano  <toscano.pino@xxxxxxxxxx>
+
+	* sysdeps/mach/hurd/ptsname.c (ptsname): Change the type of PEERNAME to
+	string_t.  Do not manually set errno.
+	(__ptsname_r): Change the type of PEERNAME to string_t, and check its
+	length with __strnlen.  Make sure to both set errno and return it on
+	failure.
+
+2012-11-19  David S. Miller  <davem@xxxxxxxxxxxxx>
+
+	With help from Joseph Myers.
+	* sysdeps/ieee754/ldbl-128/s_atanl.c (__atanl): Handle tiny and
+	very large arguments properly.
+	* math/libm-test.inc (atan_test): New tests.
+	(atan2_test): New tests.
+	* sysdeps/sparc/fpu/libm-test-ulps: Update.
+	* sysdeps/x86_64/fpu/libm-test-ulps: Update.
+
+2012-11-19  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	[BZ #14856]
+	* posix/bits/posix1_lim.h [!__USE_XOPEN2K] (_POSIX_TZNAME_MAX):
+	Define to 3.
+
+	* conform/data/errno.h-data [POSIX] (EADDRINUSE): Do not expect.
+	[POSIX] (EADDRNOTAVAIL): Likewise.
+	[POSIX] (EAFNOSUPPORT): Likewise.
+	[POSIX] (EALREADY): Likewise.
+	[POSIX] (ECONNABORTED): Likewise.
+	[POSIX] (ECONNREFUSED): Likewise.
+	[POSIX] (ECONNRESET): Likewise.
+	[POSIX] (EDESTADDRREQ): Likewise.
+	[POSIX] (EDQUOT): Likewise.
+	[POSIX] (EHOSTUNREACH): Likewise.
+	[POSIX] (EIDRM): Likewise.
+	[POSIX] (EISCONN): Likewise.
+	[POSIX] (ELOOP): Likewise.
+	[POSIX] (EMULTIHOP): Likewise.
+	[POSIX] (ENETDOWN): Likewise.
+	[POSIX] (ENETUNREACH): Likewise.
+	[POSIX] (ENOBUFS): Likewise.
+	[POSIX] (ENODATA): Likewise.
+	[POSIX] (ENOLINK): Likewise.
+	[POSIX] (ENOMSG): Likewise.
+	[POSIX] (ENOPROTOOPT): Likewise.
+	[POSIX] (ENOSR): Likewise.
+	[POSIX] (ENOSTR): Likewise.
+	[POSIX] (ENOTCONN): Likewise.
+	[POSIX] (ENOTSOCK): Likewise.
+	[POSIX] (EOPNOTSUPP): Likewise.
+	[POSIX] (EOVERFLOW): Likewise.
+	[POSIX] (EPROTO): Likewise.
+	[POSIX] (EPROTONOSUPPORT): Likewise.
+	[POSIX] (EPROTOTYPE): Likewise.
+	[POSIX] (ESTALE): Likewise.
+	[POSIX] (ETIME): Likewise.
+	[POSIX] (ETXTBSY): Likewise.
+	[POSIX] (EWOULDBLOCK): Likewise.
+	[!ISO && !ISO99 && !ISO11] (E*): Do not allow.
+	* conform/data/fcntl.h-data [POSIX] (SEEK_SET): Allow.
+	[POSIX] (SEEK_CUR): Likewise.
+	[POSIX] (SEEK_END): Likewise.
+	[POSIX || UNIX98] (mode_t): Do not require.
+	[POSIX] (off_t): Likewise.
+	[POSIX] (pid_t): Likewise.
+	[POSIX] (sys/stat.h): Do not allow header.
+	[POSIX] (unistd.h): Likewise.
+	[!ISO && !ISO99 && !ISO11] (timespec): Do not allow.
+	[!ISO && !ISO99 && !ISO11] (tv_nsec): Likewise.
+	[!ISO && !ISO99 && !ISO11] (tv_sec): Likewise.
+	* conform/data/locale.h-data [POSIX] (LC_MESSAGES): Do not
+	require.
+	* conform/data/mqueue.h-data [!ISO && !ISO99 && !ISO11] (struct
+	sigevent): Specify elements.
+	[XOPEN2K8 || POSIX2008] (struct sigevent): Remove duplicate type
+	entry.
+	[!ISO && !ISO99 && !ISO11] (mq_*): Allow.
+	[!ISO && !ISO99 && !ISO11] (MQ_*): Likewise.
+
+	* conform/data/cpio.h-data [POSIX]: Disable whole file.
+	* conform/data/glob.h-data [POSIX] (GLOB_NOSYS): Do not expect.
+	* conform/data/limits.h-data [!ISO && !ISO99 && !ISO11]
+	(AIO_LIST_MAX): Change to AIO_LISTIO_MAX.
+	[!ISO && !ISO99 && !ISO11] (ATEXT_MAX): Remove.
+	[!ISO && !ISO99 && !ISO11 && !POSIX && !XPG3] (ATEXIT_MAX): Allow.
+	[POSIX || POSIX2008 || XPG3] (IOV_MAX): Do not allow.
+	[POSIX || POSIX2008 || XPG3] (_XOPEN_IOV_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (MQ_PRIO_MAX): Allow.
+	[!ISO && !ISO99 && !ISO11] (RE_DUP_MAX): Remove duplicate entry.
+	[POSIX || XPG3 || XPG4 || UNIX98] (SS_REPL_MAX): Do not allow.
+	[POSIX || XPG3 || XPG4 || UNIX98] (SYMLOOP_MAX): Likewise.
+	[POSIX || XPG3 || XPG4] (FILESIZEBITS): Likewise.
+	[POSIX || XPG3 || XPG4 || UNIX98] (POSIX_ALLOC_SIZE_MIN):
+	Likewise.
+	[POSIX || XPG3 || XPG4 || UNIX98] (POSIX_REC_INCR_XFER_SIZE):
+	Likewise.
+	[POSIX || XPG3 || XPG4 || UNIX98] (POSIX_REC_MAX_XFER_SIZE):
+	Likewise.
+	[POSIX || XPG3 || XPG4 || UNIX98] (POSIX_REC_XFER_ALIGN):
+	Likewise.
+	[POSIX || XPG3 || XPG4 || UNIX98] (SYMLINK_MAX): Likewise.
+	[POSIX || XPG3 || XPG4 || UNIX98] (_POSIX_SS_REPL_MAX): Likewise.
+	[POSIX || XPG3 || XPG4 || UNIX98] (_POSIX_SYMLINK_MAX): Likewise.
+	[POSIX || XPG3 || XPG4 || UNIX98] (_POSIX_SYMLOOP_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (BC_BASE_MAX): Use macro-constant.
+	Specify lower bound on value.
+	[!ISO && !ISO99 && !ISO11] (BC_DIM_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (BC_SCALE_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (BC_STRING_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (COLL_WEIGHTS_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (EXPR_NEST_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (RE_DUP_MAX): Likewise
+	[POSIX || XPG3 || XPG4] (CHARCLASS_NAME_MAX): Do not allow.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_CLOCKRES_MIN): Specify exact
+	value.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_AIO_LISTIO_MAX): Do not specify
+	as optional.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_AIO_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_ARG_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_CHILD_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_DELAYTIMER_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_LINK_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_LOGIN_NAME_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_MAX_CANON): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_MAX_INPUT): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_MQ_OPEN_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_MQ_PRIO_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_NAME_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_NGROUPS_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_OPEN_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_PATH_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_PIPE_BUF): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX2_RE_DUP_MAX): Remove duplicate
+	entry.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_RTSIG_MAX): Do not specify as
+	optional.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_SEM_NSEMS_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_SEM_VALUE_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_SIGQUEUE_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_SSIZE_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_STREAM_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_THREAD_DESTRUCTOR_ITERATIONS):
+	Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_THREAD_KEYS_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_THREAD_THREADS_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_TIMER_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_TTY_NAME_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX_TZNAME_MAX): Likewise.  Give
+	value as 3 for [POSIX || XPG3 || XPG4 || UNIX98].
+	[!ISO && !ISO99 && !ISO11] (_POSIX2_BC_BASE_MAX): Do not specify
+	as optional.
+	[!ISO && !ISO99 && !ISO11] (_POSIX2_BC_DIM_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX2_BC_SCALE_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX2_BC_STRING_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX2_CHARCLASS_NAME_MAX):
+	Likewise.  Do not allow for [POSIX || XPG3 || XPG4 || UNIX98].
+	[!ISO && !ISO99 && !ISO11] (_POSIX2_COLL_WEIGHTS_MAX): Do not
+	specify as optional.
+	[!ISO && !ISO99 && !ISO11] (_POSIX2_EXPR_NEST_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX2_LINE_MAX): Likewise.
+	[!ISO && !ISO99 && !ISO11] (_POSIX2_RE_DUP_MAX): Likewise.
+	[POSIX || POSIX2008 || XPG3] (_XOPEN_IOV_MAX): Do not allow.
+	[POSIX || XPG3] (NL_ARGMAX): Do not allow.
+	[XPG3] (NL_LANGMAX): Likewise.
+	[POSIX || XPG3] (NL_MSGMAX): Likewise.
+	[POSIX || XPG3] (NL_NMAX): Likewise.
+	[POSIX || XPG3] (NL_SETMAX): Likewise.
+	[POSIX || XPG3] (NL_TEXTMAX): Likewise.
+	[XPG3] (NZERO): Likewise.
+	[XPG4 || UNIX98] (TMP_MAX): Only enable for these conditions.
+	[POSIX || XPG3 || XPG4 || UNIX98] (*_MIN): Do not allow.
+	[!ISO && !ISO99 && !ISO11] (*_t): Allow.
+	* conform/data/regex.h-data [!ISO && !ISO99 && !ISO11]
+	(REG_ERANGE): Expect.
+	* conform/data/stdio.h-data [POSIX] (L_cuserid): Use
+	optional-constant.
+	[POSIX || XOPEN2K || XOPEN2K8 || POSIX2008] (getchar_unlocked):
+	Use (void) in prototype.
+	[POSIX] (*_t): Allow.
+	* conform/data/sys/times.h-data [POSIX]: Enable whole file.
+	* conform/data/wordexp.h-data [!ISO && !ISO99 && !ISO11]
+	(WRDE_BADVAL): Expect.
+
+	* conform/data/fcntl.h-data [XPG3 || XPG4] (O_DSYNC): Do not
+	expect.
+	[XPG3 || XPG4] (O_RSYNC): Likewise.
+	* conform/data/signal.h-data [XPG3 || XPG4] (pthread_kill):
+	Likewise.
+	[XPG3 || XPG4] (pthread_sigmask): Likewise.
+	[XPG3 || XPG4] (sigqueue): Likewise.
+	[XPG3 || XPG4] (sigtimedwait): Likewise.
+	[XPG3 || XPG4] (sigwaitinfo): Likewise.
+	* conform/data/stdio.h-data [XPG3 || XPG4] (snprintf): Likewise.
+	[XPG3 || XPG4] (vsnprintf): Likewise.
+	* conform/data/sys/stat.h-data [XPG3 || XPG4] (blkcnt_t):
+	Likewise.
+	[XPG3 || XPG4] (blksize_t): Likewise.
+	* conform/data/time.h-data [XPG3 || XPG4] (struct timespec):
+	Likewise.
+	[XPG3 || XPG4] (CLOCK_PROCESS_CPUTIME_ID): Likewise.
+	[XPG3 || XPG4] (CLOCK_THREAD_CPUTIME_ID): Likewise.
+	[XPG3 || XPG4] (struct itimerspec): Likewise.
+	[XPG3 || XPG4] (CLOCK_REALTIME): Likewise.
+	[XPG3 || XPG4] (TIMER_ABSTIME): Likewise.
+	[XPG3 || XPG4] (CLOCK_MONOTONIC): Likewise.
+	[XPG3 || XPG4] (clockid_t): Likewise.
+	[XPG3 || XPG4] (timer_t): Likewise.
+	[XPG3 || XPG4] (clock_getres): Likewise.
+	[XPG3 || XPG4] (clock_gettime): Likewise.
+	[XPG3 || XPG4] (clock_settime): Likewise.
+	[XPG3 || XPG4] (nanosleep): Likewise.
+	[XPG3 || XPG4] (timer_create): Likewise.
+	[XPG3 || XPG4] (timer_delete): Likewise.
+	[XPG3 || XPG4] (timer_gettime): Likewise.
+	[XPG3 || XPG4] (timer_getoverrun): Likewise.
+	[XPG3 || XPG4] (timer_settime): Likewise.
+	* conform/data/unistd.h-data [XPG3 || XPG4] (fdatasync): Likewise.
+	[XPG3 || XPG4] (getlogin_r): Likewise.
+	[XPG3 || XPG4] (pread): Likewise.
+	[XPG3 || XPG4] (pthread_atfork): Likewise.
+	[XPG3 || XPG4] (pwrite): Likewise.
+
+	[BZ #14835]
+	* signal/signal.h [__USE_XOPEN_EXTENDED]: Include
+	<bits/siginfo.h>.
+
+2012-11-19  Pino Toscano  <toscano.pino@xxxxxxxxxx>
+
+	* malloc/mtrace.c (muntrace): Reset MALLSTREAM and the hooks before
+	finalizing MALLSTREAM.
+
+	* sysdeps/mach/hurd/syncfs.c: New file.
+
+2012-11-19  Siddhesh Poyarekar  <siddhesh@xxxxxxxxxx>
+
+	[BZ #14719]
+	* nss/getXXbyYY_r.c (INTERNAL (REENTRANT_NAME)): Set h_errno to
+	NETDB_INTERNAL when NSS_STATUS_UNAVAIL.
+	* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname3_r): Set
+	h_errno to NETDB_INTERNAL when errno is EMFILE or ENFILE.
+	(_nss_dns_gethostbyname4_r): Likewise.
+	* sysdeps/posix/getaddrinfo.c (gaih_inet): Set result to
+	EAI_SYSTEM if NSS_STATUS_UNAVAIL.
+
+2012-11-19  Peng Haitao  <penght@xxxxxxxxxxxxxx>
+
+	[BZ #13763]
+	* sunrpc/bindrsvprt.c: Add lock to protect static variable.
+
+2012-11-19  Steve McIntyre  <steve.mcintyre@xxxxxxxxxx>
+
+	* sysdeps/generic/ldconfig.h (FLAG_AARCH64_LIB64): New macro.
+	* elf/cache.c (print_entry): Print ",AArch64" for
+	FLAG_AARCH64_LIB64
+
+	* sysdeps/generic/ldconfig.h (FLAG_ARM_LIBHF): New macro.
+	* elf/cache.c (print_entry): Print ",hard-float" for
+	FLAG_ARM_LIBHF.
+
 2012-11-18  David S. Miller  <davem@xxxxxxxxxxxxx>
 
 	With help from Joseph Myers.

Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Tue Nov 20 00:02:21 2012
@@ -12,15 +12,16 @@
   1349, 3439, 3479, 3665, 5044, 5246, 5298, 5400, 6530, 6778, 6808, 9685,
   9914, 10014, 10038, 10631, 10873, 11438, 11607, 11638, 11741, 12140,
   13412, 13542, 13601, 13603, 13604, 13629, 13679, 13696, 13698, 13717,
-  13741, 13939, 13950, 13952, 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, 14368,
-  14376, 14417, 14459, 14476, 14477, 14501, 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, 14672, 14683, 14694, 14716, 14743,
-  14767, 14783, 14784, 14785, 14793, 14796, 14797, 14801, 14805, 14807,
-  14809, 14811, 14815, 14821, 14824, 14828, 14831, 14838.
+  13741, 13759, 13763, 13939, 13950, 13952, 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, 14368, 14376, 14417, 14459, 14476, 14477, 14501, 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, 14672, 14683, 14694,
+  14716, 14719, 14743, 14767, 14783, 14784, 14785, 14793, 14796, 14797,
+  14801, 14805, 14807, 14809, 14811, 14815, 14821, 14824, 14828, 14831,
+  14835, 14838, 14856.
 
 * Port to ARM AArch64 contributed by Linaro.
 

Modified: fsf/trunk/libc/conform/data/cpio.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/cpio.h-data (original)
+++ fsf/trunk/libc/conform/data/cpio.h-data Tue Nov 20 00:02:21 2012
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
 constant C_IRUSR == 0000400
 constant C_IWUSR == 0000200
 constant C_IXUSR == 0000100

Modified: fsf/trunk/libc/conform/data/errno.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/errno.h-data (original)
+++ fsf/trunk/libc/conform/data/errno.h-data Tue Nov 20 00:02:21 2012
@@ -10,78 +10,116 @@
 #if !defined ISO && !defined ISO99 && !defined ISO11
 macro-int-constant E2BIG {int} > 0
 macro-int-constant EACCES {int} > 0
+# if !defined POSIX
 macro-int-constant EADDRINUSE {int} > 0
 macro-int-constant EADDRNOTAVAIL {int} > 0
 macro-int-constant EAFNOSUPPORT {int} > 0
+# endif
 macro-int-constant EAGAIN {int} > 0
+# if !defined POSIX
 macro-int-constant EALREADY {int} > 0
+# endif
 macro-int-constant EBADF {int} > 0
 macro-int-constant EBADMSG {int} > 0
 macro-int-constant EBUSY {int} > 0
 macro-int-constant ECANCELED {int} > 0
 macro-int-constant ECHILD {int} > 0
+# if !defined POSIX
 macro-int-constant ECONNABORTED {int} > 0
 macro-int-constant ECONNREFUSED {int} > 0
 macro-int-constant ECONNRESET {int} > 0
+# endif
 macro-int-constant EDEADLK {int} > 0
+# if !defined POSIX
 macro-int-constant EDESTADDRREQ {int} > 0
 macro-int-constant EDQUOT {int} > 0
+# endif
 macro-int-constant EEXIST {int} > 0
 macro-int-constant EFAULT {int} > 0
 macro-int-constant EFBIG {int} > 0
+# if !defined POSIX
 macro-int-constant EHOSTUNREACH {int} > 0
 macro-int-constant EIDRM {int} > 0
+# endif
 macro-int-constant EINPROGRESS {int} > 0
 macro-int-constant EINTR {int} > 0
 macro-int-constant EINVAL {int} > 0
 macro-int-constant EIO {int} > 0
+# if !defined POSIX
 macro-int-constant EISCONN {int} > 0
+# endif
 macro-int-constant EISDIR {int} > 0
+# if !defined POSIX
 macro-int-constant ELOOP {int} > 0
+# endif
 macro-int-constant EMFILE {int} > 0
 macro-int-constant EMLINK {int} > 0
 macro-int-constant EMSGSIZE {int} > 0
+# if !defined POSIX
 macro-int-constant EMULTIHOP {int} > 0
+# endif
 macro-int-constant ENAMETOOLONG {int} > 0
+# if !defined POSIX
 macro-int-constant ENETDOWN {int} > 0
 macro-int-constant ENETUNREACH {int} > 0
+# endif
 macro-int-constant ENFILE {int} > 0
+# if !defined POSIX
 macro-int-constant ENOBUFS {int} > 0
 macro-int-constant ENODATA {int} > 0
+# endif
 macro-int-constant ENODEV {int} > 0
 macro-int-constant ENOENT {int} > 0
 macro-int-constant ENOEXEC {int} > 0
 macro-int-constant ENOLCK {int} > 0
+# if !defined POSIX
 macro-int-constant ENOLINK {int} > 0
+# endif
 macro-int-constant ENOMEM {int} > 0
+# if !defined POSIX
 macro-int-constant ENOMSG {int} > 0
 macro-int-constant ENOPROTOOPT {int} > 0
+# endif
 macro-int-constant ENOSPC {int} > 0
+# if !defined POSIX
 macro-int-constant ENOSR {int} > 0
 macro-int-constant ENOSTR {int} > 0
+# endif
 macro-int-constant ENOSYS {int} > 0
+# if !defined POSIX
 macro-int-constant ENOTCONN {int} > 0
+# endif
 macro-int-constant ENOTDIR {int} > 0
 macro-int-constant ENOTEMPTY {int} > 0
+# if !defined POSIX
 macro-int-constant ENOTSOCK {int} > 0
+# endif
 macro-int-constant ENOTSUP {int} > 0
 macro-int-constant ENOTTY {int} > 0
 macro-int-constant ENXIO {int} > 0
+# if !defined POSIX
 macro-int-constant EOPNOTSUPP {int} > 0
 macro-int-constant EOVERFLOW {int} > 0
+# endif
 macro-int-constant EPERM {int} > 0
 macro-int-constant EPIPE {int} > 0
+# if !defined POSIX
 macro-int-constant EPROTO {int} > 0
 macro-int-constant EPROTONOSUPPORT {int} > 0
 macro-int-constant EPROTOTYPE {int} > 0
+# endif
 macro-int-constant EROFS {int} > 0
 macro-int-constant ESPIPE {int} > 0
 macro-int-constant ESRCH {int} > 0
+# if !defined POSIX
 macro-int-constant ESTALE {int} > 0
 macro-int-constant ETIME {int} > 0
+# endif
 macro-int-constant ETIMEDOUT {int} > 0
+# if !defined POSIX
 macro-int-constant ETXTBSY {int} > 0
 macro-int-constant EWOULDBLOCK {int} > 0
+# endif
 macro-int-constant EXDEV {int} > 0
 
 # if defined XOPEN2K8 || defined POSIX2008
@@ -89,7 +127,6 @@
 macro-int-constant EOWNERDEAD {int} > 0
 # endif
 
-allow E*
 allow *_t
 #endif
 

Modified: fsf/trunk/libc/conform/data/fcntl.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/fcntl.h-data (original)
+++ fsf/trunk/libc/conform/data/fcntl.h-data Tue Nov 20 00:02:21 2012
@@ -18,7 +18,11 @@
 constant F_UNLCK
 constant F_WRLCK
 
-#if !defined POSIX
+#if defined POSIX
+allow SEEK_SET
+allow SEEK_CUR
+allow SEEK_END
+#else
 constant SEEK_SET
 constant SEEK_CUR
 constant SEEK_END
@@ -30,10 +34,12 @@
 constant O_TRUNC
 
 constant O_APPEND
+constant O_NONBLOCK
+constant O_SYNC
+#if !defined XPG3 && !defined XPG4
 constant O_DSYNC
-constant O_NONBLOCK
 constant O_RSYNC
-constant O_SYNC
+#endif
 
 constant O_ACCMODE
 
@@ -87,9 +93,13 @@
 element {struct flock} off_t l_len
 element {struct flock} pid_t l_pid
 
+#if !defined POSIX
+# if !defined UNIX98
 type mode_t
+# endif
 type off_t
 type pid_t
+#endif
 
 function int creat (const char*, mode_t)
 function int fcntl (int, int, ...)
@@ -119,16 +129,14 @@
 function int openat(int, const char*, int, ...)
 #endif
 
+#if !defined POSIX
 allow-header sys/stat.h
 allow-header unistd.h
+#endif
 
 allow l_*
 allow F_*
 allow O_*
 allow S_*
 allow *_t
-
-allow timespec
-allow tv_nsec
-allow tv_sec
 #endif

Modified: fsf/trunk/libc/conform/data/glob.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/glob.h-data (original)
+++ fsf/trunk/libc/conform/data/glob.h-data Tue Nov 20 00:02:21 2012
@@ -19,7 +19,7 @@
 constant GLOB_ABORTED
 constant GLOB_NOMATCH
 constant GLOB_NOSPACE
-# if !defined XOPEN2K8 && !defined POSIX2008
+# if !defined XOPEN2K8 && !defined POSIX2008 && !defined POSIX
 constant GLOB_NOSYS
 # endif
 

Modified: fsf/trunk/libc/conform/data/limits.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/limits.h-data (original)
+++ fsf/trunk/libc/conform/data/limits.h-data Tue Nov 20 00:02:21 2012
@@ -28,16 +28,21 @@
 
 #if !defined ISO && !defined ISO99 && !defined ISO11
 // if these values exist, we should check the minimal value
-allow AIO_LIST_MAX
+allow AIO_LISTIO_MAX
 allow AIO_MAX
 allow AIO_PRIO_DELTA_MAX
 allow ARG_MAX
-allow ATEXT_MAX
+#if !defined POSIX && !defined XPG3
+allow ATEXIT_MAX
+#endif
 allow CHILD_MAX
 allow DELAYTIMER_MAX
+#if !defined POSIX && !defined POSIX2008 && !defined XPG3
 allow IOV_MAX
+#endif
 allow LOGIN_NAME_MAX
 allow MQ_OPEN_MAX
+allow MQ_PRIO_MAX
 allow OPEN_MAX
 allow PAGESIZE
 #if !defined POSIX && !defined POSIX2008
@@ -47,98 +52,117 @@
 allow PTHREAD_KEYS_MAX
 allow PTHREAD_STACK_MIN
 allow PTHREAD_THREADS_MAX
-allow RE_DUP_MAX
 allow RTSIG_MAX
 allow SEM_NSEMS_MAX
 allow SEM_VALUE_MAX
 allow SIGQUEUE_MAX
+#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
 allow SS_REPL_MAX
+#endif
 allow STREAM_MAX
+#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
 allow SYMLOOP_MAX
+#endif
 allow TIMER_MAX
 allow TTY_NAME_MAX
 allow TZNAME_MAX
 
+#if !defined POSIX && !defined XPG3 && !defined XPG4
 allow FILESIZEBITS
+#endif
 allow LINK_MAX
 allow MAX_CANON
 allow MAX_INPUT
 allow NAME_MAX
 allow PATH_MAX
 allow PIPE_BUF
+#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
 allow POSIX_ALLOC_SIZE_MIN
 allow POSIX_REC_INCR_XFER_SIZE
 allow POSIX_REC_MAX_XFER_SIZE
 allow POSIX_REC_XFER_ALIGN
 allow SYMLINK_MAX
-
-macro BC_BASE_MAX
-macro BC_DIM_MAX
-macro BC_SCALE_MAX
-macro BC_STRING_MAX
+#endif
+
+macro-constant BC_BASE_MAX >= _POSIX2_BC_BASE_MAX
+macro-constant BC_DIM_MAX >= _POSIX2_BC_DIM_MAX
+macro-constant BC_SCALE_MAX >= _POSIX2_BC_SCALE_MAX
+macro-constant BC_STRING_MAX >= _POSIX2_BC_STRING_MAX
+#if !defined POSIX && !defined XPG3 && !defined XPG4
 macro CHARCLASS_NAME_MAX
-macro COLL_WEIGHTS_MAX
-macro EXPR_NEST_MAX
-macro LINE_MAX
+#endif
+macro-constant COLL_WEIGHTS_MAX >= _POSIX2_COLL_WEIGHTS_MAX
+macro-constant EXPR_NEST_MAX >= _POSIX2_EXPR_NEST_MAX
+macro-constant LINE_MAX >= _POSIX2_LINE_MAX
 constant NGROUPS_MAX >= 8
-macro RE_DUP_MAX
-
-constant _POSIX_CLOCKRES_MIN <= 20000000
-
-optional-constant _POSIX_AIO_LISTIO_MAX == 2
-optional-constant _POSIX_AIO_MAX == 1
-optional-constant _POSIX_ARG_MAX == 4096
-#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
-optional-constant _POSIX_CHILD_MAX == 25
-#else
-optional-constant _POSIX_CHILD_MAX == 6
-#endif
-optional-constant _POSIX_DELAYTIMER_MAX == 32
-optional-constant _POSIX_LINK_MAX == 8
-optional-constant _POSIX_LOGIN_NAME_MAX == 9
-optional-constant _POSIX_MAX_CANON == 255
-optional-constant _POSIX_MAX_INPUT == 255
-optional-constant _POSIX_MQ_OPEN_MAX == 8
-optional-constant _POSIX_MQ_PRIO_MAX == 32
-optional-constant _POSIX_NAME_MAX == 14
-#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
-optional-constant _POSIX_NGROUPS_MAX == 8
-#else
-optional-constant _POSIX_NGROUPS_MAX == 0
-#endif
-#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
-optional-constant _POSIX_OPEN_MAX == 20
-#else
-optional-constant _POSIX_OPEN_MAX == 16
-#endif
-optional-constant _POSIX_PATH_MAX == 256
-optional-constant _POSIX_PIPE_BUF == 512
-optional-constant _POSIX2_RE_DUP_MAX == 255
-optional-constant _POSIX_RTSIG_MAX == 8
-optional-constant _POSIX_SEM_NSEMS_MAX == 256
-optional-constant _POSIX_SEM_VALUE_MAX == 32767
-optional-constant _POSIX_SIGQUEUE_MAX == 32
-optional-constant _POSIX_SSIZE_MAX == 32767
-optional-constant _POSIX_STREAM_MAX == 8
+macro-constant RE_DUP_MAX >= _POSIX2_RE_DUP_MAX
+
+constant _POSIX_CLOCKRES_MIN == 20000000
+
+constant _POSIX_AIO_LISTIO_MAX == 2
+constant _POSIX_AIO_MAX == 1
+constant _POSIX_ARG_MAX == 4096
+#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+constant _POSIX_CHILD_MAX == 25
+#else
+constant _POSIX_CHILD_MAX == 6
+#endif
+constant _POSIX_DELAYTIMER_MAX == 32
+constant _POSIX_LINK_MAX == 8
+constant _POSIX_LOGIN_NAME_MAX == 9
+constant _POSIX_MAX_CANON == 255
+constant _POSIX_MAX_INPUT == 255
+constant _POSIX_MQ_OPEN_MAX == 8
+constant _POSIX_MQ_PRIO_MAX == 32
+constant _POSIX_NAME_MAX == 14
+#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+constant _POSIX_NGROUPS_MAX == 8
+#else
+constant _POSIX_NGROUPS_MAX == 0
+#endif
+#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+constant _POSIX_OPEN_MAX == 20
+#else
+constant _POSIX_OPEN_MAX == 16
+#endif
+// Value was 255, corrected to 256 following an interpretation request.
+constant _POSIX_PATH_MAX == 256
+constant _POSIX_PIPE_BUF == 512
+constant _POSIX_RTSIG_MAX == 8
+constant _POSIX_SEM_NSEMS_MAX == 256
+constant _POSIX_SEM_VALUE_MAX == 32767
+constant _POSIX_SIGQUEUE_MAX == 32
+constant _POSIX_SSIZE_MAX == 32767
+constant _POSIX_STREAM_MAX == 8
+#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
 optional-constant _POSIX_SS_REPL_MAX == 4
 optional-constant _POSIX_SYMLINK_MAX == 255
 optional-constant _POSIX_SYMLOOP_MAX == 8
-optional-constant _POSIX_THREAD_DESTRUCTOR_ITERATIONS == 4
-optional-constant _POSIX_THREAD_KEYS_MAX == 128
-optional-constant _POSIX_THREAD_THREADS_MAX == 64
-optional-constant _POSIX_TIMER_MAX == 32
-optional-constant _POSIX_TTY_NAME_MAX == 9
-optional-constant _POSIX_TZNAME_MAX == 6
-optional-constant _POSIX2_BC_BASE_MAX == 99
-optional-constant _POSIX2_BC_DIM_MAX == 2048
-optional-constant _POSIX2_BC_SCALE_MAX == 99
-optional-constant _POSIX2_BC_STRING_MAX == 1000
-optional-constant _POSIX2_CHARCLASS_NAME_MAX == 14
-optional-constant _POSIX2_COLL_WEIGHTS_MAX == 2
-optional-constant _POSIX2_EXPR_NEST_MAX == 32
-optional-constant _POSIX2_LINE_MAX == 2048
-optional-constant _POSIX2_RE_DUP_MAX == 255
+#endif
+constant _POSIX_THREAD_DESTRUCTOR_ITERATIONS == 4
+constant _POSIX_THREAD_KEYS_MAX == 128
+constant _POSIX_THREAD_THREADS_MAX == 64
+constant _POSIX_TIMER_MAX == 32
+constant _POSIX_TTY_NAME_MAX == 9
+#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+constant _POSIX_TZNAME_MAX == 6
+#else
+constant _POSIX_TZNAME_MAX == 3
+#endif
+macro-constant _POSIX2_BC_BASE_MAX == 99
+macro-constant _POSIX2_BC_DIM_MAX == 2048
+macro-constant _POSIX2_BC_SCALE_MAX == 99
+macro-constant _POSIX2_BC_STRING_MAX == 1000
+#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+constant _POSIX2_CHARCLASS_NAME_MAX == 14
+#endif
+macro-constant _POSIX2_COLL_WEIGHTS_MAX == 2
+macro-constant _POSIX2_EXPR_NEST_MAX == 32
+macro-constant _POSIX2_LINE_MAX == 2048
+macro-constant _POSIX2_RE_DUP_MAX == 255
+#if !defined POSIX && !defined POSIX2008 && !defined XPG3
 optional-constant _XOPEN_IOV_MAX == 16
+#endif
 
 #if !defined POSIX && !defined POSIX2008
 constant WORD_BIT >= 16
@@ -146,22 +170,31 @@
 #endif
 constant SSIZE_MAX
 
+#if !defined POSIX && !defined XPG3 && !defined XPG4
 optional-constant CHARCLASS_NAME_MAX >= 14
+#endif
+#if !defined POSIX && !defined XPG3
 optional-constant NL_ARGMAX >= 9
-#if !defined POSIX && !defined POSIX2008
+# if !defined POSIX2008
 optional-constant NL_LANGMAX >= 14
-#endif
+# endif
 optional-constant NL_MSGMAX >= 32767
-#if !defined XOPEN2K8 && !defined POSIX2008
+# if !defined XOPEN2K8 && !defined POSIX2008
 optional-constant NL_NMAX
-#endif
+# endif
 optional-constant NL_SETMAX >= 255
 optional-constant NL_TEXTMAX
-#if !defined POSIX && !defined POSIX2008
+# if !defined POSIX2008
 optional-constant NZERO >= 20
-#endif
+# endif
+#endif
+#if defined XPG4 || defined UNIX98
 optional-constant TMP_MAX >= 10000
+#endif
 
 allow *_MAX
+#if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
 allow *_MIN
 #endif
+allow *_t
+#endif

Modified: fsf/trunk/libc/conform/data/locale.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/locale.h-data (original)
+++ fsf/trunk/libc/conform/data/locale.h-data Tue Nov 20 00:02:21 2012
@@ -31,7 +31,7 @@
 macro-int-constant LC_ALL
 macro-int-constant LC_COLLATE
 macro-int-constant LC_CTYPE
-#if !defined ISO && !defined ISO99 && !defined ISO11
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
 macro-int-constant LC_MESSAGES
 #endif
 macro-int-constant LC_MONETARY

Modified: fsf/trunk/libc/conform/data/mqueue.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/mqueue.h-data (original)
+++ fsf/trunk/libc/conform/data/mqueue.h-data Tue Nov 20 00:02:21 2012
@@ -3,6 +3,11 @@
 type mqd_t
 
 type {struct sigevent}
+element {struct sigevent} int sigev_notify
+element {struct sigevent} int sigev_signo
+element {struct sigevent} {union sigval} sigev_value
+element {struct sigevent} {void(*} sigev_notify_function )(union sigval)
+element {struct sigevent} {pthread_attr_t*} sigev_notify_attributes
 
 type {struct mq_attr}
 element {struct mq_attr} long mq_flags
@@ -28,7 +33,6 @@
 type size_t
 type ssize_t
 type {struct timespec}
-type {struct sigevent}
 #endif
 
 allow-header fcntl.h
@@ -36,5 +40,7 @@
 allow-header sys/types.h
 allow-header time.h
 
+allow mq_*
+allow MQ_*
 allow *_t
 #endif

Modified: fsf/trunk/libc/conform/data/regex.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/regex.h-data (original)
+++ fsf/trunk/libc/conform/data/regex.h-data Tue Nov 20 00:02:21 2012
@@ -26,6 +26,7 @@
 constant REG_EPAREN
 constant REG_EBRACE
 constant REG_BADBR
+constant REG_ERANGE
 constant REG_ESPACE
 constant REG_BADRPT
 # if !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008

Modified: fsf/trunk/libc/conform/data/signal.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/signal.h-data (original)
+++ fsf/trunk/libc/conform/data/signal.h-data Tue Nov 20 00:02:21 2012
@@ -203,8 +203,10 @@
 # if !defined POSIX && !defined POSIX2008
 function int killpg (pid_t, int)
 # endif
+# if !defined XPG3 && !defined XPG4
 function int pthread_kill (pthread_t, int)
 function int pthread_sigmask (int, const sigset_t*, sigset_t*)
+# endif
 function int sigaction (int, const struct sigaction*, struct sigaction*)
 function int sigaddset (sigset_t*, int)
 # if !defined POSIX && !defined POSIX2008
@@ -224,7 +226,9 @@
 # endif
 function int sigpending (sigset_t*)
 function int sigprocmask (int, const sigset_t*, sigset_t*)
+# if !defined XPG3 && !defined XPG4
 function int sigqueue (pid_t, int, const union sigval)
+# endif
 # if !defined POSIX && !defined POSIX2008
 function int sigrelse (int)
 function void (*sigset (int, void(*)(int)))(int)
@@ -233,9 +237,13 @@
 function int sigstack (struct sigstack*, struct sigstack*)
 # endif
 function int sigsuspend (const sigset_t*)
+# if !defined XPG3 && !defined XPG4
 function int sigtimedwait (const sigset_t*, siginfo_t*, const struct timespec*)
+# endif
 function int sigwait (const sigset_t*, int*)
+# if !defined XPG3 && !defined XPG4
 function int sigwaitinfo (const sigset_t*, siginfo_t*)
+# endif
 # if defined XOPEN2K8 || defined POSIX2008
 function void psiginfo (const siginfo_t*, const char*)
 function void psignal (int, const char*)

Modified: fsf/trunk/libc/conform/data/stdio.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/stdio.h-data (original)
+++ fsf/trunk/libc/conform/data/stdio.h-data Tue Nov 20 00:02:21 2012
@@ -9,7 +9,11 @@
 #if !defined ISO && !defined ISO99 && !defined ISO11
 constant L_ctermid
 # if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
+#  ifdef POSIX
+optional-constant L_cuserid
+#  else
 constant L_cuserid
+#  endif
 # endif
 #endif
 macro-int-constant L_tmpnam
@@ -99,7 +103,7 @@
 function int getchar (void)
 #if defined POSIX || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
 function int getc_unlocked (FILE*)
-function int getchar_unlocked ()
+function int getchar_unlocked (void)
 #endif
 #if defined XOPEN2K8 || defined POSIX2008
 function ssize_t getdelim (char**, size_t*, int, FILE*)
@@ -144,7 +148,7 @@
 function int scanf (const char*, ...)
 function void setbuf (FILE*, char*)
 function int setvbuf (FILE*, char*, int, size_t)
-#if !defined ISO && !defined POSIX
+#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4
 function int snprintf (char*, size_t, const char*, ...)
 #endif
 function int sprintf (char *, const char *, ...)
@@ -166,7 +170,7 @@
 #if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
 function int vscanf (const char*, va_list)
 #endif
-#if !defined ISO && !defined POSIX
+#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4
 function int vsnprintf (char*, size_t, const char*, va_list)
 #endif
 function int vsprintf (char*, const char*, va_list)
@@ -174,15 +178,17 @@
 function int vsscanf (const char*, const char*, va_list)
 #endif
 
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
-#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
+#if !defined ISO && !defined ISO99 && !defined ISO11
+#if !defined POSIX && !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
 variable {char*} optarg
 variable int opterr
 variable int optind
 variable int optopt
 #endif
 
+#if !defined POSIX
 allow-header stddef.h
+#endif
 
 allow *_t
 #endif

Modified: fsf/trunk/libc/conform/data/sys/stat.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/stat.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/stat.h-data Tue Nov 20 00:02:21 2012
@@ -1,6 +1,6 @@
 #if !defined ISO && !defined ISO99 && !defined ISO11
 
-#if !defined POSIX && !defined POSIX2008
+#if !defined POSIX && !defined POSIX2008 && !defined XPG3 && !defined XPG4
 type blkcnt_t
 type blksize_t
 #endif

Modified: fsf/trunk/libc/conform/data/sys/times.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/times.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/times.h-data Tue Nov 20 00:02:21 2012
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
+#if !defined ISO && !defined ISO99 && !defined ISO11
 type {struct tms}
 
 element {struct tms} clock_t tms_utime

Modified: fsf/trunk/libc/conform/data/time.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/time.h-data (original)
+++ fsf/trunk/libc/conform/data/time.h-data Tue Nov 20 00:02:21 2012
@@ -5,7 +5,7 @@
 macro-int-constant TIME_UTC > 0
 #endif
 
-#if !defined ISO && !defined ISO99
+#if !defined ISO && !defined ISO99 && !defined XPG3 && !defined XPG4
 type {struct timespec}
 
 element {struct timespec} time_t tv_sec
@@ -45,6 +45,7 @@
 # if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
 symbol CLK_TCK
 # endif
+# if !defined XPG3 && !defined XPG4
 constant CLOCK_PROCESS_CPUTIME_ID
 constant CLOCK_THREAD_CPUTIME_ID
 
@@ -59,6 +60,7 @@
 
 type clockid_t
 type timer_t
+# endif
 
 # if defined XOPEN2K8 || defined POSIX2008
 type pid_t
@@ -74,30 +76,38 @@
 #if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
 function int clock_getcpuclockid (pid_t, clockid_t*)
 #endif
+#if !defined XPG3 && !defined XPG4
 function int clock_getres (clockid_t, struct timespec*)
 function int clock_gettime (clockid_t, struct timespec*)
+#endif
 #if !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
 function int clock_nanosleep (clockid_t, int, const struct timespec*, struct timespec*)
 #endif
+#if !defined XPG3 && !defined XPG4
 function int clock_settime (clockid_t, const struct timespec*)
+#endif
 function {char*} ctime_r (const time_t*, char*)
 # if !defined POSIX && !defined POSIX2008
 function {struct tm*} getdate (const char*)
 # endif
 function {struct tm*} gmtime_r (const time_t*, struct tm*)
 function {struct tm*} localtime_r (const time_t*, struct tm*)
+# if !defined XPG3 && !defined XPG4
 function int nanosleep (const struct timespec*, struct timespec*)
+# endif
 # if defined XOPEN2K8 || defined POSIX2008
 function size_t strftime_l (char*, size_t, const char*, const struct tm*, locale_t)
 # endif
 # if !defined POSIX && !defined POSIX2008
 function {char*} strptime (const char*, const char*, struct tm*)
 # endif
+# if !defined XPG3 && !defined XPG4
 function int timer_create (clockid_t, struct sigevent*, timer_t*)
 function int timer_delete (timer_t)
 function int timer_gettime (timer_t, struct itimerspec*)
 function int timer_getoverrun (timer_t)
 function int timer_settime (timer_t, int, const struct itimerspec*, struct itimerspec*)
+# endif
 function void tzset (void)
 
 # if !defined POSIX && !defined POSIX2008

Modified: fsf/trunk/libc/conform/data/unistd.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/unistd.h-data (original)
+++ fsf/trunk/libc/conform/data/unistd.h-data Tue Nov 20 00:02:21 2012
@@ -392,7 +392,9 @@
 #ifndef POSIX
 function int fchdir (int)
 #endif
+#if !defined XPG3 && !defined XPG4
 function int fdatasync (int)
+#endif
 # if defined XOPEN2K8 || defined POSIX2008
 function int fexecve (int, char *const[], char *const[])
 # endif
@@ -415,7 +417,9 @@
 function int gethostname (char*, size_t)
 #endif
 function {char*} getlogin (void)
+#if !defined XPG3 && !defined XPG4
 function int getlogin_r (char*, size_t)
+#endif
 function int getopt (int, char*const[], const char*)
 #if defined XPG3 || defined XPG4 || defined UNIX98
 function int getpagesize (void)
@@ -452,13 +456,13 @@
 function {long int} pathconf (const char*, int)
 function int pause (void)
 function int pipe (int[2])
-#ifndef POSIX
+#if !defined POSIX && !defined XPG3 && !defined XPG4
 function ssize_t pread (int, void*, size_t, off_t)
 #endif
-#if !defined POSIX && !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
+#if !defined POSIX && !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008 && !defined XPG3 && !defined XPG4
 function int pthread_atfork (void(*)(void), void(*)(void), void(*)(void))
 #endif
-#ifndef POSIX
+#if !defined POSIX && !defined XPG3 && !defined XPG4
 function ssize_t pwrite (int, const void*, size_t, off_t)
 #endif
 function ssize_t read (int, void*, size_t)

Modified: fsf/trunk/libc/conform/data/wordexp.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/wordexp.h-data (original)
+++ fsf/trunk/libc/conform/data/wordexp.h-data Tue Nov 20 00:02:21 2012
@@ -13,6 +13,7 @@
 constant WRDE_UNDEF
 
 constant WRDE_BADCHAR
+constant WRDE_BADVAL
 constant WRDE_CMDSUB
 constant WRDE_NOSPACE
 # if !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008

Modified: fsf/trunk/libc/elf/cache.c
==============================================================================
--- fsf/trunk/libc/elf/cache.c (original)
+++ fsf/trunk/libc/elf/cache.c Tue Nov 20 00:02:21 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999-2003,2005,2006,2007,2011 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Andreas Jaeger <aj@xxxxxxx>, 1999.
 
@@ -93,6 +93,12 @@
       break;
     case FLAG_X8664_LIBX32:
       fputs (",x32", stdout);
+      break;
+    case FLAG_ARM_LIBHF:
+      fputs (",hard-float", stdout);
+      break;
+    case FLAG_AARCH64_LIB64:
+      fputs (",AArch64", stdout);
       break;
     case 0:
       break;

Modified: fsf/trunk/libc/localedata/ChangeLog
==============================================================================
--- fsf/trunk/libc/localedata/ChangeLog (original)
+++ fsf/trunk/libc/localedata/ChangeLog Tue Nov 20 00:02:21 2012
@@ -1,3 +1,8 @@
+2012-11-19  Eagle Burkut  <eagle.burkut@xxxxxxxxx>
+
+	[BZ #13759]
+	* locales/ug_CN (LC_COLLATE, LC_TIME, LC_MESSAGES): Fix entries.
+
 2012-11-16  Andreas Jaeger  <aj@xxxxxxx>
 
 	[BZ #14368]

Modified: fsf/trunk/libc/localedata/locales/ug_CN
==============================================================================
--- fsf/trunk/libc/localedata/locales/ug_CN (original)
+++ fsf/trunk/libc/localedata/locales/ug_CN Tue Nov 20 00:02:21 2012
@@ -3,14 +3,14 @@
 %
 % Uyghur language locale for China
 % Source:
-% Contact: Pablo Saratxaga
-% Email: pablo@xxxxxxxxxxxx
-% Language: ug
+% Contact:   Eagle Burkut
+% Email:     eagle.burkut@xxxxxxxxx
+% Language:  ug
 % Territory: CN
-% Revision: 0.1
-% Date: 2005-11-08
-% Users: general
-% Charset: UTF-8
+% Revision:  2.00
+% Date:      2012-02-26
+% Users:     general
+% Charset:   UTF-8
 % Distribution and use is free, also
 % for commercial purposes.
 
@@ -18,14 +18,14 @@
 title      "Uyghur locale for China"
 source     ""
 address    ""
-contact    ""
-email      "pablo@xxxxxxxxxxxx"
+contact    "Eagle Burkut"
+email      "eagle.burkut@xxxxxxxxx"
 tel        ""
 fax        ""
 language   "Uyghur"
 territory  "China"
-revision   "0.1"
-date       "2005-11-08"
+revision   "2.00"
+date       "2011-02-26"
 %
 category  "ug_CN:2000";LC_IDENTIFICATION
 category  "ug_CN:2000";LC_CTYPE
@@ -33,6 +33,7 @@
 category  "ug_CN:2000";LC_TIME
 category  "ug_CN:2000";LC_NUMERIC
 category  "ug_CN:2000";LC_MONETARY
+category  "ug_CN:2000";LC_MEASUREMENT
 category  "ug_CN:2000";LC_MESSAGES
 category  "ug_CN:2000";LC_PAPER
 category  "ug_CN:2000";LC_NAME
@@ -43,209 +44,178 @@
 
 LC_COLLATE
 
-% letters list and sort order from
+%
 % http://en.wikipedia.org/wiki/Uyghur_language
-% sorting order guessed for old latin writting
-%
-% old latin writting is based in pinyin, with some extra letters:
-% <schwa>, <z with tail>, <gh>, <k with tail>, <h with tail>,
-% <barred o> (they seem inspired from cyrillic)
-% tail letters can be written with base letter + combining tail U+0321
-% there are also reserved codepoints U+2C67-U+2C6C for them in
-% unicode 5.0 proposal.
-% U+0224, U+0225 are also similar to ztail and are sorted the same.
-%
-% new arabic writting uses some extra letters too.
-% all vowels are noted, and in beginning of the word there is a
-% "yeh with hamza" (U+0626) in the front; should it be ignored
-% in sorting?
-%
-% arabic     old latin       turkic (from azeri, which has same phonemes)
-% ========== =============== ======
-% alef  0627 a               a
-% ae    06d5 schwa 018F,0259 ÃÂ
-% beh   0628 b               b
-% peh   067e p               p
-% teh   062a t               t
-% jeem  062c j               c <
-% tcheh 0686 q               ÃÂ <
-% khah  062e h               x <
-% dal   062f d               d
-% reh   0631 r               r
-% zain  0632 z               z
-% jeh   0698 ztail 0224,0225 j <
-% seen  0633 s               s
-% sheen 0634 x               ÃÂ
-% ghain 063a gh 01a2,01a3    ÃÂ <
-% feh   0641 f               f
-% qaf   0642 ktail           q <
-% kaf   0643 k               k
-% ng    06ad ng              ÃÂ <
-% gaf   06af g               g
-% lam   0644 l               l
-% meem  0645 m               m
-% noon  0646 n               n
-% heh   0647 htail           h <
-% waw   0648 o               o
-% u     06c7 u               u
-% oe    06c6 obar 019f,0275  ÃÂ <
-% yu    06c8 ÃÂ               ÃÂ
-% ve    06cb v               v
-% e     06d0 e               e
-% f.yeh 06cc i               i      (or alef maqsura 0649?)
-% yeh   064a y               y
-% (<): differences between old latin and turkic writting
-
+%
+% CODE - UNICODE CODE POINT
+% UL   - UYGHUR LATIN
+% IN?  - IN ISO 14651_T1
+%
+% NO CODE UL ENGLISH NAME         AR IN?
+% ======================================
+%  1 0627 a  alef                 ÃÂ
+%  2 06d5 e  ae                   ÃÂ  ???
+%  3 0628 b  beh                  ÃÂ
+%  4 067e p  peh                  ÃÂ
+%  5 062a t  teh                  ÃÂ
+%  6 062c j  jeem                 ÃÂ
+%  7 0686 ch tcheh                ÃÂ
+%  8 062e x  khah                 ÃÂ
+%  9 062f d  dal                  ÃÂ
+% 10 0631 r  reh                  ÃÂ
+% 11 0632 z  zain                 ÃÂ
+% 12 0698 zh jeh                  ÃÂ
+% 13 0633 s  seen                 ÃÂ
+% 14 0634 sh sheen                ÃÂ
+% 15 063a gh ghain                ÃÂ
+% 16 0641 f  feh                  ÃÂ
+% 17 0642 q  qaf                  ÃÂ
+% 18 0643 k  kaf                  ÃÂ
+% 19 06af g  gaf                  ÃÂ
+% 20 06ad ng ng                   ÃÂ ???
+% 21 0644 l  lam                  ÃÂ
+% 22 0645 m  meem                 ÃÂ
+% 23 0646 n  noon                 ÃÂ
+% 24 06be h  heh doachashmee      ÃÂ ???
+% 25 0648 o  waw                  ÃÂ
+% 26 06c7 u  u                    ÃÂ ???
+% 27 06c6 ÃÂ  oe                   ÃÂ ???
+% 28 06c8 ÃÂ  yu                   ÃÂ ???
+% 29 06cb w  ve                   ÃÂ ???
+% 30 06d0 ÃÂ  e                    ÃÂ ???
+% 31 0649 i  alef maksura         ÃÂ
+% 32 064a y  yeh                  ÃÂ ???
+% -- 0626 '  yeh with hamza above ÃÂ ???
+%
 copy "iso14651_t1"
 
-collating-symbol  <schwa>
-collating-symbol  <gh>
-collating-symbol  <ng>
-collating-symbol  <ccedilla>
-collating-symbol  <scedilla>
-collating-symbol  <htail>
-collating-symbol  <ktail>
-collating-symbol  <ztail>
-collating-symbol  <obar>
-collating-symbol  <udiaeresis>
-
-collating-element <h,> from "<U0068><U0321>"
-collating-element <H,> from "<U0048><U0321>"
-collating-element <k,> from "<U006B><U0321>"
-collating-element <K,> from "<U004B><U0321>"
-collating-element <z,> from "<U007A><U0321>"
-collating-element <Z,> from "<U005A><U0321>"
-
-collating-symbol  <ar_ae>
-collating-symbol  <ar_ng>
-collating-symbol  <ar_u>
-collating-symbol  <ar_oe>
-collating-symbol  <ar_yu>
-collating-symbol  <ar_ve>
-collating-symbol  <ar_e>
-collating-symbol  <ar_i>
-collating-symbol  <ar_y>
-
-% latin
-reorder-after <a>
-<schwa>
-reorder-after <c>
-<ccedilla>
-reorder-after <g>
-<gh>
-reorder-after <h>
-<htail>
-reorder-after <k>
-<ktail>
-reorder-after <n>
-<ng>
-reorder-after <o>
-<obar>
-reorder-after <s>
-<scedilla>
-reorder-after <u>
-<udiaeresis>
-reorder-after <z>
-<ztail>
-
-reorder-after <U0061>
-<U0259>   <schwa>;<PCL>;<MIN>;IGNORE
-<U00E4>   <schwa>;<REU>;<MIN>;IGNORE
-reorder-after <U0041>
-<U018F>   <schwa>;<PCL>;<CAP>;IGNORE
-<U00C4>   <schwa>;<REU>;<CAP>;IGNORE
-
-reorder-after <U0063>
-<U00E7> <ccedilla>;<CDI>;<MIN>;IGNORE
-reorder-after <U0043>
-<U00C7> <ccedilla>;<CDI>;<CAP>;IGNORE
-
-reorder-after <U0067>
-<U01A3>   <gh>;<PCL>;<MIN>;IGNORE
-<U011F>   <gh>;<BRE>;<MIN>;IGNORE
-reorder-after <U0047>
-<U01A2>   <gh>;<PCL>;<CAP>;IGNORE
-<U011E>   <gh>;<BRE>;<CAP>;IGNORE
-
-reorder-after <U0068>
-<U2C68> <htail>;<PCL>;<MIN>;IGNORE
-<h,>    <htail>;<PCL>;<MIN>;IGNORE
-reorder-after <U0048>
-<U2C67> <htail>;<PCL>;<CAP>;IGNORE
-<H,>    <htail>;<PCL>;<CAP>;IGNORE
-
-reorder-after <U006B>
-<U2C6A> <ktail>;<PCL>;<MIN>;IGNORE
-<k,>    <ktail>;<PCL>;<MIN>;IGNORE
-reorder-after <U004B>
-<U2C69> <ktail>;<PCL>;<CAP>;IGNORE
-<K,>    <ktail>;<PCL>;<CAP>;IGNORE
-
-reorder-after <U006E>
-<U00F1> <ng>;<TIL>;<MIN>;IGNORE
-reorder-after <U004E>
-<U00D1> <ng>;<TIL>;<CAP>;IGNORE
-
-reorder-after <U006F>
-<U0275> <obar>;<PCL>;<MIN>;IGNORE
-<U00F6> <obar>;<REU>;<MIN>;IGNORE
-reorder-after <U004F>
-<U019F> <obar>;<PCL>;<CAP>;IGNORE
-<U00D6> <obar>;<REU>;<CAP>;IGNORE
-
-reorder-after <U0073>
-<U015F> <scedilla>;<CDI>;<MIN>;IGNORE
-reorder-after <U0053>
-<U015E> <scedilla>;<CDI>;<CAP>;IGNORE
-
-reorder-after <U0075>
-<U00FC> <udiaeresis>;<REU>;<MIN>;IGNORE
-reorder-after <U0055>
-<U00DC> <udiaeresis>;<REU>;<CAP>;IGNORE
-
-reorder-after <U007A>
-<U2C6C> <ztail>;<PCL>;<MIN>;IGNORE
-<z,>    <ztail>;<PCL>;<MIN>;IGNORE
-<U0225> <ztail>;<PCL>;<MIN>;IGNORE
-reorder-after <U005A>
-<U2C6B> <ztail>;<PCL>;<CAP>;IGNORE
-<Z,>    <ztail>;<PCL>;<CAP>;IGNORE
-<U0224> <ztail>;<PCL>;<CAP>;IGNORE
-
-% arabic
+% <yeh with hamza above> + <alef> = ÃÂÃÂ
+collating-symbol  <ARA_ywha_alef>
+
+% <yeh with hamza above> + <ae> = ÃÂÃÂ
+collating-symbol  <ARA_ywha_ae>
+
+% <ae> = ÃÂ
+collating-symbol  <ARA_ae>
+
+% <ng> = ÃÂ
+collating-symbol  <ARA_ng>
+
+% <heh doachashmee> = ÃÂ
+collating-symbol  <ARA_hehd>
+
+% <yeh with hamza above> + <waw> = ÃÂÃÂ
+collating-symbol  <ARA_ywha_waw>
+
+% <yeh with hamza above> + <u> = ÃÂÃÂ
+collating-symbol  <ARA_ywha_u>
+
+% <u> = ÃÂ
+collating-symbol  <ARA_u>
+
+% <yeh with hamza above> + <oe> = ÃÂÃÂ
+collating-symbol  <ARA_ywha_oe>
+
+% <oe> = ÃÂ
+collating-symbol  <ARA_oe>
+
+% <yeh with hamza above> + <yu> = ÃÂÃÂ
+collating-symbol  <ARA_ywha_yu>
+
+% <yu> = ÃÂ
+collating-symbol  <ARA_yu>
+
+% <ve> = ÃÂ
+collating-symbol  <ARA_ve>
+
+% <yeh with hamza above> + <e> = ÃÂÃÂ
+collating-symbol  <ARA_ywha_e>
+
+% <e> = ÃÂ
+collating-symbol  <ARA_e>
+
+% <yeh with hamza above> + <alef maksura> = ÃÂÃÂ
+collating-symbol  <ARA_ywha_alma>
+
+% <yeh> = ÃÂ
+collating-symbol  <ARA_yeh>
+
+% <yeh with hamza above> = ÃÂ
+collating-symbol  <ARA_ywha>
+
+collating-element <ara_h_alef> from "<U0626><U0627>" % ÃÂÃÂ
+collating-element <ara_h_ae>   from "<U0626><U06D5>" % ÃÂÃÂ
+collating-element <ara_h_waw>  from "<U0626><U0648>" % ÃÂÃÂ
+collating-element <ara_h_u>    from "<U0626><U06C7>" % ÃÂÃÂ
+collating-element <ara_h_oe>   from "<U0626><U06C6>" % ÃÂÃÂ
+collating-element <ara_h_yu>   from "<U0626><U06C8>" % ÃÂÃÂ
+collating-element <ara_h_e>    from "<U0626><U06D0>" % ÃÂÃÂ
+collating-element <ara_h_alma> from "<U0626><U0649>" % ÃÂÃÂ
+
 reorder-after <alef>
-<ar_ae>
-reorder-after <keheh>
-<ar_ng>
+<ARA_ywha_alef>
+<alef>
+<ARA_ywha_ae>
+<ARA_ae>
+
+reorder-after <gaf>
+<ARA_ng>
+
+reorder-after <noon>
+<ARA_hehd>
+
 reorder-after <waw>
-<ar_u>
-<ar_oe>
-<ar_yu>
-<ar_ve>
-<ar_e>
-<ar_i>
-<ar_y>
-
-reorder-after <U0627>
-<U06D5> <ar_ae>;<BAS>;<MIN>;IGNORE
-reorder-after <U06A9>
-<U06AD> <ar_ng>;<BAS>;<MIN>;IGNORE
-reorder-after <U0648>
-<U06C7> <ar_u>;<BAS>;<MIN>;IGNORE
-<U06C6> <ar_oe>;<BAS>;<MIN>;IGNORE
-<U06C8> <ar_yu>;<BAS>;<MIN>;IGNORE
-<U06CB> <ar_ve>;<BAS>;<MIN>;IGNORE
-<U06D0> <ar_e>;<BAS>;<MIN>;IGNORE
-<U06CC> <ar_i>;<BAS>;<MIN>;IGNORE
-<U064A> <ar_y>;<BAS>;<MIN>;IGNORE
+<ARA_ywha_waw>
+<waw>
+<ARA_ywha_u>
+<ARA_u>
+<ARA_ywha_oe>
+<ARA_oe>
+<ARA_ywha_yu>
+<ARA_yu>
+<ARA_ve>
+<ARA_ywha_e>
+<ARA_e>
+<ARA_ywha_alma>
+<alef_maksura>
+<ARA_yeh>
+<ARA_ywha>
+
+reorder-after   <U0627>
+<ara_h_alef>    <ARA_ywha_alef>;<BAS>;<MIN>;IGNORE
+<U0627>         <alef>;<BAS>;<MIN>;IGNORE
+<ara_h_ae>      <ARA_ywha_ae>;<BAS>;<MIN>;IGNORE
+<U06D5>         <ARA_ae>;<BAS>;<MIN>;IGNORE
+
+reorder-after   <U06AF>
+<U06AD>         <ARA_ng>;<BAS>;<MIN>;IGNORE
+
+reorder-after   <U0646>
+<U06BE>         <ARA_hehd>;<BAS>;<MIN>;IGNORE
+
+reorder-after   <U0648>
+<ara_ywha_waw>  <ARA_ywha_waw>;<BAS>;<MIN>;IGNORE
+<U0648>         <waw>;<BAS>;<MIN>;IGNORE
+<ara_ywha_u>    <ARA_ywha_u>;<BAS>;<MIN>;IGNORE
+<U06C7>         <ARA_u>;<BAS>;<MIN>;IGNORE
+<ara_ywha_oe>   <ARA_ywha_oe>;<BAS>;<MIN>;IGNORE
+<U06C6>         <ARA_oe>;<BAS>;<MIN>;IGNORE
+<ara_ywha_yu>   <ARA_ywha_yu>;<BAS>;<MIN>;IGNORE
+<U06C8>         <ARA_yu>;<BAS>;<MIN>;IGNORE
+<U06CB>         <ARA_ve>;<BAS>;<MIN>;IGNORE
+<ara_ywha_e>    <ARA_ywha_e>;<BAS>;<MIN>;IGNORE
+<U06D0>         <ARA_e>;<BAS>;<MIN>;IGNORE
+<ara_ywha_alma> <ARA_ywha_alma>;<BAS>;<MIN>;IGNORE
+<U0649>         <alef_maksura>;<BAS>;<MIN>;IGNORE
+<U064A>         <ARA_yeh>;<BAS>;<MIN>;IGNORE
+<U0626>         <ARA_ywha>;<BAS>;<MIN>;IGNORE
 
 reorder-end
 
 END LC_COLLATE
 
 LC_CTYPE
-% FIXME
-copy "en_DK"
+copy "i18n"
 END LC_CTYPE
 
 LC_MONETARY
@@ -261,59 +231,75 @@
 END LC_TELEPHONE
 
 LC_TIME
-% FIXME
-abday    "<U0053><U0075><U006E>";"<U004D><U006F><U006E>";/
-         "<U0054><U0075><U0065>";"<U0057><U0065><U0064>";/
-         "<U0054><U0068><U0075>";"<U0046><U0072><U0069>";/
-         "<U0053><U0061><U0074>"
-day      "<U0053><U0075><U006E><U0064><U0061><U0079>";/
-         "<U004D><U006F><U006E><U0064><U0061><U0079>";/
-         "<U0054><U0075><U0065><U0073><U0064><U0061><U0079>";/
-         "<U0057><U0065><U0064><U006E><U0065><U0073><U0064><U0061><U0079>";/
-         "<U0054><U0068><U0075><U0072><U0073><U0064><U0061><U0079>";/
-         "<U0046><U0072><U0069><U0064><U0061><U0079>";/
-         "<U0053><U0061><U0074><U0075><U0072><U0064><U0061><U0079>"
-abmon    "<U004A><U0061><U006E>";"<U0046><U0065><U0062>";/
-         "<U004D><U0061><U0072>";"<U0041><U0070><U0072>";/
-         "<U004D><U0061><U0079>";"<U004A><U0075><U006E>";/
-         "<U004A><U0075><U006C>";"<U0041><U0075><U0067>";/
-         "<U0053><U0065><U0070>";"<U004F><U0063><U0074>";/
-         "<U004E><U006F><U0076>";"<U0044><U0065><U0063>"
-mon      "<U004A><U0061><U006E><U0075><U0061><U0072><U0079>";/
-         "<U0046><U0065><U0062><U0072><U0075><U0061><U0072><U0079>";/
-         "<U004D><U0061><U0072><U0063><U0068>";/
-         "<U0041><U0070><U0072><U0069><U006C>";/
-         "<U004D><U0061><U0079>";/
-         "<U004A><U0075><U006E><U0065>";/
-         "<U004A><U0075><U006C><U0079>";/
-         "<U0041><U0075><U0067><U0075><U0073><U0074>";/
-         "<U0053><U0065><U0070><U0074><U0065><U006D><U0062><U0065><U0072>";/
-         "<U004F><U0063><U0074><U006F><U0062><U0065><U0072>";/
-         "<U004E><U006F><U0076><U0065><U006D><U0062><U0065><U0072>";/
-         "<U0044><U0065><U0063><U0065><U006D><U0062><U0065><U0072>"
-% date formats following ISO 8601-1988
-d_t_fmt  "<U0025><U0059><U002D><U0025><U006D><U002D><U0025><U0064><U0054><U0025><U0054><U0020><U0025><U005A>"
-d_fmt    "<U0025><U0059><U002D><U0025><U006D><U002D><U0025><U0064>"
+
+abday "<U064A>";/
+      "<U062F>";/
+      "<U0633>";/
+      "<U0686>";/
+      "<U067E>";/
+      "<U062C>";/
+      "<U0634>"
+day   "<U064A><U06D5><U0643><U0634><U06D5><U0646><U0628><U06D5>";/
+      "<U062F><U06C8><U0634><U06D5><U0646><U0628><U06D5>";/
+      "<U0633><U06D5><U064A><U0634><U06D5><U0646><U0628><U06D5>";/
+      "<U0686><U0627><U0631><U0634><U06D5><U0646><U0628><U06D5>";/
+      "<U067E><U06D5><U064A><U0634><U06D5><U0646><U0628><U06D5>";/
+      "<U062C><U06C8><U0645><U06D5>";/
+      "<U0634><U06D5><U0646><U0628><U06D5>"
+abmon "<U0642><U06D5><U06BE><U0631><U0649><U062A><U0627><U0646>";/
+      "<U06BE><U06C7><U062A>";/
+      "<U0646><U0648><U0631><U06C7><U0632>";/
+      "<U0626><U06C8><U0645><U0649><U062F>";/
+      "<U0628><U0627><U06BE><U0627><U0631>";/
+      "<U0633><U06D5><U067E><U06D5><U0631>";/
+      "<U0686><U0649><U0644><U0644><U06D5>";/
+      "<U062A><U0648><U0645><U06C7><U0632>";/
+      "<U0645><U0649><U0632><U0627><U0646>";/
+      "<U0626><U0648><U063A><U06C7><U0632>";/
+      "<U0626><U0648><U063A><U0644><U0627><U0642>";/
+      "<U0643><U06C6><U0646><U06D5><U0643>"
+mon   "<U0642><U06D5><U06BE><U0631><U0649><U062A><U0627><U0646>";/
+      "<U06BE><U06C7><U062A>";/
+      "<U0646><U0648><U0631><U06C7><U0632>";/
+      "<U0626><U06C8><U0645><U0649><U062F>";/
+      "<U0628><U0627><U06BE><U0627><U0631>";/
+      "<U0633><U06D5><U067E><U06D5><U0631>";/
+      "<U0686><U0649><U0644><U0644><U06D5>";/
+      "<U062A><U0648><U0645><U06C7><U0632>";/
+      "<U0645><U0649><U0632><U0627><U0646>";/
+      "<U0626><U0648><U063A><U06C7><U0632>";/
+      "<U0626><U0648><U063A><U0644><U0627><U0642>";/
+      "<U0643><U06C6><U0646><U06D5><U0643>"
+
+% %aÃÂ %d-%m-%YÃÂ %T (wÃÂ dd-mm-YYYYÃÂ HH:MM:SS) (ÃÂÃÂÃÂÃÂÃÂ ÃÂÃÂÃÂÃÂÃÂÃÂ 31-12-2012ÃÂ 23:08:59)
+d_t_fmt  "<U0025><U0061><U060C><U0020><U0025><U0064><U002D><U0025><U006D><U002D><U0025><U0059>/
+<U060C><U0020><U0025><U0054>"
+
+% %aÃÂ %d-%m-%Y (wÃÂ dd-mm-YYYY) (ÃÂÃÂÃÂÃÂÃÂ ÃÂÃÂÃÂÃÂÃÂÃÂ 31-12-2012)
+d_fmt    "<U0025><U0061><U060C><U0020><U0025><U0064><U002D><U0025><U006D><U002D><U0025><U0059>"
+
+% %T (HH:MM:SS)
 t_fmt    "<U0025><U0054>"
+
 am_pm    "";""
-t_fmt_ampm  ""
-date_fmt	"<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
-<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
-<U0025><U005A><U0020><U0025><U0059>"
+
+% %aÃÂ %d-%m-%YÃÂ %T (wÃÂ dd-mm-YYYYÃÂ HH:MM:SS) (ÃÂÃÂÃÂÃÂÃÂ ÃÂÃÂÃÂÃÂÃÂÃÂ 31-12-2012ÃÂ 23:08:59)
+date_fmt "<U0025><U0061><U060C><U0020><U0025><U0064><U002D><U0025><U006D><U002D><U0025><U0059>/
+<U060C><U0020><U0025><U0054>"
+
 END LC_TIME
 
 LC_MESSAGES
-% FIXME
-yesexpr  "<U005E><U005B><U0031><U004A><U006A><U0073><U0053><U0079><U0059><U006F><U004F><U005D><U002E><U002A>"
-noexpr   "<U005E><U005B><U0030><U006E><U004E><U005D><U002E><U002A>"
-yesstr      "yes"
-nostr       "no"
+yesexpr "<U005E><U005B><U0079><U0059><U005D><U002E><U002A>"
+noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
+yesstr  "<U0059><U0065><U0073>"
+nostr   "<U004E><U006F>"
 END LC_MESSAGES
 
 % Default paper: A4
 LC_PAPER
 height 297
-width 210
+width  210
 END LC_PAPER
 
 % Metric System (ISO 1000)
@@ -321,12 +307,10 @@
 measurement 1
 END LC_MEASUREMENT
 
-LC_NAME
-% FIXME
-copy "en_DK"
+LC_NAME % to be fixed
+copy "zh_CN"
 END LC_NAME
 
-LC_ADDRESS
-% FIXME
-copy "en_DK"
+LC_ADDRESS % to be fixed
+copy "zh_CN"
 END LC_ADDRESS

Modified: fsf/trunk/libc/malloc/mtrace.c
==============================================================================
--- fsf/trunk/libc/malloc/mtrace.c (original)
+++ fsf/trunk/libc/malloc/mtrace.c Tue Nov 20 00:02:21 2012
@@ -364,11 +364,16 @@
   if (mallstream == NULL)
     return;
 
-  fprintf (mallstream, "= End\n");
-  fclose (mallstream);
+  /* Do the reverse of what done in mtrace: first reset the hooks and
+     MALLSTREAM, and only after that write the trailer and close the
+     file.  */
+  FILE *f = mallstream;
   mallstream = NULL;
   __free_hook = tr_old_free_hook;
   __malloc_hook = tr_old_malloc_hook;
   __realloc_hook = tr_old_realloc_hook;
   __memalign_hook = tr_old_memalign_hook;
-}
+
+  fprintf (f, "= End\n");
+  fclose (f);
+}

Modified: fsf/trunk/libc/math/libm-test.inc
==============================================================================
--- fsf/trunk/libc/math/libm-test.inc (original)
+++ fsf/trunk/libc/math/libm-test.inc Tue Nov 20 00:02:21 2012
@@ -1187,6 +1187,8 @@
   TEST_f_f (atan, plus_infty, M_PI_2l);
   TEST_f_f (atan, minus_infty, -M_PI_2l);
   TEST_f_f (atan, nan_value, nan_value);
+  TEST_f_f (atan, max_value, M_PI_2l);
+  TEST_f_f (atan, -max_value, -M_PI_2l);
 
   TEST_f_f (atan, 1, M_PI_4l);
   TEST_f_f (atan, -1, -M_PI_4l);
@@ -1294,6 +1296,9 @@
   TEST_ff_f (atan2, nan_value, nan_value, nan_value);
 
   TEST_ff_f (atan2, max_value, max_value, M_PI_4l);
+
+  TEST_ff_f (atan2, max_value, min_value, M_PI_2l);
+  TEST_ff_f (atan2, -max_value, -min_value, -M_PI_2l);
 
   TEST_ff_f (atan2, 0.75L, 1, 0.643501108793284386802809228717322638L);
   TEST_ff_f (atan2, -0.75L, 1.0L, -0.643501108793284386802809228717322638L);

Modified: fsf/trunk/libc/nss/getXXbyYY_r.c
==============================================================================
--- fsf/trunk/libc/nss/getXXbyYY_r.c (original)
+++ fsf/trunk/libc/nss/getXXbyYY_r.c Tue Nov 20 00:02:21 2012
@@ -284,7 +284,12 @@
 #endif
   *result = status == NSS_STATUS_SUCCESS ? resbuf : NULL;
 #ifdef NEED_H_ERRNO
-  if (status != NSS_STATUS_SUCCESS && ! any_service)
+  if (status == NSS_STATUS_UNAVAIL)
+    /* Either we failed to lookup the functions or the functions themselves
+       had a system error.  Set NETDB_INTERNAL here to let the caller know
+       that the errno may have the real reason for failure.  */
+      *h_errnop = NETDB_INTERNAL;
+  else if (status != NSS_STATUS_SUCCESS && !any_service)
     /* We were not able to use any service.  */
     *h_errnop = NO_RECOVERY;
 #endif

Modified: fsf/trunk/libc/ports/ChangeLog.aarch64
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.aarch64 (original)
+++ fsf/trunk/libc/ports/ChangeLog.aarch64 Tue Nov 20 00:02:21 2012
@@ -1,3 +1,34 @@
+2012-11-19  Marcus Shawcroft  <marcus.shawcroft@xxxxxxxxxx>
+
+	* sysdeps/aarch64/fpu/s_ceil.c: New file.
+	* sysdeps/aarch64/fpu/s_ceilf.c: New file.
+	* sysdeps/aarch64/fpu/s_floor.c: New file.
+	* sysdeps/aarch64/fpu/s_floorf.c: New file.
+	* sysdeps/aarch64/fpu/s_fma.c: Replace file.
+	* sysdeps/aarch64/fpu/s_fmaf.c: New file.
+	* sysdeps/aarch64/fpu/s_fmax.c: New file.
+	* sysdeps/aarch64/fpu/s_fmaxf.c: New file.
+	* sysdeps/aarch64/fpu/s_fmin.c: New file.
+	* sysdeps/aarch64/fpu/s_fminf.c: New file.
+	* sysdeps/aarch64/fpu/s_frint.x: New file.
+	* sysdeps/aarch64/fpu/s_frintf.x: New file.
+	* sysdeps/aarch64/fpu/s_llrint.c: New file.
+	* sysdeps/aarch64/fpu/s_llrintf.c: New file.
+	* sysdeps/aarch64/fpu/s_llround.c: New file.
+	* sysdeps/aarch64/fpu/s_llroundf.c: New file.
+	* sysdeps/aarch64/fpu/s_lrint.c: New file.
+	* sysdeps/aarch64/fpu/s_lrintf.c: New file.
+	* sysdeps/aarch64/fpu/s_lround.c: New file.
+	* sysdeps/aarch64/fpu/s_lroundf.c: New file.
+	* sysdeps/aarch64/fpu/s_nearbyint.c: New file.
+	* sysdeps/aarch64/fpu/s_nearbyintf.c: New file.
+	* sysdeps/aarch64/fpu/s_rint.c: New file.
+	* sysdeps/aarch64/fpu/s_rintf.c: New file.
+	* sysdeps/aarch64/fpu/s_round.c: New file.
+	* sysdeps/aarch64/fpu/s_roundf.c: New file.
+	* sysdeps/aarch64/fpu/s_trunc.c: New file.
+	* sysdeps/aarch64/fpu/s_truncf.c: New file.
+
 2012-11-09  Marcus Shawcroft  <marcus.shawcroft@xxxxxxxxxx>
 
 	* sysdeps/aarch64/Implies: New file.

Modified: fsf/trunk/libc/ports/ChangeLog.hppa
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.hppa (original)
+++ fsf/trunk/libc/ports/ChangeLog.hppa Tue Nov 20 00:02:21 2012
@@ -1,3 +1,23 @@
+2012-11-19  Mike Frysinger  <vapier@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/hppa/nptl/pthread_once.c: Replace _internal
+	alias by hidden_def.
+
+2012-11-18  Carlos O'Donell  <carlos@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/hppa/fpu/fesetenv.c: Reset FPU to default for FE_DFL_ENV.
+
+	* sysdeps/hppa/get-rounding-mode.h: New file.
+	* sysdeps/hppa/fpu/fegetround.c: Use get_rounding_mode.
+
+	* ports/sysdeps/hppa/fpu/fpu_control.h: New file.
+
+	* ports/sysdeps/hppa/__longjmp.S: Removed.
+	* ports/sysdeps/hppa/__longjmp.c: New file.
+	* ports/sysdeps/unix/sysv/linux/hppa/____longjmp_chk.c: New file.
+	* ports/sysdeps/hppa/bits/setjmp.h: Use union for __jmp_buf.
+	* ports/sysdeps/hppa/setjmp.S: Comment byte offsets and padding.
+
 2012-11-05  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	[BZ #14805]

Modified: fsf/trunk/libc/ports/ChangeLog.mips
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.mips (original)
+++ fsf/trunk/libc/ports/ChangeLog.mips Tue Nov 20 00:02:21 2012
@@ -1,3 +1,18 @@
+2012-11-19  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
+	(INTERNAL_SYSCALL_DECL): Use __attribute__ ((unused)).
+	(INTERNAL_SYSCALL_ERROR_P): Cast val to void.
+	(INTERNAL_SYSCALL_ERRNO): Cast err to void.
+	* sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h
+	(INTERNAL_SYSCALL_DECL): Use __attribute__ ((unused)).
+	(INTERNAL_SYSCALL_ERROR_P): Cast val to void.
+	(INTERNAL_SYSCALL_ERRNO): Cast err to void.
+	* sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h
+	(INTERNAL_SYSCALL_DECL): Use __attribute__ ((unused)).
+	(INTERNAL_SYSCALL_ERROR_P): Cast val to void.
+	(INTERNAL_SYSCALL_ERRNO): Cast err to void.
+
 2012-11-17  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	* sysdeps/mips/bits/atomic.h

Added: fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_ceil.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_ceil.c (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_ceil.c Tue Nov 20 00:02:21 2012
@@ -1,0 +1,21 @@
+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define	FUNC ceil
+#define INSN "frintp"
+#include <s_frint.x>

Added: fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_ceilf.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_ceilf.c (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_ceilf.c Tue Nov 20 00:02:21 2012
@@ -1,0 +1,21 @@
+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define	FUNC ceilf
+#define INSN "frintp"
+#include <s_frintf.x>

Added: fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_floor.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_floor.c (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_floor.c Tue Nov 20 00:02:21 2012
@@ -1,0 +1,21 @@
+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define FUNC floor
+#define INSN "frintm"
+#include <s_frint.x>

Added: fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_floorf.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_floorf.c (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_floorf.c Tue Nov 20 00:02:21 2012
@@ -1,0 +1,21 @@
+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define FUNC floorf
+#define INSN "frintm"
+#include <s_frintf.x>

Modified: fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_fma.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_fma.c (original)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_fma.c Tue Nov 20 00:02:21 2012
@@ -1,2 +1,54 @@
-/* Always use dbl-64 version because long double is emulated in software.  */
-#include <sysdeps/ieee754/dbl-64/s_fma.c>
+/* Copyright (C) 1996-2012 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <math.h>
+
+#ifndef FUNC
+#define FUNC fma
+#endif
+
+#ifndef TYPE
+#define TYPE double
+#define REGS "d"
+#else
+#ifndef REGS
+#error REGS not defined
+#endif
+#endif
+
+#define __CONCATX(a,b) __CONCAT(a,b)
+
+TYPE
+__CONCATX(__,FUNC) (x, y, z)
+     TYPE x;
+     TYPE y;
+     TYPE z;
+{
+  TYPE result;
+  asm ( "fmadd" "\t%" REGS "0, %" REGS "1, %" REGS "2, %" REGS "3"
+        : "=w" (result) : "w" (x), "w" (y), "w" (z) );
+  return result;
+}
+
+#define weak_aliasx(a,b) weak_alias(a,b)
+weak_aliasx (__CONCATX(__,FUNC), FUNC)
+#define strong_aliasx(a,b) strong_alias(a,b)
+#ifdef NO_LONG_DOUBLE
+strong_aliasx (__CONCATX(__,FUNC),  __CONCATX(__,__CONCATX(FUNC,l)))
+weak_aliasx (__CONCATX(__,FUNC), __CONCATX(FUNC,l))
+#endif

Added: fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_fmaf.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_fmaf.c (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_fmaf.c Tue Nov 20 00:02:21 2012
@@ -1,0 +1,22 @@
+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define FUNC fmaf
+#define TYPE float
+#define REGS "s"
+#include <s_fma.c>

Added: fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_fmax.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_fmax.c (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_fmax.c Tue Nov 20 00:02:21 2012
@@ -1,0 +1,21 @@
+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define FUNC fmax
+#define INSN "fmaxnm"
+#include <s_fmin.c>

Added: fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_fmaxf.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_fmaxf.c (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_fmaxf.c Tue Nov 20 00:02:21 2012
@@ -1,0 +1,23 @@
+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define FUNC fmaxf
+#define INSN "fmaxnm"
+#define TYPE float
+#define REGS "s"
+#include <s_fmin.c>

Added: fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_fmin.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_fmin.c (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_fmin.c Tue Nov 20 00:02:21 2012
@@ -1,0 +1,57 @@
+/* Copyright (C) 1996, 1997, 2011, 2012 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <math.h>
+
+#ifndef FUNC
+#define FUNC fmin
+#endif
+
+#ifndef INSN
+#define INSN "fminnm"
+#endif
+
+#ifndef TYPE
+#define TYPE double
+#define REGS "d"
+#else
+#ifndef REGS
+#error REGS not defined
+#endif
+#endif
+
+#define __CONCATX(a,b) __CONCAT(a,b)
+
+TYPE
+__CONCATX(__,FUNC) (x, y)
+     TYPE x;
+     TYPE y;
+{
+  TYPE result;
+  asm ( INSN "\t%" REGS "0, %" REGS "1, %" REGS "2"
+        : "=w" (result) : "w" (x), "w" (y) );
+  return result;
+}
+
+#define weak_aliasx(a,b) weak_alias(a,b)
+weak_aliasx (__CONCATX(__,FUNC), FUNC)
+#define strong_aliasx(a,b) strong_alias(a,b)
+#ifdef NO_LONG_DOUBLE
+strong_aliasx (__CONCATX(__,FUNC),  __CONCATX(__,__CONCATX(FUNC,l)))
+weak_aliasx (__CONCATX(__,FUNC), __CONCATX(FUNC,l))
+#endif

Added: fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_fminf.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_fminf.c (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_fminf.c Tue Nov 20 00:02:21 2012
@@ -1,0 +1,22 @@
+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define FUNC fminf
+#define TYPE float
+#define REGS "s"
+#include <s_fmin.c>

Added: fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_frint.x
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_frint.x (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_frint.x Tue Nov 20 00:02:21 2012
@@ -1,0 +1,56 @@
+/* Copyright (C) 1996, 1997, 2011, 2012 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <math.h>
+
+#ifndef FUNC
+#error FUNC not defined
+#endif
+
+#ifndef TYPE
+#define TYPE double
+#define REGS "d"
+#else
+#ifndef REGS
+#error REGS not defined
+#endif
+#endif
+
+#ifndef INSN
+#error INSN not defined
+#endif
+
+#define __CONCATX(a,b) __CONCAT(a,b)
+
+TYPE
+__CONCATX(__,FUNC) (x)
+     TYPE x;
+{
+  TYPE result;
+  asm ( INSN "\t%" REGS "0, %" REGS "1" :
+	"=w" (result) : "w" (x) );
+  return result;
+}
+
+#define weak_aliasx(a,b) weak_alias(a,b)
+weak_aliasx (__CONCATX(__,FUNC), FUNC)
+#define strong_aliasx(a,b) strong_alias(a,b)
+#ifdef NO_LONG_DOUBLE
+strong_aliasx (__CONCATX(__,FUNC),  __CONCATX(__,__CONCATX(FUNC,l)))
+weak_aliasx (__CONCATX(__,FUNC), __CONCATX(FUNC,l))
+#endif

Added: fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_frintf.x
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_frintf.x (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_frintf.x Tue Nov 20 00:02:21 2012
@@ -1,0 +1,24 @@
+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef FUNC
+#error FUNC not defined
+#endif
+#define TYPE float
+#define REGS "s"
+#include <s_frint.x>

Added: fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_llrint.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_llrint.c (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_llrint.c Tue Nov 20 00:02:21 2012
@@ -1,0 +1,21 @@
+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define FUNC llrint
+#define OTYPE long long int
+#include <s_lrint.c>

Added: fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_llrintf.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_llrintf.c (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_llrintf.c Tue Nov 20 00:02:21 2012
@@ -1,0 +1,23 @@
+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define FUNC llrintf
+#define ITYPE float
+#define IREGS "s"
+#define OTYPE long long int
+#include <s_lrint.c>

Added: fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_llround.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_llround.c (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_llround.c Tue Nov 20 00:02:21 2012
@@ -1,0 +1,21 @@
+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define FUNC llround
+#define OTYPE long long int
+#include <s_lround.c>

Added: fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_llroundf.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_llroundf.c (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_llroundf.c Tue Nov 20 00:02:21 2012
@@ -1,0 +1,23 @@
+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define FUNC llroundf
+#define ITYPE float
+#define IREGS "s"
+#define OTYPE long long int
+#include <s_lround.c>

Added: fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_lrint.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_lrint.c (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_lrint.c Tue Nov 20 00:02:21 2012
@@ -1,0 +1,60 @@
+/* Copyright (C) 1996, 1997, 2011, 2012 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <math.h>
+
+#ifndef FUNC
+#define FUNC lrint
+#endif
+
+#ifndef ITYPE
+#define ITYPE double
+#define IREGS "d"
+#else
+#ifndef IREGS
+#error IREGS not defined
+#endif
+#endif
+
+#ifndef OTYPE
+#define OTYPE long int
+#endif
+
+#define OREGS "x"
+
+#define __CONCATX(a,b) __CONCAT(a,b)
+
+OTYPE
+__CONCATX(__,FUNC) (x)
+     ITYPE x;
+{
+  OTYPE result;
+  ITYPE temp;
+  asm ( "frintx" "\t%" IREGS "1, %" IREGS "2\n\t"
+        "fcvtzs" "\t%" OREGS "0, %" IREGS "1"
+        : "=r" (result), "=w" (temp) : "w" (x) );
+  return result;
+}
+
+#define weak_aliasx(a,b) weak_alias(a,b)
+weak_aliasx (__CONCATX(__,FUNC), FUNC)
+#define strong_aliasx(a,b) strong_alias(a,b)
+#ifdef NO_LONG_DOUBLE
+strong_aliasx (__CONCATX(__,FUNC),  __CONCATX(__,__CONCATX(FUNC,l)))
+weak_aliasx (__CONCATX(__,FUNC), __CONCATX(FUNC,l))
+#endif

Added: fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_lrintf.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_lrintf.c (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_lrintf.c Tue Nov 20 00:02:21 2012
@@ -1,0 +1,22 @@
+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define FUNC lrintf
+#define ITYPE float
+#define IREGS "s"
+#include <s_lrint.c>

Added: fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_lround.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_lround.c (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_lround.c Tue Nov 20 00:02:21 2012
@@ -1,0 +1,58 @@
+/* Copyright (C) 1996, 1997, 2011, 2012 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <math.h>
+
+#ifndef FUNC
+#define FUNC lround
+#endif
+
+#ifndef ITYPE
+#define ITYPE double
+#define IREGS "d"
+#else
+#ifndef IREGS
+#error IREGS not defined
+#endif
+#endif
+
+#ifndef OTYPE
+#define OTYPE long int
+#endif
+
+#define OREGS "x"
+
+#define __CONCATX(a,b) __CONCAT(a,b)
+
+OTYPE
+__CONCATX(__,FUNC) (x)
+     ITYPE x;
+{
+  OTYPE result;
+  asm ( "fcvtas" "\t%" OREGS "0, %" IREGS "1"
+        : "=r" (result) : "w" (x) );
+  return result;
+}
+
+#define weak_aliasx(a,b) weak_alias(a,b)
+weak_aliasx (__CONCATX(__,FUNC), FUNC)
+#define strong_aliasx(a,b) strong_alias(a,b)
+#ifdef NO_LONG_DOUBLE
+strong_aliasx (__CONCATX(__,FUNC),  __CONCATX(__,__CONCATX(FUNC,l)))
+weak_aliasx (__CONCATX(__,FUNC), __CONCATX(FUNC,l))
+#endif

Added: fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_lroundf.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_lroundf.c (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_lroundf.c Tue Nov 20 00:02:21 2012
@@ -1,0 +1,22 @@
+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define FUNC lroundf
+#define ITYPE float
+#define IREGS "s"
+#include <s_lround.c>

Added: fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_nearbyint.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_nearbyint.c (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_nearbyint.c Tue Nov 20 00:02:21 2012
@@ -1,0 +1,21 @@
+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define	FUNC nearbyint
+#define INSN "frinti"
+#include <s_frint.x>

Added: fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_nearbyintf.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_nearbyintf.c (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_nearbyintf.c Tue Nov 20 00:02:21 2012
@@ -1,0 +1,21 @@
+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define FUNC nearbyintf
+#define INSN "frinti"
+#include <s_frintf.x>

Added: fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_rint.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_rint.c (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_rint.c Tue Nov 20 00:02:21 2012
@@ -1,0 +1,21 @@
+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define FUNC	rint
+#define INSN "frintx"
+#include <s_frint.x>

Added: fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_rintf.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_rintf.c (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_rintf.c Tue Nov 20 00:02:21 2012
@@ -1,0 +1,21 @@
+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define FUNC rintf
+#define INSN "frintx"
+#include <s_frintf.x>

Added: fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_round.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_round.c (added)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/fpu/s_round.c Tue Nov 20 00:02:21 2012
@@ -1,0 +1,21 @@
+/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+

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