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

[Commits] r18908 - in /trunk: ./ libc/ libc/math/ libc/stdlib/ libc/sysdeps/ieee754/dbl-64/ libc/sysdeps/ieee754/dbl-64/wordsize-64/ l...



Author: joseph
Date: Fri Jun  1 21:32:32 2012
New Revision: 18908

Log:
Merge changes between r18892 and r18907 from /fsf/trunk.

Added:
    trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/Makefile
      - copied unchanged from r18907, fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/Makefile
    trunk/libc/sysdeps/unix/sysv/linux/x86/bits/wchar.h
      - copied unchanged from r18907, fsf/trunk/libc/sysdeps/unix/sysv/linux/x86/bits/wchar.h
    trunk/libc/sysdeps/unix/sysv/linux/x86/sys/elf.h
      - copied unchanged from r18907, fsf/trunk/libc/sysdeps/unix/sysv/linux/x86/sys/elf.h
    trunk/libc/sysdeps/unix/sysv/linux/x86/sys/vm86.h
      - copied unchanged from r18907, fsf/trunk/libc/sysdeps/unix/sysv/linux/x86/sys/vm86.h
    trunk/ports/sysdeps/mips/mips64/n32/s_fma.c
      - copied unchanged from r18907, fsf/trunk/ports/sysdeps/mips/mips64/n32/s_fma.c
    trunk/ports/sysdeps/mips/mips64/n64/s_fma.c
      - copied unchanged from r18907, fsf/trunk/ports/sysdeps/mips/mips64/n64/s_fma.c
Removed:
    trunk/libc/sysdeps/unix/sysv/linux/i386/bits/
    trunk/libc/sysdeps/unix/sysv/linux/i386/sys/elf.h
    trunk/libc/sysdeps/unix/sysv/linux/i386/sys/vm86.h
Modified:
    trunk/   (props changed)
    trunk/libc/ChangeLog
    trunk/libc/Makeconfig
    trunk/libc/NEWS
    trunk/libc/math/libm-test.inc
    trunk/libc/stdlib/longlong.h
    trunk/libc/sysdeps/ieee754/dbl-64/s_fma.c
    trunk/libc/sysdeps/ieee754/dbl-64/s_fmaf.c
    trunk/libc/sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c
    trunk/libc/sysdeps/ieee754/ldbl-128/s_fmal.c
    trunk/libc/sysdeps/ieee754/ldbl-96/s_fmal.c
    trunk/libc/sysdeps/unix/sysv/linux/i386/Makefile
    trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile
    trunk/libc/sysdeps/unix/sysv/linux/s390/s390-32/Makefile
    trunk/libc/sysdeps/unix/sysv/linux/s390/s390-64/Makefile
    trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile
    trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
    trunk/libc/sysdeps/unix/sysv/linux/x86/Makefile
    trunk/libc/sysdeps/unix/sysv/linux/x86_64/Makefile
    trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/debugreg.h
    trunk/ports/ChangeLog.alpha
    trunk/ports/ChangeLog.mips
    trunk/ports/sysdeps/alpha/Makefile
    trunk/ports/sysdeps/alpha/fpu/libm-test-ulps
    trunk/ports/sysdeps/arm/bits/predefs.h   (props changed)
    trunk/ports/sysdeps/unix/sysv/linux/mips/Makefile

Propchange: trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jun  1 21:32:32 2012
@@ -1,1 +1,1 @@
-/fsf/trunk:15224-18892
+/fsf/trunk:15224-18907

