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

[Commits] r19610 - in /fsf/trunk/libc: ./ math/ nss/ ports/ ports/sysdeps/unix/sysv/linux/arm/ resolv/nss_dns/ sysdeps/ieee754/ldbl-96...



Author: eglibc
Date: Fri Jul 13 00:01:46 2012
New Revision: 19610

Log:
Import glibc-mainline for 2012-07-13

Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/NEWS
    fsf/trunk/libc/math/libm-test.inc
    fsf/trunk/libc/nss/nsswitch.h
    fsf/trunk/libc/ports/ChangeLog.arm
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/kernel-features.h
    fsf/trunk/libc/resolv/nss_dns/dns-host.c
    fsf/trunk/libc/sysdeps/ieee754/ldbl-96/e_jnl.c
    fsf/trunk/libc/sysdeps/posix/getaddrinfo.c
    fsf/trunk/libc/sysdeps/unix/sysv/linux/configure
    fsf/trunk/libc/sysdeps/unix/sysv/linux/configure.in
    fsf/trunk/libc/sysdeps/unix/sysv/linux/kernel-features.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/ldsodefs.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/prof-freq.c

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Fri Jul 13 00:01:46 2012
@@ -1,3 +1,46 @@
+2012-07-12  Marek Polacek  <polacek@xxxxxxxxxx>
+
+	[BZ #14173]
+	* math/libm-test.inc (yn_test): Add test for BZ #14173.
+	* sysdeps/ieee754/ldbl-96/e_jnl.c (__ieee754_ynl): Correct
+	loop condition.
+
+2012-07-12  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	[BZ #13717]
+	* sysdeps/unix/sysv/linux/configure.in (arch_minimum_kernel):
+	Change to 2.4.1 where previously 2.4.0.
+	* sysdeps/unix/sysv/linux/configure: Regenerated.
+	* sysdeps/unix/sysv/linux/kernel-features.h [!__sh__]
+	(__ASSUME_ST_INO_64_BIT): Do not condition definition on kernel
+	version.
+	[__i386__ || __sparc__] (__ASSUME_FCNTL64): Likewise.
+	(__ASSUME_AT_CLKTCK): Remove.
+	(__ASSUME_AT_PAGESIZE): Likewise.
+	(__ASSUME_AT_XID): Likewise.
+	(__ASSUME_GETDENTS64_SYSCALL): Define unconditionally.
+	[__i386__] (__ASSUME_VFORK_SYSCALL): Define unconditionally.
+	* sysdeps/unix/sysv/linux/ldsodefs.h (HAVE_AUX_XID): Define
+	unconditionally.
+	(HAVE_AUX_PAGESIZE): Likewise.
+	* sysdeps/unix/sysv/linux/prof-freq.c (__profile_frequency)
+	[__ASSUME_AT_CLKTCK]: Make code unconditional.
+	[!__ASSUME_AT_CLKTCK]: Remove conditional code.
+
+2012-07-12  Jeroen van Bemmel  <jvb127@xxxxxxxxx>
+
+	[BZ #14307]
+	* sysdeps/posix/getaddrinfo.c (gaih_inet): Increase the size of
+	the temporary buffer used to invoke __gethostbyname2_r,
+	__gethostbyaddr_r and gethostbyname4_r to make room for struct
+	host_data / struct gaih_addrtuple.
+	* resolv/nss_dns/dns-host.c (global scope): Move definition of
+	implementation constants MAX_NR_ALIASES and MAX_NR_ADDRS to
+	header file nss/nsswitch.h.
+	* nss/nsswitch.h (global scope): Add definition of implementation
+	constants MAX_NR_ALIASES and MAX_NR_ADDRS (moved from
+	resolv/nss_dns/dns-host.c).
+
 2012-07-11  Andreas Jaeger  <aj@xxxxxxx>
 
 	* po/fr.po: Update from translation team.

Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Fri Jul 13 00:01:46 2012
@@ -9,7 +9,8 @@
 
 * The following bugs are resolved with this release:
 
-  6778, 14042, 14151, 14154, 14157, 14283, 14328, 14331, 14337, 14347
+  6778, 14042, 14151, 14154, 14157, 14173, 14283, 14328, 14331, 14337,
+  14347
 
 
 Version 2.16

Modified: fsf/trunk/libc/math/libm-test.inc
==============================================================================
--- fsf/trunk/libc/math/libm-test.inc (original)
+++ fsf/trunk/libc/math/libm-test.inc Fri Jul 13 00:01:46 2012
@@ -9015,8 +9015,11 @@
   TEST_ff_f (yn, 10, 2.0, -129184.542208039282635913145923304214L);
   TEST_ff_f (yn, 10, 10.0, -0.359814152183402722051986577343560609L);
 
+  /* Check whether yn returns correct value for LDBL_MIN, DBL_MIN,
+     and FLT_MIN.  See Bug 14173.  */
+  TEST_ff_f (yn, 10, min_value, minus_infty, OVERFLOW_EXCEPTION);
+
   END (yn);
-
 }
 
 

Modified: fsf/trunk/libc/nss/nsswitch.h
==============================================================================
--- fsf/trunk/libc/nss/nsswitch.h (original)
+++ fsf/trunk/libc/nss/nsswitch.h Fri Jul 13 00:01:46 2012
@@ -1,5 +1,4 @@
-/* Copyright (C) 1996-1999,2001,2002,2003,2004,2007,2010,2011
-   Free Software Foundation, Inc.
+/* 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
@@ -198,4 +197,8 @@
 				       int *h_errnop);
 libc_hidden_proto (__nss_hostname_digits_dots)
 
+/* Maximum number of aliases we allow.  */
+#define MAX_NR_ALIASES  48
+#define MAX_NR_ADDRS    48
+
 #endif	/* nsswitch.h */

Modified: fsf/trunk/libc/ports/ChangeLog.arm
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.arm (original)
+++ fsf/trunk/libc/ports/ChangeLog.arm Fri Jul 13 00:01:46 2012
@@ -1,3 +1,10 @@
+2012-07-12  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/arm/kernel-features.h
+	(__ASSUME_MMAP2_SYSCALL): Define unconditionally.
+	(__ASSUME_STAT64_SYSCALL): Likewise.
+	(__ASSUME_VFORK_SYSCALL): Likewise.
+
 2012-07-10  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	* sysdeps/arm/sysdep.h (ENTRY): Change ASM_GLOBAL_DIRECTIVE to

Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/kernel-features.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/kernel-features.h (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/arm/kernel-features.h Fri Jul 13 00:01:46 2012
@@ -24,10 +24,8 @@
 
 /* On ARM the mmap2/stat64/lstat64/fstat64 syscalls were introduced in
    2.3.35.  */
-#if __LINUX_KERNEL_VERSION >= 131875
-# define __ASSUME_MMAP2_SYSCALL		1
-# define __ASSUME_STAT64_SYSCALL	1
-#endif
+#define __ASSUME_MMAP2_SYSCALL		1
+#define __ASSUME_STAT64_SYSCALL	1
 
 /* Arm got fcntl64 in 2.4.4.  */
 #if __LINUX_KERNEL_VERSION >= 132100
@@ -35,9 +33,7 @@
 #endif
 
 /* The vfork syscall on arm was definitely available in 2.4.  */
-#if __LINUX_KERNEL_VERSION >= 132097
-# define __ASSUME_VFORK_SYSCALL		1
-#endif
+#define __ASSUME_VFORK_SYSCALL		1
 
 /* The signal frame layout changed in 2.6.18.  */
 #if __LINUX_KERNEL_VERSION >= 132626

Modified: fsf/trunk/libc/resolv/nss_dns/dns-host.c
==============================================================================
--- fsf/trunk/libc/resolv/nss_dns/dns-host.c (original)
+++ fsf/trunk/libc/resolv/nss_dns/dns-host.c Fri Jul 13 00:01:46 2012
@@ -88,10 +88,6 @@
 
 #define RESOLVSORT
 
-/* Maximum number of aliases we allow.  */
-#define MAX_NR_ALIASES	48
-#define MAX_NR_ADDRS	48
-
 #if PACKETSZ > 65536
 # define MAXPACKET	PACKETSZ
 #else

Modified: fsf/trunk/libc/sysdeps/ieee754/ldbl-96/e_jnl.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/ldbl-96/e_jnl.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/ldbl-96/e_jnl.c Fri Jul 13 00:01:46 2012
@@ -360,7 +360,8 @@
       b = __ieee754_y1l (x);
       /* quit if b is -inf */
       GET_LDOUBLE_WORDS (se, i0, i1, b);
-      for (i = 1; i < n && se != 0xffff; i++)
+      /* Use 0xffffffff since GET_LDOUBLE_WORDS sign-extends SE.  */
+      for (i = 1; i < n && se != 0xffffffff; i++)
 	{
 	  temp = b;
 	  b = ((long double) (i + i) / x) * b - a;

Modified: fsf/trunk/libc/sysdeps/posix/getaddrinfo.c
==============================================================================
--- fsf/trunk/libc/sysdeps/posix/getaddrinfo.c (original)
+++ fsf/trunk/libc/sysdeps/posix/getaddrinfo.c Fri Jul 13 00:01:46 2012
@@ -568,7 +568,9 @@
 	     IPv6 scope ids. */
 	  if (req->ai_family == AF_INET)
 	    {
-	      size_t tmpbuflen = 512;
+	      /* Allocate additional room for struct host_data.  */
+	      size_t tmpbuflen = (512 + MAX_NR_ALIASES * sizeof(char*)
+				  + 16 * sizeof(char));
 	      assert (tmpbuf == NULL);
 	      tmpbuf = alloca_account (tmpbuflen, alloca_used);
 	      int rc;
@@ -811,7 +813,7 @@
 	  old_res_options = _res.options;
 	  _res.options &= ~RES_USE_INET6;
 
-	  size_t tmpbuflen = 1024;
+	  size_t tmpbuflen = 1024 + sizeof(struct gaih_addrtuple);
 	  malloc_tmpbuf = !__libc_use_alloca (alloca_used + tmpbuflen);
 	  assert (tmpbuf == NULL);
 	  if (!malloc_tmpbuf)
@@ -1113,7 +1115,9 @@
 		struct hostent *h = NULL;
 		int herrno;
 		struct hostent th;
-		size_t tmpbuf2len = 512;
+		/* Add room for struct host_data.  */
+		size_t tmpbuf2len = (512 + (MAX_NR_ALIASES+MAX_NR_ADDRS+1)
+				     * sizeof(char*) + 16 * sizeof(char));
 
 		do
 		  {

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/configure
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/configure (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/configure Fri Jul 13 00:01:46 2012
@@ -284,25 +284,25 @@
 case "$machine" in
   i386*)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.0
+    arch_minimum_kernel=2.4.1
     ;;
   powerpc/powerpc32)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.0
+    arch_minimum_kernel=2.4.1
     ;;
   powerpc/powerpc64)
     arch_minimum_kernel=2.4.21
     ;;
   s390/s390-32)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.0
+    arch_minimum_kernel=2.4.1
     ;;
   s390/s390-64)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.0
+    arch_minimum_kernel=2.4.1
     ;;
   sh*)
-    arch_minimum_kernel=2.4.0
+    arch_minimum_kernel=2.4.1
     libc_cv_gcc_unwind_find_fde=yes
     ;;
   sparc/sparc64*)
