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

[Commits] r18894 - in /fsf/trunk/libc: ./ math/ stdlib/ sysdeps/ieee754/dbl-64/ sysdeps/ieee754/dbl-64/wordsize-64/ sysdeps/ieee754/ld...



Author: eglibc
Date: Fri Jun  1 21:23:12 2012
New Revision: 18894

Log:
Import glibc-mainline for 2012-06-01

Added:
    fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/Makefile
    fsf/trunk/libc/sysdeps/unix/sysv/linux/x86/bits/wchar.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/x86/sys/elf.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/x86/sys/vm86.h
Removed:
    fsf/trunk/libc/sysdeps/unix/sysv/linux/i386/bits/
    fsf/trunk/libc/sysdeps/unix/sysv/linux/i386/sys/elf.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/i386/sys/vm86.h
Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/Makeconfig
    fsf/trunk/libc/NEWS
    fsf/trunk/libc/math/libm-test.inc
    fsf/trunk/libc/stdlib/longlong.h
    fsf/trunk/libc/sysdeps/ieee754/dbl-64/s_fma.c
    fsf/trunk/libc/sysdeps/ieee754/dbl-64/s_fmaf.c
    fsf/trunk/libc/sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c
    fsf/trunk/libc/sysdeps/ieee754/ldbl-128/s_fmal.c
    fsf/trunk/libc/sysdeps/ieee754/ldbl-96/s_fmal.c
    fsf/trunk/libc/sysdeps/unix/sysv/linux/i386/Makefile
    fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile
    fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-32/Makefile
    fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-64/Makefile
    fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile
    fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
    fsf/trunk/libc/sysdeps/unix/sysv/linux/x86/Makefile
    fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/Makefile
    fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/debugreg.h

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Fri Jun  1 21:23:12 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: fsf/trunk/libc/Makeconfig
==============================================================================
--- fsf/trunk/libc/Makeconfig (original)
+++ fsf/trunk/libc/Makeconfig Fri Jun  1 21:23:12 2012
@@ -797,13 +797,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: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Fri Jun  1 21:23:12 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: fsf/trunk/libc/math/libm-test.inc
==============================================================================
--- fsf/trunk/libc/math/libm-test.inc (original)
+++ fsf/trunk/libc/math/libm-test.inc Fri Jun  1 21:23:12 2012
@@ -4123,6 +4123,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: fsf/trunk/libc/stdlib/longlong.h
==============================================================================
--- fsf/trunk/libc/stdlib/longlong.h (original)
+++ fsf/trunk/libc/stdlib/longlong.h Fri Jun  1 21:23:12 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: fsf/trunk/libc/sysdeps/ieee754/dbl-64/s_fma.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/dbl-64/s_fma.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/dbl-64/s_fma.c Fri Jun  1 21:23:12 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: fsf/trunk/libc/sysdeps/ieee754/dbl-64/s_fmaf.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/dbl-64/s_fmaf.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/dbl-64/s_fmaf.c Fri Jun  1 21:23:12 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: fsf/trunk/libc/sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c Fri Jun  1 21:23:12 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: fsf/trunk/libc/sysdeps/ieee754/ldbl-128/s_fmal.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/ldbl-128/s_fmal.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/ldbl-128/s_fmal.c Fri Jun  1 21:23:12 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: fsf/trunk/libc/sysdeps/ieee754/ldbl-96/s_fmal.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/ldbl-96/s_fmal.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/ldbl-96/s_fmal.c Fri Jun  1 21:23:12 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: fsf/trunk/libc/sysdeps/unix/sysv/linux/i386/Makefile
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/i386/Makefile (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/i386/Makefile Fri Jun  1 21:23:12 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: fsf/trunk/libc/sysdeps/unix/sysv/linux/i386/sys/elf.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/i386/sys/elf.h (original)
+++ fsf/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: fsf/trunk/libc/sysdeps/unix/sysv/linux/i386/sys/vm86.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/i386/sys/vm86.h (original)
+++ fsf/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: fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile Fri Jun  1 21:23:12 2012
@@ -1,3 +1,6 @@
+# See Makeconfig regarding the use of default-abi.
+default-abi := 32
+
 ifeq ($(subdir),resource)
 sysdep_routines += oldgetrlimit64
 endif

Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/Makefile
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/Makefile (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/Makefile Fri Jun  1 21:23:12 2012
@@ -1,0 +1,2 @@
+# See Makeconfig regarding the use of default-abi.
+default-abi := 64

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-32/Makefile
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-32/Makefile (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-32/Makefile Fri Jun  1 21:23:12 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: fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-64/Makefile
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-64/Makefile (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-64/Makefile Fri Jun  1 21:23:12 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: fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile Fri Jun  1 21:23:12 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: fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile Fri Jun  1 21:23:12 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: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86/Makefile
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86/Makefile (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86/Makefile Fri Jun  1 21:23:12 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

Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86/bits/wchar.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86/bits/wchar.h (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86/bits/wchar.h Fri Jun  1 21:23:12 2012
@@ -1,0 +1,32 @@
+/* wchar_t type related definitions.  i386/x86-64 version.
+   Copyright (C) 2000-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 _BITS_WCHAR_H
+#define _BITS_WCHAR_H	1
+
+#include <bits/wordsize.h>
+
+#if __WORDSIZE == 64
+# define __WCHAR_MIN	(-2147483647 - 1)
+# define __WCHAR_MAX	(2147483647)
+#else
+# define __WCHAR_MIN	(-2147483647l - 1l)
+# define __WCHAR_MAX	(2147483647l)
+#endif
+
+#endif	/* bits/wchar.h */

Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86/sys/elf.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86/sys/elf.h (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86/sys/elf.h Fri Jun  1 21:23:12 2012
@@ -1,0 +1,29 @@
+/* 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 */

Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86/sys/vm86.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86/sys/vm86.h (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86/sys/vm86.h Fri Jun  1 21:23:12 2012
@@ -1,0 +1,38 @@
+/* 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: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/Makefile
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/Makefile (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/Makefile Fri Jun  1 21:23:12 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: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/debugreg.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/debugreg.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/debugreg.h Fri Jun  1 21:23:12 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

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