Modified: trunk/libc/ChangeLog
==============================================================================
--- trunk/libc/ChangeLog (original)
+++ trunk/libc/ChangeLog Fri Jun  1 21:32:32 2012
@@ -1,3 +1,69 @@
+2012-06-01  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile
+	(default-abi): New variable.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/Makefile: New file.
+	* sysdeps/unix/sysv/linux/s390/s390-32/Makefile (default-abi): New
+	variable.
+	* sysdeps/unix/sysv/linux/s390/s390-64/Makefile (default-abi):
+	Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sparc32/Makefile (default-abi):
+	Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/Makefile (default-abi):
+	Likewise.
+
+	* Makeconfig [abi-variants && !default-abi] (default-abi): Remove
+	definition.  Document in comment.
+
+2012-06-01  David S. Miller  <davem@xxxxxxxxxxxxx>
+
+	* stdlib/longlong.h: Updated from GCC.
+
+2012-06-01  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	[BZ #14117]
+	* sysdeps/unix/sysv/linux/i386/Makefile (sysdep_headers):
+	Don't add sys/elf.h sys/perm.h sys/reg.h sys/vm86.h
+	sys/debugreg.h sys/io.h here.
+	* sysdeps/unix/sysv/linux/x86/Makefile (sysdep_headers): Add
+	sys/elf.h sys/perm.h sys/reg.h sys/vm86.h sys/debugreg.h
+	sys/io.h.
+	* sysdeps/unix/sysv/linux/x86_64/Makefile (sysdep_headers):
+	Don't add sys/perm.h sys/reg.h sys/debugreg.h sys/io.h here.
+	* sysdeps/unix/sysv/linux/i386/sys/elf.h: Renamed to ...
+	* sysdeps/unix/sysv/linux/x86/sys/elf.h: This.
+	* sysdeps/unix/sysv/linux/i386/sys/vm86.h: Renamed to ...
+	* sysdeps/unix/sysv/linux/x86/sys/vm86.h: This.
+
+	* sysdeps/unix/sysv/linux/x86_64/sys/debugreg.h (DR_LEN_8):
+	Define only if __x86_64__ is defined.
+
+2012-06-01  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	[BZ #14048]
+	* sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c (__ieee754_fmod):
+	Use int64_t for variable i.
+	* math/libm-test.inc (fmod_test): Add more tests.
+
+	* sysdeps/ieee754/dbl-64/s_fmaf.c (__fmaf): Ensure temp + (double)
+	z computation is not scheduled after fetestexcept.
+	* sysdeps/ieee754/ldbl-128/s_fmal.c: Include <math_private.h>.
+	Use math_force_eval instead of asm to ensure calculation scheduled
+	before exception test.
+	* sysdeps/ieee754/ldbl-96/s_fmal.c: Include <math_private.h>.
+	Ensure a1 + u.d computation is not scheduled after fetestexcept.
+
+2012-06-01  Aurelien Jarno  <aurelien@xxxxxxxxxxx>
+
+	* sysdeps/ieee754/dbl-64/s_fma.c (__fma): Ensure a1 + u.d
+	computation is not scheduled after fetestexcept.
+
+2012-06-01  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	[BZ #14117]
+	* sysdeps/unix/sysv/linux/i386/bits/wchar.h: Renamed to ...
+	* sysdeps/unix/sysv/linux/x86/bits/wchar.h: This.
+
 2012-06-01  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
 
 	* sysdeps/powerpc/fpu/k_cosf.c: Fix underflow generation.

Modified: trunk/libc/Makeconfig
==============================================================================
--- trunk/libc/Makeconfig (original)
+++ trunk/libc/Makeconfig Fri Jun  1 21:32:32 2012
@@ -805,13 +805,8 @@
 # defines abi-$(variant)-condition to be the condition for those options
 # to use in a C #if condition.  abi-includes may be defined to a list of
 # headers to include in the generated header, if the default does not
-# suffice.
-
-ifdef abi-variants
-ifndef default-abi
-default-abi = $(firstword $(abi-variants))
-endif
-endif
+# suffice.  default-abi is defined to be the ABI for the current glibc
+# build.
 
 ifndef abi-includes
 abi-includes := bits/wordsize.h

Modified: trunk/libc/NEWS
==============================================================================
--- trunk/libc/NEWS (original)
+++ trunk/libc/NEWS Fri Jun  1 21:32:32 2012
@@ -27,8 +27,9 @@
   13916, 13917, 13918, 13919, 13920, 13921, 13922, 13923, 13924, 13926,
   13927, 13928, 13938, 13941, 13942, 13954, 13955, 13956, 13963, 13967,
   13968, 13970, 13973, 13979, 13983, 13986, 14012, 14027, 14033, 14034,
-  14036, 14040, 14043, 14044, 14049, 14053, 14055, 14059, 14064, 14075,
-  14080, 14083, 14103, 14104, 14109, 14112, 14122, 14123, 14153, 14183
+  14036, 14040, 14043, 14044, 14048, 14049, 14053, 14055, 14059, 14064,
+  14075, 14080, 14083, 14103, 14104, 14109, 14112, 14122, 14123, 14153,
+  14183
 
 * Support for the x32 ABI on x86-64 added.  The x32 target is selected by
   configuring glibc with:

Modified: trunk/libc/math/libm-test.inc
==============================================================================
--- trunk/libc/math/libm-test.inc (original)
+++ trunk/libc/math/libm-test.inc Fri Jun  1 21:32:32 2012
@@ -4136,6 +4136,14 @@
   TEST_ff_f (fmod, 6.5, -2.25L, 2.0L);
   TEST_ff_f (fmod, -6.5, -2.25L, -2.0L);
 
+  TEST_ff_f (fmod, 0x0.fffffep-126L, 0x1p-149L, plus_zero);
+#ifndef TEST_FLOAT
+  TEST_ff_f (fmod, 0x0.fffffffffffffp-1022L, 0x1p-1074L, plus_zero);
+#endif
+#if defined TEST_LDOUBLE && LDBL_MIN_EXP <= -16381
+  TEST_ff_f (fmod, 0x0.fffffffffffffffep-16382L, 0x1p-16445L, plus_zero);
+#endif
+
   END (fmod);
 }
 

Modified: trunk/libc/stdlib/longlong.h
==============================================================================
--- trunk/libc/stdlib/longlong.h (original)
+++ trunk/libc/stdlib/longlong.h Fri Jun  1 21:32:32 2012
@@ -1127,6 +1127,29 @@
 	     "rJ" ((USItype) (al)),					\
 	     "rI" ((USItype) (bl))					\
 	   __CLOBBER_CC)
+#if defined (__sparc_v9__)
+#define umul_ppmm(w1, w0, u, v) \
+  do {									\
+    register USItype __g1 asm ("g1");					\
+    __asm__ ("umul\t%2,%3,%1\n\t"					\
+	     "srlx\t%1, 32, %0"						\
+	     : "=r" ((USItype) (w1)),					\
+	       "=r" (__g1)						\
+	     : "r" ((USItype) (u)),					\
+	       "r" ((USItype) (v)));					\
+    (w0) = __g1;							\
+  } while (0)
+#define udiv_qrnnd(__q, __r, __n1, __n0, __d) \
+  __asm__ ("mov\t%2,%%y\n\t"						\
+	   "udiv\t%3,%4,%0\n\t"						\
+	   "umul\t%0,%4,%1\n\t"						\
+	   "sub\t%3,%1,%1"						\
+	   : "=&r" ((USItype) (__q)),					\
+	     "=&r" ((USItype) (__r))					\
+	   : "r" ((USItype) (__n1)),					\
+	     "r" ((USItype) (__n0)),					\
+	     "r" ((USItype) (__d)))
+#else
 #if defined (__sparc_v8__)
 #define umul_ppmm(w1, w0, u, v) \
   __asm__ ("umul %2,%3,%1;rd %%y,%0"					\
@@ -1292,37 +1315,44 @@
 #define UDIV_TIME (3+7*32)	/* 7 instructions/iteration. 32 iterations.  */
 #endif /* __sparclite__ */
 #endif /* __sparc_v8__ */
+#endif /* __sparc_v9__ */
 #endif /* sparc32 */
 
 #if ((defined (__sparc__) && defined (__arch64__)) || defined (__sparcv9)) \
     && W_TYPE_SIZE == 64
 #define add_ssaaaa(sh, sl, ah, al, bh, bl)				\
-  __asm__ ("addcc %r4,%5,%1\n\t"					\
-   	   "add %r2,%3,%0\n\t"						\
-   	   "bcs,a,pn %%xcc, 1f\n\t"					\
-   	   "add %0, 1, %0\n"						\
-	   "1:"								\
-	   : "=r" ((UDItype)(sh)),				      	\
-	     "=&r" ((UDItype)(sl))				      	\
-	   : "%rJ" ((UDItype)(ah)),				     	\
-	     "rI" ((UDItype)(bh)),				      	\
-	     "%rJ" ((UDItype)(al)),				     	\
-	     "rI" ((UDItype)(bl))				       	\
-	   __CLOBBER_CC)
-
-#define sub_ddmmss(sh, sl, ah, al, bh, bl) 				\
-  __asm__ ("subcc %r4,%5,%1\n\t"					\
-   	   "sub %r2,%3,%0\n\t"						\
-   	   "bcs,a,pn %%xcc, 1f\n\t"					\
-   	   "sub %0, 1, %0\n\t"						\
-	   "1:"								\
-	   : "=r" ((UDItype)(sh)),				      	\
-	     "=&r" ((UDItype)(sl))				      	\
-	   : "rJ" ((UDItype)(ah)),				     	\
-	     "rI" ((UDItype)(bh)),				      	\
-	     "rJ" ((UDItype)(al)),				     	\
-	     "rI" ((UDItype)(bl))				       	\
-	   __CLOBBER_CC)
+  do {									\
+    UDItype __carry = 0;						\
+    __asm__ ("addcc\t%r5,%6,%1\n\t"					\
+	     "add\t%r3,%4,%0\n\t"					\
+	     "movcs\t%%xcc, 1, %2\n\t"					\
+	     "add\t%0, %2, %0"						\
+	     : "=r" ((UDItype)(sh)),				      	\
+	       "=&r" ((UDItype)(sl)),				      	\
+	       "+r" (__carry)				      		\
+	     : "%rJ" ((UDItype)(ah)),				     	\
+	       "rI" ((UDItype)(bh)),				      	\
+	       "%rJ" ((UDItype)(al)),				     	\
+	       "rI" ((UDItype)(bl))				       	\
+	     __CLOBBER_CC);						\
+  } while (0)
+
+#define sub_ddmmss(sh, sl, ah, al, bh, bl)				\
+  do {									\
+    UDItype __carry = 0;						\
+    __asm__ ("subcc\t%r5,%6,%1\n\t"					\
+	     "sub\t%r3,%4,%0\n\t"					\
+	     "movcs\t%%xcc, 1, %2\n\t"					\
+	     "add\t%0, %2, %0"						\
+	     : "=r" ((UDItype)(sh)),				      	\
+	       "=&r" ((UDItype)(sl)),				      	\
+	       "+r" (__carry)				      		\
+	     : "%rJ" ((UDItype)(ah)),				     	\
+	       "rI" ((UDItype)(bh)),				      	\
+	       "%rJ" ((UDItype)(al)),				     	\
+	       "rI" ((UDItype)(bl))				       	\
+	     __CLOBBER_CC);						\
+  } while (0)
 
 #define umul_ppmm(wh, wl, u, v)						\
   do {									\

Modified: trunk/libc/sysdeps/ieee754/dbl-64/s_fma.c
==============================================================================
--- trunk/libc/sysdeps/ieee754/dbl-64/s_fma.c (original)
+++ trunk/libc/sysdeps/ieee754/dbl-64/s_fma.c Fri Jun  1 21:32:32 2012
@@ -1,5 +1,5 @@
 /* Compute x * y + z as ternary operation.
-   Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+   Copyright (C) 2010-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jakub@xxxxxxxxxx>, 2010.
 
@@ -158,6 +158,8 @@
       if ((u.ieee.mantissa1 & 1) == 0)
 	u.ieee.mantissa1 |= libc_fetestexcept (FE_INEXACT) != 0;
       v.d = a1 + u.d;
+      /* Ensure the addition is not scheduled after fetestexcept call.  */
+      math_force_eval (v.d);
     }
 
   /* Reset rounding mode and test for inexact simultaneously.  */

Modified: trunk/libc/sysdeps/ieee754/dbl-64/s_fmaf.c
==============================================================================
--- trunk/libc/sysdeps/ieee754/dbl-64/s_fmaf.c (original)
+++ trunk/libc/sysdeps/ieee754/dbl-64/s_fmaf.c Fri Jun  1 21:32:32 2012
@@ -1,5 +1,5 @@
 /* Compute x * y + z as ternary operation.
-   Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+   Copyright (C) 2010-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jakub@xxxxxxxxxx>, 2010.
 
@@ -40,6 +40,8 @@
 
   /* Perform addition with round to odd.  */
   u.d = temp + (double) z;
+  /* Ensure the addition is not scheduled after fetestexcept call.  */
+  math_force_eval (u.d);
 
   /* Reset rounding mode and test for inexact simultaneously.  */
   int j = libc_feupdateenv_test (&env, FE_INEXACT) != 0;

Modified: trunk/libc/sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c
==============================================================================
--- trunk/libc/sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c (original)
+++ trunk/libc/sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c Fri Jun  1 21:32:32 2012
@@ -24,8 +24,8 @@
 double
 __ieee754_fmod (double x, double y)
 {
-	int32_t n,i,ix,iy;
-	int64_t hx,hy,hz,sx;
+	int32_t n,ix,iy;
+	int64_t hx,hy,hz,sx,i;
 
 	EXTRACT_WORDS64(hx,x);
 	EXTRACT_WORDS64(hy,y);

Modified: trunk/libc/sysdeps/ieee754/ldbl-128/s_fmal.c
==============================================================================
--- trunk/libc/sysdeps/ieee754/ldbl-128/s_fmal.c (original)
+++ trunk/libc/sysdeps/ieee754/ldbl-128/s_fmal.c Fri Jun  1 21:32:32 2012
@@ -1,5 +1,5 @@
 /* Compute x * y + z as ternary operation.
-   Copyright (C) 2010 Free Software Foundation, Inc.
+   Copyright (C) 2010-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jakub@xxxxxxxxxx>, 2010.
 
@@ -21,6 +21,7 @@
 #include <math.h>
 #include <fenv.h>
 #include <ieee754.h>
+#include <math_private.h>
 
 /* This implementation uses rounding to odd to avoid problems with
    double rounding.  See a paper by Boldo and Melquiond:
@@ -175,7 +176,7 @@
 	u.ieee.mantissa3 |= fetestexcept (FE_INEXACT) != 0;
       v.d = a1 + u.d;
       /* Ensure the addition is not scheduled after fetestexcept call.  */
-      asm volatile ("" : : "m" (v));
+      math_force_eval (v.d);
       int j = fetestexcept (FE_INEXACT) != 0;
       feupdateenv (&env);
       /* Ensure the following computations are performed in default rounding

Modified: trunk/libc/sysdeps/ieee754/ldbl-96/s_fmal.c
==============================================================================
--- trunk/libc/sysdeps/ieee754/ldbl-96/s_fmal.c (original)
+++ trunk/libc/sysdeps/ieee754/ldbl-96/s_fmal.c Fri Jun  1 21:32:32 2012
@@ -1,5 +1,5 @@
 /* Compute x * y + z as ternary operation.
-   Copyright (C) 2010 Free Software Foundation, Inc.
+   Copyright (C) 2010-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jakub@xxxxxxxxxx>, 2010.
 
@@ -21,6 +21,7 @@
 #include <math.h>
 #include <fenv.h>
 #include <ieee754.h>
+#include <math_private.h>
 
 /* This implementation uses rounding to odd to avoid problems with
    double rounding.  See a paper by Boldo and Melquiond:
@@ -174,6 +175,8 @@
       if ((u.ieee.mantissa1 & 1) == 0)
 	u.ieee.mantissa1 |= fetestexcept (FE_INEXACT) != 0;
       v.d = a1 + u.d;
+      /* Ensure the addition is not scheduled after fetestexcept call.  */
+      math_force_eval (v.d);
       int j = fetestexcept (FE_INEXACT) != 0;
       feupdateenv (&env);
       /* Ensure the following computations are performed in default rounding

Modified: trunk/libc/sysdeps/unix/sysv/linux/i386/Makefile
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/i386/Makefile (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/i386/Makefile Fri Jun  1 21:32:32 2012
@@ -3,7 +3,6 @@
 
 ifeq ($(subdir),misc)
 sysdep_routines += ioperm iopl vm86 call_pselect6 call_fallocate
-sysdep_headers += sys/elf.h sys/perm.h sys/reg.h sys/vm86.h sys/debugreg.h sys/io.h
 endif
 
 ifeq ($(subdir),elf)

Removed: trunk/libc/sysdeps/unix/sysv/linux/i386/sys/elf.h
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/i386/sys/elf.h (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/i386/sys/elf.h (removed)
@@ -1,29 +1,0 @@
-/* Copyright (C) 1998-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 _SYS_ELF_H
-#define _SYS_ELF_H	1
-
-#ifdef __x86_64__
-# error This header is unsupported on x86-64.
-#else
-# warning "This header is obsolete; use <sys/procfs.h> instead."
-
-# include <sys/procfs.h>
-#endif
-
-#endif	/* _SYS_ELF_H */

Removed: trunk/libc/sysdeps/unix/sysv/linux/i386/sys/vm86.h
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/i386/sys/vm86.h (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/i386/sys/vm86.h (removed)
@@ -1,38 +1,0 @@
-/* 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/>.  */
-
-#ifndef _SYS_VM86_H
-
-#define _SYS_VM86_H	1
-#include <features.h>
-
-#ifdef __x86_64__
-# error This header is unsupported on x86-64.
-#else
-/* Get constants and data types from kernel header file.  */
-# include <asm/vm86.h>
-
-__BEGIN_DECLS
-
-/* Enter virtual 8086 mode.  */
-extern int vm86 (unsigned long int __subfunction,
-		 struct vm86plus_struct *__info) __THROW;
-
-__END_DECLS
-# endif
-
-#endif	/* _SYS_VM86_H */

Modified: trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile Fri Jun  1 21:32:32 2012
@@ -1,3 +1,6 @@
+# See Makeconfig regarding the use of default-abi.
+default-abi := 32
+
 ifeq ($(subdir),resource)
 sysdep_routines += oldgetrlimit64
 endif

Modified: trunk/libc/sysdeps/unix/sysv/linux/s390/s390-32/Makefile
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/s390/s390-32/Makefile (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/s390/s390-32/Makefile Fri Jun  1 21:32:32 2012
@@ -1,3 +1,6 @@
+# See Makeconfig regarding the use of default-abi.
+default-abi := 32
+
 ifeq ($(subdir),login)
 sysdep_routines += utmp32 utmpx32
 libutil-routines += login32

Modified: trunk/libc/sysdeps/unix/sysv/linux/s390/s390-64/Makefile
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/s390/s390-64/Makefile (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/s390/s390-64/Makefile Fri Jun  1 21:32:32 2012
@@ -1,3 +1,6 @@
+# See Makeconfig regarding the use of default-abi.
+default-abi := 64
+
 ifeq ($(subdir),misc)
 sysdep_headers += sys/elf.h
 endif

Modified: trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile Fri Jun  1 21:32:32 2012
@@ -1,3 +1,6 @@
+# See Makeconfig regarding the use of default-abi.
+default-abi := 32
+
 asm-CPPFLAGS = -D__ASSEMBLY__
 ASFLAGS-.os += -fPIC
 LD += -melf32_sparc

Modified: trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile Fri Jun  1 21:32:32 2012
@@ -1,2 +1,5 @@
+# See Makeconfig regarding the use of default-abi.
+default-abi := 64
+
 sysdep-CFLAGS += -fcall-used-g6
 LD += -melf64_sparc

Modified: trunk/libc/sysdeps/unix/sysv/linux/x86/Makefile
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/x86/Makefile (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/x86/Makefile Fri Jun  1 21:32:32 2012
@@ -12,3 +12,7 @@
 abi-x32-options := -U__i386__ -D__x86_64__ -D__ILP32__ -U__LP64__
 abi-x32-condition := defined __x86_64__ && defined __ILP32__
 abi-x32-ld-soname := ld-linux-x32.so.2
+
+ifeq ($(subdir),misc)
+sysdep_headers += sys/elf.h sys/perm.h sys/reg.h sys/vm86.h sys/debugreg.h sys/io.h
+endif

Modified: trunk/libc/sysdeps/unix/sysv/linux/x86_64/Makefile
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/x86_64/Makefile (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/x86_64/Makefile Fri Jun  1 21:32:32 2012
@@ -1,6 +1,5 @@
 ifeq ($(subdir),misc)
 sysdep_routines += ioperm iopl
-sysdep_headers += sys/perm.h sys/reg.h sys/debugreg.h sys/io.h
 endif
 
 ifeq ($(subdir),stdlib)

Modified: trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/debugreg.h
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/debugreg.h (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/debugreg.h Fri Jun  1 21:32:32 2012
@@ -54,7 +54,9 @@
 #define DR_LEN_1 (0x0)	      /* Settings for data length to trap on */
 #define DR_LEN_2 (0x4)
 #define DR_LEN_4 (0xC)
-#define DR_LEN_8 (0x8)
+#ifdef __x86_64__
+# define DR_LEN_8 (0x8)
+#endif
 
 /* The low byte to the control register determine which registers are
    enabled.  There are 4 fields of two bits.  One bit is "local", meaning

Modified: trunk/ports/ChangeLog.alpha
==============================================================================
--- trunk/ports/ChangeLog.alpha (original)
+++ trunk/ports/ChangeLog.alpha Fri Jun  1 21:32:32 2012
@@ -1,3 +1,9 @@
+2012-06-01  Richard Henderson  <rth@xxxxxxxxxxx>
+
+	* sysdeps/alpha/Makefile (CFLAGS-test-misc.c): Set -mieee-with-inexact.
+
+	* sysdeps/alpha/fpu/libm-test-ulps: Regenerate.
+
 2012-05-30  Richard Henderson  <rth@xxxxxxxxxxx>
 
 	* sysdeps/alpha/Makefile (CFLAGS-s_fma.c): Set -mieee-with-inexact.

Modified: trunk/ports/ChangeLog.mips
==============================================================================
--- trunk/ports/ChangeLog.mips (original)
+++ trunk/ports/ChangeLog.mips Fri Jun  1 21:32:32 2012
@@ -1,3 +1,11 @@
+2012-06-01  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/mips/mips64/n32/s_fma.c: New file.
+	* sysdeps/mips/mips64/n64/s_fma.c: Likewise.
+
+	* sysdeps/unix/sysv/linux/mips/Makefile (abi-n32-condition): Fix
+	typo.
+
 2012-05-31  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	* sysdeps/mips/mips64/libm-test-ulps: Remove sqrt ulps.

Modified: trunk/ports/sysdeps/alpha/Makefile
==============================================================================
--- trunk/ports/sysdeps/alpha/Makefile (original)
+++ trunk/ports/sysdeps/alpha/Makefile Fri Jun  1 21:32:32 2012
@@ -41,6 +41,8 @@
 # The fma routines rely on inexact being raised for correct results.
 CFLAGS-s_fma.c = -mieee-with-inexact
 CFLAGS-s_fmaf.c = -mieee-with-inexact
+# This test tries to check for inexact being raised by arithmetic.
+CFLAGS-test-misc.c += -mieee-with-inexact
 endif
 
 # Build everything with full IEEE math support, and with dynamic rounding;

Modified: trunk/ports/sysdeps/alpha/fpu/libm-test-ulps
==============================================================================
--- trunk/ports/sysdeps/alpha/fpu/libm-test-ulps (original)
+++ trunk/ports/sysdeps/alpha/fpu/libm-test-ulps Fri Jun  1 21:32:32 2012
@@ -964,8 +964,6 @@
 Test "cos (M_PI_6l * 2.0) == 0.5":
 double: 1
 idouble: 1
-ildouble: 1
-ldouble: 1
 Test "cos (M_PI_6l * 4.0) == -0.5":
 double: 2
 float: 1
@@ -1138,9 +1136,6 @@
 ildouble: 4
 ldouble: 4
 Test "Real part of: cpow (0.75 + 1.25 i, 1.0 + 0.0 i) == 0.75 + 1.25 i":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cpow (0.75 + 1.25 i, 1.0 + 0.0 i) == 0.75 + 1.25 i":
 ildouble: 1
 ldouble: 1
 Test "Real part of: cpow (0.75 + 1.25 i, 1.0 + 1.0 i) == 0.0846958290317209430433805274189191353 + 0.513285749182902449043287190519090481 i":
@@ -1148,8 +1143,8 @@
 float: 3
 idouble: 2
 ifloat: 3
-ildouble: 10
-ldouble: 10
+ildouble: 11
+ldouble: 11
 Test "Real part of: cpow (2 + 0 i, 10 + 0 i) == 1024.0 + 0.0 i":
 ildouble: 2
 ldouble: 2
@@ -1158,8 +1153,8 @@
 float: 4
 idouble: 1
 ifloat: 4
-ildouble: 3
-ldouble: 3
+ildouble: 2
+ldouble: 2
 Test "Imaginary part of: cpow (2 + 3 i, 4 + 0 i) == -119.0 - 120.0 i":
 float: 2
 ifloat: 2
@@ -1380,8 +1375,6 @@
 Test "Real part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i":
 float: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
 Test "Imaginary part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i":
 double: 1
 idouble: 1
@@ -1436,18 +1429,14 @@
 # ctanh
 Test "Real part of: ctanh (-2 - 3 i) == -0.965385879022133124278480269394560686 + 0.988437503832249372031403430350121098e-2 i":
 double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
+float: 1
+idouble: 1
+ifloat: 1
 Test "Imaginary part of: ctanh (-2 - 3 i) == -0.965385879022133124278480269394560686 + 0.988437503832249372031403430350121098e-2 i":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
 Test "Imaginary part of: ctanh (0 + 0x3.243f6cp-1 i) == 0.0 - 2.287733242885645987394874673945769518150e7 i":
 float: 1
 ifloat: 1
@@ -1530,10 +1519,8 @@
 
 # exp10
 Test "exp10 (-1) == 0.1":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
+double: 1
+idouble: 1
 Test "exp10 (-305) == 1.0e-305":
 double: 1
 idouble: 1
@@ -1542,18 +1529,9 @@
 idouble: 1
 ildouble: 1
 ldouble: 1
-Test "exp10 (0.75) == 5.62341325190349080394951039776481231":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
 Test "exp10 (3) == 1000":
-double: 6
-float: 2
-idouble: 6
-ifloat: 2
-ildouble: 1
-ldouble: 1
+double: 1
+idouble: 1
 Test "exp10 (36) == 1.0e36":
 double: 1
 idouble: 1
@@ -1562,9 +1540,6 @@
 ldouble: 1
 
 # exp2
-Test "exp2 (10) == 1024":
-ildouble: 2
-ldouble: 2
 Test "exp2 (100.5) == 1.792728671193156477399422023278661496394e+30":
 ildouble: 1
 ldouble: 1
@@ -1802,9 +1777,9 @@
 ldouble: 2
 Test "jn (10, 2.0) == 0.251538628271673670963516093751820639e-6":
 double: 1
-float: 4
-idouble: 1
-ifloat: 4
+float: 2
+idouble: 1
+ifloat: 2
 Test "jn (2, 0x1.ffff62p+99) == -4.43860668048170034334926693188979974489e-16":
 double: 2
 float: 2
@@ -1835,10 +1810,8 @@
 ildouble: 2
 ldouble: 2
 Test "jn (3, 2.0) == 0.128943249474402051098793332969239835":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
+float: 1
+ifloat: 1
 Test "jn (3, 2.4048255576957729) == 0.19899990535769083404042146764530813":
 double: 3
 idouble: 3
@@ -2056,15 +2029,11 @@
 Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
 double: 1
 idouble: 1
-ildouble: 1
-ldouble: 1
 Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
 Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
 float: 1
 ifloat: 1
@@ -2109,11 +2078,6 @@
 ildouble: 1
 ldouble: 1
 Test "sinh_upward (24) == 13244561064.92173614705070540368454568168":
-ildouble: 1
-ldouble: 1
-
-# sqrt
-Test "sqrt (2) == M_SQRT2l":
 ildouble: 1
 ldouble: 1
 
@@ -2474,8 +2438,8 @@
 float: 1
 idouble: 2
 ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 3
+ldouble: 3
 
 Function: Real part of "cacosh":
 double: 1
@@ -2504,8 +2468,8 @@
 float: 1
 idouble: 2
 ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 3
+ldouble: 3
 
 Function: Real part of "casinh":
 double: 5
@@ -2589,9 +2553,9 @@
 
 Function: Imaginary part of "cexp":
 double: 1
-float: 1
-idouble: 1
-ifloat: 1
+float: 2
+idouble: 1
+ifloat: 2
 ildouble: 1
 ldouble: 1
 
@@ -2674,8 +2638,8 @@
 float: 4
 idouble: 2
 ifloat: 4
-ildouble: 10
-ldouble: 10
+ildouble: 11
+ldouble: 11
 
 Function: Imaginary part of "cpow":
 double: 2
@@ -2732,8 +2696,8 @@
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
 
 Function: Imaginary part of "ctan":
 double: 1
@@ -2743,19 +2707,19 @@
 
 Function: Real part of "ctanh":
 double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+
+Function: Imaginary part of "ctanh":
+double: 1
 float: 2
 idouble: 1
 ifloat: 2
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "ctanh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
 
 Function: "erf":
 double: 1
@@ -2770,16 +2734,14 @@
 ldouble: 1
 
 Function: "exp10":
-double: 6
-float: 2
-idouble: 6
-ifloat: 2
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
 
 Function: "exp2":
-ildouble: 2
-ldouble: 2
+ildouble: 1
+ldouble: 1
 
 Function: "exp_downward":
 float: 1
@@ -2806,10 +2768,6 @@
 ifloat: 1
 ildouble: 1
 ldouble: 1
-
-Function: "fma":
-double: 1
-idouble: 1
 
 Function: "gamma":
 ildouble: 1
@@ -2837,11 +2795,11 @@
 
 Function: "jn":
 double: 4
-float: 4
+float: 5
 idouble: 4
-ifloat: 4
-ildouble: 4
-ldouble: 4
+ifloat: 5
+ildouble: 8
+ldouble: 8
 
 Function: "lgamma":
 double: 1
@@ -2932,10 +2890,6 @@
 ldouble: 2
 
 Function: "sinh_upward":
-ildouble: 1
-ldouble: 1
-
-Function: "sqrt":
 ildouble: 1
 ldouble: 1
 

Propchange: trunk/ports/sysdeps/arm/bits/predefs.h
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jun  1 21:32:32 2012
@@ -1,2 +1,2 @@
-/fsf/trunk/ports/sysdeps/arm/bits/predefs.h:18166-18892
+/fsf/trunk/ports/sysdeps/arm/bits/predefs.h:18166-18907
 /fsf/trunk/ports/sysdeps/arm/eabi/bits/predefs.h:15224-17813

Modified: trunk/ports/sysdeps/unix/sysv/linux/mips/Makefile
==============================================================================
--- trunk/ports/sysdeps/unix/sysv/linux/mips/Makefile (original)
+++ trunk/ports/sysdeps/unix/sysv/linux/mips/Makefile Fri Jun  1 21:32:32 2012
@@ -8,13 +8,13 @@
 sysdep_headers += sys/cachectl.h sys/sysmips.h sys/tas.h
 endif
 
-# _MIPS_SIM_ABI32 == 1, _MIPS_SIM_ABIN32 == 2, _MIPS_SIM_ABI64 == 3
+# _MIPS_SIM_ABI32 == 1, _MIPS_SIM_NABI32 == 2, _MIPS_SIM_ABI64 == 3
 abi-variants := o32 n32 n64
 abi-includes := sgidefs.h
 abi-o32-options := -D_MIPS_SIM=1
 abi-o32-condition := _MIPS_SIM == _MIPS_SIM_ABI32
 abi-n32-options := -D_MIPS_SIM=2
-abi-n32-condition := _MIPS_SIM == _MIPS_SIM_ABIN32
+abi-n32-condition := _MIPS_SIM == _MIPS_SIM_NABI32
 abi-n64-options := -D_MIPS_SIM=3
 abi-n64-condition := _MIPS_SIM == _MIPS_SIM_ABI64
 

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