@@ -311,10 +311,10 @@
     ;;
   sparc*)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.0
+    arch_minimum_kernel=2.4.1
     ;;
   *)
-    arch_minimum_kernel=2.4.0
+    arch_minimum_kernel=2.4.1
     ;;
 esac
 if test -n "$minimum_kernel"; then

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/configure.in
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/configure.in (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/configure.in Fri Jul 13 00:01:46 2012
@@ -41,25 +41,25 @@
 case "$machine" in
   i386*)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.0
+    arch_minimum_kernel=2.4.1
     ;;
   powerpc/powerpc32)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.0
+    arch_minimum_kernel=2.4.1
     ;;
   powerpc/powerpc64)
     arch_minimum_kernel=2.4.21
     ;;
   s390/s390-32)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.0
+    arch_minimum_kernel=2.4.1
     ;;
   s390/s390-64)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.0
+    arch_minimum_kernel=2.4.1
     ;;
   sh*)
-    arch_minimum_kernel=2.4.0
+    arch_minimum_kernel=2.4.1
     libc_cv_gcc_unwind_find_fde=yes
     ;;
   sparc/sparc64*)
@@ -68,10 +68,10 @@
     ;;
   sparc*)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.0
+    arch_minimum_kernel=2.4.1
     ;;
   *)
-    arch_minimum_kernel=2.4.0
+    arch_minimum_kernel=2.4.1
     ;;
 esac
 if test -n "$minimum_kernel"; then

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/kernel-features.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/kernel-features.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/kernel-features.h Fri Jul 13 00:01:46 2012
@@ -76,25 +76,16 @@
 # define __ASSUME_STAT64_SYSCALL	1
 #endif
 
-/* The changed st_ino field appeared in 2.4.0-test6.  But we cannot
-   distinguish this version from other 2.4.0 releases.  Therefore play
-   save and assume it available is for 2.4.1 and up.  However, SH is lame,
+/* The changed st_ino field appeared in 2.4.0-test6.  However, SH is lame,
    and still does not have a 64-bit inode field.  */
-#if __LINUX_KERNEL_VERSION >= 132097 && !defined __sh__
+#ifndef __sh__
 # define __ASSUME_ST_INO_64_BIT		1
 #endif
 
 /* To support locking of large files a new fcntl() syscall was introduced
-   in 2.4.0-test7.  We test for 2.4.1 for the earliest version we know
-   the syscall is available.  */
-#if __LINUX_KERNEL_VERSION >= 132097 && (defined __i386__ || defined __sparc__)
+   in 2.4.0-test7.  */
+#if defined __i386__ || defined __sparc__
 # define __ASSUME_FCNTL64		1
-#endif
-
-/* The AT_CLKTCK auxiliary vector entry was introduction in the 2.4.0
-   series.  */
-#if __LINUX_KERNEL_VERSION >= 132097
-# define __ASSUME_AT_CLKTCK		1
 #endif
 
 /* Arm got fcntl64 in 2.4.4, PowerPC and SH have it also in 2.4.4 (I
@@ -106,23 +97,9 @@
 # define __ASSUME_FCNTL64		1
 #endif
 
-/* The getdents64 syscall was introduced in 2.4.0-test7.  We test for
-   2.4.1 for the earliest version we know the syscall is available.  */
-#if __LINUX_KERNEL_VERSION >= 132097
-# define __ASSUME_GETDENTS64_SYSCALL	1
-#endif
-
-/* Starting with one of the 2.4.0 pre-releases the Linux kernel passes
-   up the page size information.  */
-#if __LINUX_KERNEL_VERSION >= 132097
-# define __ASSUME_AT_PAGESIZE		1
-#endif
-
-/* Starting with at least 2.4.0 the kernel passes the uid/gid unconditionally
-   up to the child.  */
-#if __LINUX_KERNEL_VERSION >= 132097
-# define __ASSUME_AT_XID		1
-#endif
+/* The getdents64 syscall was introduced in 2.4.0-test7 (but later for
+   MIPS n32).  */
+#define __ASSUME_GETDENTS64_SYSCALL	1
 
 /* Starting with 2.4.5 kernels PPC passes the AUXV in the standard way
    and the vfork syscall made it into the official kernel.  */
@@ -164,7 +141,7 @@
 #endif
 
 /* The vfork syscall on x86 and arm was definitely available in 2.4.  */
-#if __LINUX_KERNEL_VERSION >= 132097 && defined __i386__
+#ifdef __i386__
 # define __ASSUME_VFORK_SYSCALL		1
 #endif
 

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/ldsodefs.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/ldsodefs.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/ldsodefs.h Fri Jul 13 00:01:46 2012
@@ -1,5 +1,5 @@
 /* Run-time dynamic linker data structures for loaded ELF shared objects.
-   Copyright (C) 2001, 2002, 2003, 2006, 2009, 2010 Free Software Foundation, Inc.
+   Copyright (C) 2001-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
@@ -37,9 +37,7 @@
 
 /* We can assume that the kernel always provides the AT_UID, AT_EUID,
    AT_GID, and AT_EGID values in the auxiliary vector from 2.4.0 or so on.  */
-#if __ASSUME_AT_XID
-# define HAVE_AUX_XID
-#endif
+#define HAVE_AUX_XID
 
 /* We can assume that the kernel always provides the AT_SECURE value
    in the auxiliary vector from 2.5.74 or so on.  */
@@ -49,9 +47,7 @@
 
 /* Starting with one of the 2.4.0 pre-releases the Linux kernel passes
    up the page size information.  */
-#if __ASSUME_AT_PAGESIZE
-# define HAVE_AUX_PAGESIZE
-#endif
+#define HAVE_AUX_PAGESIZE
 
 /* Accept binaries which identify the binary as using Linux extensions.  */
 #define VALID_ELF_HEADER(hdr,exp,size)	(memcmp (hdr, exp, size) == 0	\

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/prof-freq.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/prof-freq.c (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/prof-freq.c Fri Jul 13 00:01:46 2012
@@ -1,5 +1,5 @@
 /* Determine realtime clock frequency.
-   Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2003-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
@@ -25,26 +25,6 @@
 int
 __profile_frequency (void)
 {
-#ifdef __ASSUME_AT_CLKTCK
   return GLRO(dl_clktck);
-#else
-  if (GLRO(dl_clktck) != 0)
-    return GLRO(dl_clktck);
-
-  struct itimerval tim;
-
-  tim.it_interval.tv_sec = 0;
-  tim.it_interval.tv_usec = 1;
-  tim.it_value.tv_sec = 0;
-  tim.it_value.tv_usec = 0;
-
-  __setitimer (ITIMER_REAL, &tim, 0);
-  __setitimer (ITIMER_REAL, 0, &tim);
-
-  if (tim.it_interval.tv_usec < 2)
-    return 0;
-
-  return 1000000 / tim.it_interval.tv_usec;
-#endif
 }
 libc_hidden_def (__profile_frequency)

_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits