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

[Commits] r18836 - in /fsf/trunk/libc: ./ include/sys/ socket/ soft-fp/ sysdeps/i386/ sysdeps/i386/bits/ sysdeps/mach/hurd/ sysdeps/sp...



Author: eglibc
Date: Thu May 31 00:01:32 2012
New Revision: 18836

Log:
Import glibc-mainline for 2012-05-31

Added:
    fsf/trunk/libc/sysdeps/x86/
    fsf/trunk/libc/sysdeps/x86/bits/
    fsf/trunk/libc/sysdeps/x86/bits/byteswap-16.h
    fsf/trunk/libc/sysdeps/x86/bits/byteswap.h
    fsf/trunk/libc/sysdeps/x86/bits/endian.h
    fsf/trunk/libc/sysdeps/x86/bits/huge_vall.h
    fsf/trunk/libc/sysdeps/x86/bits/link.h
    fsf/trunk/libc/sysdeps/x86/bits/linkmap.h
    fsf/trunk/libc/sysdeps/x86/bits/mathdef.h
    fsf/trunk/libc/sysdeps/x86/bits/select.h
    fsf/trunk/libc/sysdeps/x86/bits/setjmp.h
Removed:
    fsf/trunk/libc/sysdeps/i386/bits/
    fsf/trunk/libc/sysdeps/x86_64/bits/byteswap-16.h
    fsf/trunk/libc/sysdeps/x86_64/bits/byteswap.h
    fsf/trunk/libc/sysdeps/x86_64/bits/endian.h
    fsf/trunk/libc/sysdeps/x86_64/bits/link.h
    fsf/trunk/libc/sysdeps/x86_64/bits/linkmap.h
    fsf/trunk/libc/sysdeps/x86_64/bits/mathdef.h
    fsf/trunk/libc/sysdeps/x86_64/bits/select.h
    fsf/trunk/libc/sysdeps/x86_64/bits/setjmp.h
Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/include/sys/socket.h
    fsf/trunk/libc/socket/connect.c
    fsf/trunk/libc/soft-fp/op-common.h
    fsf/trunk/libc/soft-fp/soft-fp.h
    fsf/trunk/libc/sysdeps/i386/Implies
    fsf/trunk/libc/sysdeps/mach/hurd/connect.c
    fsf/trunk/libc/sysdeps/sparc/sparc32/soft-fp/sfp-machine.h
    fsf/trunk/libc/sysdeps/sparc/sparc64/soft-fp/sfp-machine.h
    fsf/trunk/libc/sysdeps/unix/inet/syscalls.list
    fsf/trunk/libc/sysdeps/unix/sysv/linux/connect.S
    fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list
    fsf/trunk/libc/sysdeps/unix/sysv/linux/sa_len.c
    fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/syscalls.list
    fsf/trunk/libc/sysdeps/x86_64/Implies

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Thu May 31 00:01:32 2012
@@ -1,3 +1,74 @@
+2012-05-30  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	[BZ #14117]
+	* sysdeps/i386/bits/huge_vall.h: Renamed to ...
+	* sysdeps/x86/bits/huge_vall.h: This.
+
+	* sysdeps/i386/bits/select.h: Removed.
+	* sysdeps/x86_64/bits/select.h: Renamed to ...
+	* sysdeps/x86/bits/select.h: This.
+
+	* sysdeps/i386/bits/setjmp.h: Removed.
+	* sysdeps/x86_64/bits/setjmp.h: Renamed to ...
+	* sysdeps/x86/bits/setjmp.h: This.
+
+	* sysdeps/i386/bits/mathdef.h: Removed.
+	* sysdeps/x86_64/bits/mathdef.h: Renamed to ...
+	* sysdeps/x86/bits/mathdef.h: This.
+
+2012-05-30  Andreas Schwab  <schwab@xxxxxxxxxxxxxx>
+
+	[BZ #14132]
+	* include/sys/socket.h (__connect_internal)
+	(__libc_sa_len_internal): Remove declaration.
+	(__connect, __libc_sa_len): Declare hidden_proto.
+	(SA_LEN): Remove use of INTUSE.
+	* socket/connect.c: Add libc_hidden_def.
+	* sysdeps/mach/hurd/connect.c: Replace INTDEF by libc_hidden_def.
+	* sysdeps/unix/sysv/linux/sa_len.c: Likewise.
+	* sysdeps/unix/inet/syscalls.list: Remove __connect_internal
+	alias.
+	* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise.
+	* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
+	* sysdeps/unix/sysv/linux/connect.S: Use libc_hidden_weak instead
+	of adding _internal alias.
+
+2012-05-30  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	[BZ #14117]
+	* sysdeps/i386/bits/link.h: Removed.
+	* sysdeps/i386/bits/linkmap.h: Likewise.
+	* sysdeps/x86_64/bits/link.h: Renamed to ...
+	* sysdeps/x86/bits/link.h: This.
+	* sysdeps/x86_64/bits/linkmap.h: Renamed to ...
+	* sysdeps/x86/bits/linkmap.h: This.
+
+	* sysdeps/i386/bits/endian.h: Removed.
+	* sysdeps/x86_64/bits/endian.h: Renamed to ...
+	* sysdeps/x86/bits/endian.h: This.
+
+	* sysdeps/i386/bits/byteswap.h: Removed.
+	* sysdeps/i386/bits/byteswap-16.h: Likewise.
+	* sysdeps/x86_64/bits/byteswap.h: Renamed to ...
+	* sysdeps/x86/bits/byteswap.h: This.
+	* sysdeps/x86_64/bits/byteswap-16.h: Renamed to ...
+	* sysdeps/x86/bits/byteswap-16.h: This.
+	* sysdeps/i386/Implies: Add x86.
+	* sysdeps/x86_64/Implies: Likewise.
+
+2012-05-30  David S. Miller  <davem@xxxxxxxxxxxxx>
+
+	* soft-fp/soft-fp.h (FP_CUR_EXCEPTIONS): Define.
+	(FP_TRAPPING_EXCEPTIONS): Provide default implementation.
+	* sysdeps/sparc/sparc32/soft-fp/sfp-machine.h
+	(FP_TRAPPING_EXCEPTIONS): Define.
+	* sysdeps/sparc/sparc64/soft-fp/sfp-machine.h
+	(FP_TRAPPING_EXCEPTIONS): Define.
+	* soft-fp/op-common.h (_FP_PACK_SEMIRAW): Signal underflow for
+	subnormals only when inexact has been signalled or underflow
+	exceptions are enabled.
+	(_FP_PACK_CANONICAL): Likewise.
+
 2012-05-30  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
 
 	[BZ #14183]

Modified: fsf/trunk/libc/include/sys/socket.h
==============================================================================
--- fsf/trunk/libc/include/sys/socket.h (original)
+++ fsf/trunk/libc/include/sys/socket.h Thu May 31 00:01:32 2012
@@ -57,8 +57,7 @@
 extern int __libc_connect (int __fd, __CONST_SOCKADDR_ARG __addr,
 			   socklen_t __len);
 extern int __connect (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len);
-extern int __connect_internal (int __fd, __CONST_SOCKADDR_ARG __addr,
-			       socklen_t __len) attribute_hidden;
+libc_hidden_proto (__connect)
 
 /* Read N bytes into BUF from socket FD.
    Returns the number read or -1 for errors.
@@ -144,17 +143,8 @@
 # define SA_LEN(_x)      (_x)->sa_len
 #else
 extern int __libc_sa_len (sa_family_t __af);
-extern int __libc_sa_len_internal (sa_family_t __af) attribute_hidden;
-# ifndef NOT_IN_libc
-#  define SA_LEN(_x)      INTUSE(__libc_sa_len)((_x)->sa_family)
-# else
-#  define SA_LEN(_x)      __libc_sa_len((_x)->sa_family)
-# endif
-#endif
-
-
-#ifndef NOT_IN_libc
-# define __connect(fd, addr, len) INTUSE(__connect) (fd, addr, len)
+libc_hidden_proto (__libc_sa_len)
+# define SA_LEN(_x)      __libc_sa_len((_x)->sa_family)
 #endif
 
 #ifdef SOCK_CLOEXEC

Modified: fsf/trunk/libc/socket/connect.c
==============================================================================
--- fsf/trunk/libc/socket/connect.c (original)
+++ fsf/trunk/libc/socket/connect.c Thu May 31 00:01:32 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991-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
@@ -32,6 +32,7 @@
   return -1;
 }
 weak_alias (__connect, connect)
+libc_hidden_def (__connect)
 
 stub_warning (connect)
 #include <stub-tag.h>

Modified: fsf/trunk/libc/soft-fp/op-common.h
==============================================================================
--- fsf/trunk/libc/soft-fp/op-common.h (original)
+++ fsf/trunk/libc/soft-fp/op-common.h Thu May 31 00:01:32 2012
@@ -1,5 +1,5 @@
 /* Software floating-point emulation. Common operations.
-   Copyright (C) 1997,1998,1999,2006,2007 Free Software Foundation, Inc.
+   Copyright (C) 1997,1998,1999,2006,2007,2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Richard Henderson (rth@xxxxxxxxxx),
 		  Jakub Jelinek (jj@xxxxxxxxxxxxxx),
@@ -146,7 +146,11 @@
   if (!_FP_EXP_NORMAL(fs, wc, X) && !_FP_FRAC_ZEROP_##wc(X))	\
     {								\
       if (X##_e == 0)						\
-	FP_SET_EXCEPTION(FP_EX_UNDERFLOW);			\
+	{							\
+	  if ((FP_CUR_EXCEPTIONS & FP_EX_INEXACT)		\
+	      || (FP_TRAPPING_EXCEPTIONS & FP_EX_UNDERFLOW))	\
+	    FP_SET_EXCEPTION(FP_EX_UNDERFLOW);			\
+	}							\
       else							\
 	{							\
 	  if (!_FP_KEEPNANFRACP)				\
@@ -226,13 +230,16 @@
 	      {							\
 	        X##_e = 1;					\
 	        _FP_FRAC_SET_##wc(X, _FP_ZEROFRAC_##wc);	\
+		FP_SET_EXCEPTION(FP_EX_INEXACT);		\
 	      }							\
 	    else						\
 	      {							\
 		X##_e = 0;					\
 		_FP_FRAC_SRL_##wc(X, _FP_WORKBITS);		\
-		FP_SET_EXCEPTION(FP_EX_UNDERFLOW);		\
 	      }							\
+	    if ((FP_CUR_EXCEPTIONS & FP_EX_INEXACT)		\
+		|| (FP_TRAPPING_EXCEPTIONS & FP_EX_UNDERFLOW))	\
+	      FP_SET_EXCEPTION(FP_EX_UNDERFLOW);		\
 	  }							\
 	else							\
 	  {							\

Modified: fsf/trunk/libc/soft-fp/soft-fp.h
==============================================================================
--- fsf/trunk/libc/soft-fp/soft-fp.h (original)
+++ fsf/trunk/libc/soft-fp/soft-fp.h Thu May 31 00:01:32 2012
@@ -127,6 +127,13 @@
 
 #define FP_CLEAR_EXCEPTIONS				\
   _fex = 0
+
+#define FP_CUR_EXCEPTIONS				\
+  (_fex)
+
+#ifndef FP_TRAPPING_EXCEPTIONS
+#define FP_TRAPPING_EXCEPTIONS 0
+#endif
 
 #define _FP_ROUND_NEAREST(wc, X)			\
 do {							\

Modified: fsf/trunk/libc/sysdeps/i386/Implies
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/Implies (original)
+++ fsf/trunk/libc/sysdeps/i386/Implies Thu May 31 00:01:32 2012
@@ -1,3 +1,4 @@
+x86
 wordsize-32
 ieee754/ldbl-96
 ieee754/dbl-64

Modified: fsf/trunk/libc/sysdeps/mach/hurd/connect.c
==============================================================================
--- fsf/trunk/libc/sysdeps/mach/hurd/connect.c (original)
+++ fsf/trunk/libc/sysdeps/mach/hurd/connect.c Thu May 31 00:01:32 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992,94,95,96,97,2002 Free Software Foundation, Inc.
+/* Copyright (C) 1992-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
@@ -22,8 +22,6 @@
 #include <hurd/socket.h>
 #include <sys/un.h>
 #include <hurd/ifsock.h>
-
-#undef __connect
 
 /* Open a connection on socket FD to peer at ADDR (which LEN bytes long).
    For connectionless socket types, just set the default address to send to
@@ -73,5 +71,5 @@
   return err ? __hurd_dfail (fd, err) : 0;
 }
 
-INTDEF(__connect)
+libc_hidden_def (__connect)
 weak_alias (__connect, connect)

Modified: fsf/trunk/libc/sysdeps/sparc/sparc32/soft-fp/sfp-machine.h
==============================================================================
--- fsf/trunk/libc/sysdeps/sparc/sparc32/soft-fp/sfp-machine.h (original)
+++ fsf/trunk/libc/sysdeps/sparc/sparc32/soft-fp/sfp-machine.h Thu May 31 00:01:32 2012
@@ -1,6 +1,6 @@
 /* Machine-dependent software floating-point definitions.
    Sparc userland (_Q_*) version.
-   Copyright (C) 1997,1998,1999, 2002, 2006 Free Software Foundation, Inc.
+   Copyright (C) 1997,1998,1999,2002,2006,2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Richard Henderson (rth@xxxxxxxxxx),
 		  Jakub Jelinek (jj@xxxxxxxxxxxxxx) and
@@ -192,6 +192,7 @@
   _FPU_GETCW(_fcw);						\
 } while (0)
 
+#define FP_TRAPPING_EXCEPTIONS ((_fcw >> 23) & 0x1f)
 #define FP_INHIBIT_RESULTS ((_fcw >> 23) & _fex)
 
 /* Simulate exceptions using double arithmetics. */

Modified: fsf/trunk/libc/sysdeps/sparc/sparc64/soft-fp/sfp-machine.h
==============================================================================
--- fsf/trunk/libc/sysdeps/sparc/sparc64/soft-fp/sfp-machine.h (original)
+++ fsf/trunk/libc/sysdeps/sparc/sparc64/soft-fp/sfp-machine.h Thu May 31 00:01:32 2012
@@ -1,6 +1,6 @@
 /* Machine-dependent software floating-point definitions.
    Sparc64 userland (_Q_* and _Qp_*) version.
-   Copyright (C) 1997, 1998, 1999, 2006 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 1999, 2006, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Richard Henderson (rth@xxxxxxxxxx),
 		  Jakub Jelinek (jj@xxxxxxxxxxxxxx) and
@@ -100,6 +100,7 @@
   _FPU_GETCW(_fcw);						\
 } while (0)
 
+#define FP_TRAPPING_EXCEPTIONS ((_fcw >> 23) & 0x1f)
 #define FP_INHIBIT_RESULTS ((_fcw >> 23) & _fex)
 
 /* Simulate exceptions using double arithmetics. */

Modified: fsf/trunk/libc/sysdeps/unix/inet/syscalls.list
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/inet/syscalls.list (original)
+++ fsf/trunk/libc/sysdeps/unix/inet/syscalls.list Thu May 31 00:01:32 2012
@@ -2,7 +2,7 @@
 
 accept		-	accept		Ci:iBN	__libc_accept	accept
 bind		-	bind		i:ipi	__bind		bind
-connect		-	connect		Ci:ipi	__libc_connect	__connect __connect_internal connect
+connect		-	connect		Ci:ipi	__libc_connect	__connect connect
 gethostid	-	gethostid	i:	gethostid
 gethostname	-	gethostname	i:bn	__gethostname	gethostname
 getpeername	-	getpeername	i:ibN	__getpeername	getpeername

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/connect.S
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/connect.S (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/connect.S Thu May 31 00:01:32 2012
@@ -3,5 +3,5 @@
 #define	NARGS	3
 #define NEED_CANCELLATION
 #include <socket.S>
-strong_alias (__libc_connect, __connect_internal)
 weak_alias (__libc_connect, __connect)
+libc_hidden_weak (__connect)

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list Thu May 31 00:01:32 2012
@@ -18,7 +18,7 @@
 # proper socket implementations:
 accept		-	accept		Ci:iBN	__libc_accept	__accept accept
 bind		-	bind		i:ipi	__bind		bind
-connect		-	connect		Ci:ipi	__libc_connect	__connect_internal __connect connect
+connect		-	connect		Ci:ipi	__libc_connect	__connect connect
 getpeername	-	getpeername	i:ipp	__getpeername	getpeername
 getsockname	-	getsockname	i:ipp	__getsockname	getsockname
 getsockopt	-	getsockopt	i:iiiBN	__getsockopt	getsockopt

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/sa_len.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/sa_len.c (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/sa_len.c Thu May 31 00:01:32 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999, 2002, 2007 Free Software Foundation, Inc.
+/* 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
@@ -60,4 +60,4 @@
     }
   return 0;
 }
-INTDEF(__libc_sa_len)
+libc_hidden_def (__libc_sa_len)

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/syscalls.list
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/syscalls.list (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/syscalls.list Thu May 31 00:01:32 2012
@@ -20,7 +20,7 @@
 # proper socket implementations:
 accept		-	accept		Ci:iBN	__libc_accept	__accept accept
 bind		-	bind		i:ipi	__bind		bind
-connect		-	connect		Ci:ipi	__libc_connect	__connect_internal __connect connect
+connect		-	connect		Ci:ipi	__libc_connect	__connect connect
 getpeername	-	getpeername	i:ipp	__getpeername	getpeername
 getsockname	-	getsockname	i:ipp	__getsockname	getsockname
 getsockopt	-	getsockopt	i:iiiBN	__getsockopt	getsockopt

Added: fsf/trunk/libc/sysdeps/x86/bits/byteswap-16.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86/bits/byteswap-16.h (added)
+++ fsf/trunk/libc/sysdeps/x86/bits/byteswap-16.h Thu May 31 00:01:32 2012
@@ -1,0 +1,49 @@
+/* Macros to swap the order of bytes in 16-bit integer values.
+   Copyright (C) 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_BYTESWAP_H
+# error "Never use <bits/byteswap-16.h> directly; include <byteswap.h> instead."
+#endif
+
+#ifdef __GNUC__
+# if __GNUC__ >= 2
+#  define __bswap_16(x) \
+     (__extension__							      \
+      ({ register unsigned short int __v, __x = (unsigned short int) (x);     \
+	 if (__builtin_constant_p (__x))				      \
+	   __v = __bswap_constant_16 (__x);				      \
+	 else								      \
+	   __asm__ ("rorw $8, %w0"					      \
+		    : "=r" (__v)					      \
+		    : "0" (__x)						      \
+		    : "cc");						      \
+	 __v; }))
+# else
+/* This is better than nothing.  */
+#  define __bswap_16(x) \
+     (__extension__							      \
+      ({ register unsigned short int __x = (unsigned short int) (x);	      \
+	 __bswap_constant_16 (__x); }))
+# endif
+#else
+static __inline unsigned short int
+__bswap_16 (unsigned short int __bsx)
+{
+  return __bswap_constant_16 (__bsx);
+}
+#endif

Added: fsf/trunk/libc/sysdeps/x86/bits/byteswap.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86/bits/byteswap.h (added)
+++ fsf/trunk/libc/sysdeps/x86/bits/byteswap.h Thu May 31 00:01:32 2012
@@ -1,0 +1,154 @@
+/* Macros to swap the order of bytes in integer values.
+   Copyright (C) 1997-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/>.  */
+
+#if !defined _BYTESWAP_H && !defined _NETINET_IN_H && !defined _ENDIAN_H
+# error "Never use <bits/byteswap.h> directly; include <byteswap.h> instead."
+#endif
+
+#ifndef _BITS_BYTESWAP_H
+#define _BITS_BYTESWAP_H 1
+
+#include <features.h>
+#include <bits/wordsize.h>
+
+/* Swap bytes in 16 bit value.  */
+#define __bswap_constant_16(x) \
+     ((unsigned short int) ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8)))
+
+/* Get __bswap_16.  */
+#include <bits/byteswap-16.h>
+
+/* Swap bytes in 32 bit value.  */
+#define __bswap_constant_32(x) \
+     ((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >>  8) |		      \
+      (((x) & 0x0000ff00) <<  8) | (((x) & 0x000000ff) << 24))
+
+#ifdef __GNUC__
+# if __GNUC_PREREQ (4, 2)
+static __inline unsigned int
+__bswap_32 (unsigned int __bsx)
+{
+  return __builtin_bswap32 (__bsx);
+}
+# elif __GNUC__ >= 2
+#  if __WORDSIZE == 64 || (defined __i486__ || defined __pentium__	      \
+			   || defined __pentiumpro__ || defined __pentium4__  \
+			   || defined __k8__ || defined __athlon__	      \
+			   || defined __k6__ || defined __nocona__	      \
+			   || defined __core2__ || defined __geode__	      \
+			   || defined __amdfam10__)
+/* To swap the bytes in a word the i486 processors and up provide the
+   `bswap' opcode.  On i386 we have to use three instructions.  */
+#   define __bswap_32(x) \
+      (__extension__							      \
+       ({ register unsigned int __v, __x = (x);				      \
+	  if (__builtin_constant_p (__x))				      \
+	    __v = __bswap_constant_32 (__x);				      \
+	  else								      \
+	    __asm__ ("bswap %0" : "=r" (__v) : "0" (__x));		      \
+	  __v; }))
+#  else
+#   define __bswap_32(x)						      \
+      (__extension__							      \
+       ({ register unsigned int __v, __x = (x);				      \
+	  if (__builtin_constant_p (__x))				      \
+	    __v = __bswap_constant_32 (__x);				      \
+	  else								      \
+	    __asm__ ("rorw $8, %w0;"					      \
+		     "rorl $16, %0;"					      \
+		     "rorw $8, %w0"					      \
+		     : "=r" (__v)					      \
+		     : "0" (__x)					      \
+		     : "cc");						      \
+	  __v; }))
+#  endif
+# else
+#  define __bswap_32(x) \
+     (__extension__							      \
+      ({ register unsigned int __x = (x); __bswap_constant_32 (__x); }))
+# endif
+#else
+static __inline unsigned int
+__bswap_32 (unsigned int __bsx)
+{
+  return __bswap_constant_32 (__bsx);
+}
+#endif
+
+
+#if __GNUC_PREREQ (2, 0)
+/* Swap bytes in 64 bit value.  */
+# define __bswap_constant_64(x) \
+     (__extension__ ((((x) & 0xff00000000000000ull) >> 56)		      \
+		     | (((x) & 0x00ff000000000000ull) >> 40)		      \
+		     | (((x) & 0x0000ff0000000000ull) >> 24)		      \
+		     | (((x) & 0x000000ff00000000ull) >> 8)		      \
+		     | (((x) & 0x00000000ff000000ull) << 8)		      \
+		     | (((x) & 0x0000000000ff0000ull) << 24)		      \
+		     | (((x) & 0x000000000000ff00ull) << 40)		      \
+		     | (((x) & 0x00000000000000ffull) << 56)))
+
+# if __GNUC_PREREQ (4, 2)
+static __inline unsigned long long int
+__bswap_64 (unsigned long long int __bsx)
+{
+  return __builtin_bswap64 (__bsx);
+}
+# elif __WORDSIZE == 64
+#  define __bswap_64(x) \
+     (__extension__							      \
+      ({ register unsigned long __v, __x = (x);				      \
+	 if (__builtin_constant_p (__x))				      \
+	   __v = __bswap_constant_64 (__x);				      \
+	 else								      \
+	   __asm__ ("bswap %q0" : "=r" (__v) : "0" (__x));		      \
+	 __v; }))
+# else
+#  define __bswap_64(x) \
+     (__extension__                                                           \
+      ({ union { __extension__ unsigned long long int __ll;                   \
+		 unsigned int __l[2]; } __w, __r;                             \
+	 if (__builtin_constant_p (x))                                        \
+	   __r.__ll = __bswap_constant_64 (x);                                \
+	 else                                                                 \
+	   {                                                                  \
+	     __w.__ll = (x);                                                  \
+	     __r.__l[0] = __bswap_32 (__w.__l[1]);                            \
+	     __r.__l[1] = __bswap_32 (__w.__l[0]);                            \
+	   }                                                                  \
+	 __r.__ll; }))
+# endif
+#elif __GLIBC_HAVE_LONG_LONG
+# define __bswap_constant_64(x) \
+     ((((x) & 0xff00000000000000ull) >> 56)				      \
+      | (((x) & 0x00ff000000000000ull) >> 40)				      \
+      | (((x) & 0x0000ff0000000000ull) >> 24)				      \
+      | (((x) & 0x000000ff00000000ull) >> 8)				      \
+      | (((x) & 0x00000000ff000000ull) << 8)				      \
+      | (((x) & 0x0000000000ff0000ull) << 24)				      \
+      | (((x) & 0x000000000000ff00ull) << 40)				      \
+      | (((x) & 0x00000000000000ffull) << 56))
+
+static __inline unsigned long long int
+__bswap_64 (unsigned long long int __bsx)
+{
+  return __bswap_constant_64 (__bsx);
+}
+#endif
+
+#endif /* _BITS_BYTESWAP_H */

Added: fsf/trunk/libc/sysdeps/x86/bits/endian.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86/bits/endian.h (added)
+++ fsf/trunk/libc/sysdeps/x86/bits/endian.h Thu May 31 00:01:32 2012
@@ -1,0 +1,7 @@
+/* i386/x86_64 are little-endian.  */
+
+#ifndef _ENDIAN_H
+# error "Never use <bits/endian.h> directly; include <endian.h> instead."
+#endif
+
+#define __BYTE_ORDER __LITTLE_ENDIAN

Added: fsf/trunk/libc/sysdeps/x86/bits/huge_vall.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86/bits/huge_vall.h (added)
+++ fsf/trunk/libc/sysdeps/x86/bits/huge_vall.h Thu May 31 00:01:32 2012
@@ -1,0 +1,42 @@
+/* `HUGE_VALL' constant for ix86 (where it is infinity).
+   Used by <stdlib.h> and <math.h> functions for overflow.
+   Copyright (C) 1992, 1995, 1996, 1997, 1999, 2000, 2004
+   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 _MATH_H
+# error "Never use <bits/huge_vall.h> directly; include <math.h> instead."
+#endif
+
+#if __GNUC_PREREQ(3,3)
+# define HUGE_VALL	(__builtin_huge_vall())
+#elif __GNUC_PREREQ(2,96)
+# define HUGE_VALL	(__extension__ 0x1.0p32767L)
+#else
+
+# define __HUGE_VALL_bytes	{ 0, 0, 0, 0, 0, 0, 0, 0x80, 0xff, 0x7f, 0, 0 }
+
+# define __huge_vall_t	union { unsigned char __c[12]; long double __ld; }
+# ifdef __GNUC__
+#  define HUGE_VALL	(__extension__ \
+			 ((__huge_vall_t) { __c: __HUGE_VALL_bytes }).__ld)
+# else	/* Not GCC.  */
+static __huge_vall_t __huge_vall = { __HUGE_VALL_bytes };
+#  define HUGE_VALL	(__huge_vall.__ld)
+#  endif /* GCC.  */
+
+#endif /* GCC 2.95 */

Added: fsf/trunk/libc/sysdeps/x86/bits/link.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86/bits/link.h (added)
+++ fsf/trunk/libc/sysdeps/x86/bits/link.h Thu May 31 00:01:32 2012
@@ -1,0 +1,147 @@
+/* Copyright (C) 2004, 2005, 2009, 2011 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	_LINK_H
+# error "Never include <bits/link.h> directly; use <link.h> instead."
+#endif
+
+
+#ifndef __x86_64__
+/* Registers for entry into PLT on IA-32.  */
+typedef struct La_i86_regs
+{
+  uint32_t lr_edx;
+  uint32_t lr_ecx;
+  uint32_t lr_eax;
+  uint32_t lr_ebp;
+  uint32_t lr_esp;
+} La_i86_regs;
+
+/* Return values for calls from PLT on IA-32.  */
+typedef struct La_i86_retval
+{
+  uint32_t lrv_eax;
+  uint32_t lrv_edx;
+  long double lrv_st0;
+  long double lrv_st1;
+} La_i86_retval;
+
+
+__BEGIN_DECLS
+
+extern Elf32_Addr la_i86_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx,
+				       uintptr_t *__refcook,
+				       uintptr_t *__defcook,
+				       La_i86_regs *__regs,
+				       unsigned int *__flags,
+				       const char *__symname,
+				       long int *__framesizep);
+extern unsigned int la_i86_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx,
+					uintptr_t *__refcook,
+					uintptr_t *__defcook,
+					const La_i86_regs *__inregs,
+					La_i86_retval *__outregs,
+					const char *symname);
+
+__END_DECLS
+
+#else
+
+/* Registers for entry into PLT on x86-64.  */
+# if __GNUC_PREREQ (4,0)
+typedef float La_x86_64_xmm __attribute__ ((__vector_size__ (16)));
+typedef float La_x86_64_ymm
+    __attribute__ ((__vector_size__ (32), __aligned__ (16)));
+# else
+typedef float La_x86_64_xmm __attribute__ ((__mode__ (__V4SF__)));
+# endif
+
+typedef union
+{
+# if __GNUC_PREREQ (4,0)
+  La_x86_64_ymm ymm[2];
+# endif
+  La_x86_64_xmm xmm[4];
+} La_x86_64_vector __attribute__ ((__aligned__ (16)));
+
+typedef struct La_x86_64_regs
+{
+  uint64_t lr_rdx;
+  uint64_t lr_r8;
+  uint64_t lr_r9;
+  uint64_t lr_rcx;
+  uint64_t lr_rsi;
+  uint64_t lr_rdi;
+  uint64_t lr_rbp;
+  uint64_t lr_rsp;
+  La_x86_64_xmm lr_xmm[8];
+  La_x86_64_vector lr_vector[8];
+} La_x86_64_regs;
+
+/* Return values for calls from PLT on x86-64.  */
+typedef struct La_x86_64_retval
+{
+  uint64_t lrv_rax;
+  uint64_t lrv_rdx;
+  La_x86_64_xmm lrv_xmm0;
+  La_x86_64_xmm lrv_xmm1;
+  long double lrv_st0;
+  long double lrv_st1;
+  La_x86_64_vector lrv_vector0;
+  La_x86_64_vector lrv_vector1;
+} La_x86_64_retval;
+
+#define La_x32_regs La_x86_64_regs
+#define La_x32_retval La_x86_64_retval
+
+__BEGIN_DECLS
+
+extern Elf64_Addr la_x86_64_gnu_pltenter (Elf64_Sym *__sym,
+					  unsigned int __ndx,
+					  uintptr_t *__refcook,
+					  uintptr_t *__defcook,
+					  La_x86_64_regs *__regs,
+					  unsigned int *__flags,
+					  const char *__symname,
+					  long int *__framesizep);
+extern unsigned int la_x86_64_gnu_pltexit (Elf64_Sym *__sym,
+					   unsigned int __ndx,
+					   uintptr_t *__refcook,
+					   uintptr_t *__defcook,
+					   const La_x86_64_regs *__inregs,
+					   La_x86_64_retval *__outregs,
+					   const char *__symname);
+
+extern Elf32_Addr la_x32_gnu_pltenter (Elf32_Sym *__sym,
+				       unsigned int __ndx,
+				       uintptr_t *__refcook,
+				       uintptr_t *__defcook,
+				       La_x32_regs *__regs,
+				       unsigned int *__flags,
+				       const char *__symname,
+				       long int *__framesizep);
+extern unsigned int la_x32_gnu_pltexit (Elf32_Sym *__sym,
+					unsigned int __ndx,
+					uintptr_t *__refcook,
+					uintptr_t *__defcook,
+					const La_x32_regs *__inregs,
+					La_x32_retval *__outregs,
+					const char *__symname);
+
+__END_DECLS
+
+#endif

Added: fsf/trunk/libc/sysdeps/x86/bits/linkmap.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86/bits/linkmap.h (added)
+++ fsf/trunk/libc/sysdeps/x86/bits/linkmap.h Thu May 31 00:01:32 2012
@@ -1,0 +1,16 @@
+#if __WORDSIZE == 64
+struct link_map_machine
+  {
+    Elf64_Addr plt; /* Address of .plt + 0x16 */
+    Elf64_Addr gotplt; /* Address of .got + 0x18 */
+    void *tlsdesc_table; /* Address of TLS descriptor hash table.  */
+  };
+
+#else
+struct link_map_machine
+  {
+    Elf32_Addr plt; /* Address of .plt + 0x16 */
+    Elf32_Addr gotplt; /* Address of .got + 0x0c */
+    void *tlsdesc_table; /* Address of TLS descriptor hash table.  */
+  };
+#endif

Added: fsf/trunk/libc/sysdeps/x86/bits/mathdef.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86/bits/mathdef.h (added)
+++ fsf/trunk/libc/sysdeps/x86/bits/mathdef.h Thu May 31 00:01:32 2012
@@ -1,0 +1,59 @@
+/* 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
+   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/>.  */
+
+#if !defined _MATH_H && !defined _COMPLEX_H
+# error "Never use <bits/mathdef.h> directly; include <math.h> instead"
+#endif
+
+#if defined __USE_ISOC99 && defined _MATH_H && !defined _MATH_H_MATHDEF
+# define _MATH_H_MATHDEF	1
+
+# if defined __x86_64__ || (defined __FLT_EVAL_METHOD__ && __FLT_EVAL_METHOD__ == 0)
+/* The x86-64 architecture computes values with the precission of the
+   used type.  Similarly for -m32 -mfpmath=sse.  */
+typedef float float_t;		/* `float' expressions are evaluated as `float'.  */
+typedef double double_t;	/* `double' expressions are evaluated
+				   as `double'.  */
+# else
+/* The ix87 FPUs evaluate all values in the 80 bit floating-point format
+   which is also available for the user as `long double'.  Therefore we
+   define:  */
+typedef long double float_t;	/* `float' expressions are evaluated as
+				   `long double'.  */
+typedef long double double_t;	/* `double' expressions are evaluated as
+				   `long double'.  */
+# endif
+
+/* The values returned by `ilogb' for 0 and NaN respectively.  */
+# define FP_ILOGB0	(-2147483647 - 1)
+# define FP_ILOGBNAN	(-2147483647 - 1)
+
+/* The GCC 4.6 compiler will define __FP_FAST_FMA{,F,L} if the fma{,f,l}
+   builtins are supported.  */
+# if __FP_FAST_FMA
+#  define FP_FAST_FMA 1
+# endif
+
+# if __FP_FAST_FMAF
+#  define FP_FAST_FMAF 1
+# endif
+
+# if __FP_FAST_FMAL
+#  define FP_FAST_FMAL 1
+# endif
+
+#endif	/* ISO C99 */

Added: fsf/trunk/libc/sysdeps/x86/bits/select.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86/bits/select.h (added)
+++ fsf/trunk/libc/sysdeps/x86/bits/select.h Thu May 31 00:01:32 2012
@@ -1,0 +1,63 @@
+/* Copyright (C) 1997-1999,2001,2008,2009,2011 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_SELECT_H
+# error "Never use <bits/select.h> directly; include <sys/select.h> instead."
+#endif
+
+#include <bits/wordsize.h>
+
+
+#if defined __GNUC__ && __GNUC__ >= 2
+
+# if __WORDSIZE == 64
+#  define __FD_ZERO_STOS "stosq"
+# else
+#  define __FD_ZERO_STOS "stosl"
+# endif
+
+# define __FD_ZERO(fdsp) \
+  do {									      \
+    int __d0, __d1;							      \
+    __asm__ __volatile__ ("cld; rep; " __FD_ZERO_STOS			      \
+			  : "=c" (__d0), "=D" (__d1)			      \
+			  : "a" (0), "0" (sizeof (fd_set)		      \
+					  / sizeof (__fd_mask)),	      \
+			    "1" (&__FDS_BITS (fdsp)[0])			      \
+			  : "memory");					      \
+  } while (0)
+
+#else	/* ! GNU CC */
+
+/* We don't use `memset' because this would require a prototype and
+   the array isn't too big.  */
+# define __FD_ZERO(set)  \
+  do {									      \
+    unsigned int __i;							      \
+    fd_set *__arr = (set);						      \
+    for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i)	      \
+      __FDS_BITS (__arr)[__i] = 0;					      \
+  } while (0)
+
+#endif	/* GNU CC */
+
+#define __FD_SET(d, set) \
+  ((void) (__FDS_BITS (set)[__FD_ELT (d)] |= __FD_MASK (d)))
+#define __FD_CLR(d, set) \
+  ((void) (__FDS_BITS (set)[__FD_ELT (d)] &= ~__FD_MASK (d)))
+#define __FD_ISSET(d, set) \
+  ((__FDS_BITS (set)[__FD_ELT (d)] & __FD_MASK (d)) != 0)

Added: fsf/trunk/libc/sysdeps/x86/bits/setjmp.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86/bits/setjmp.h (added)
+++ fsf/trunk/libc/sysdeps/x86/bits/setjmp.h Thu May 31 00:01:32 2012
@@ -1,0 +1,40 @@
+/* Copyright (C) 2001,2002,2003,2005,2006 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 the machine-dependent type `jmp_buf'.  x86-64 version.  */
+#ifndef _BITS_SETJMP_H
+#define _BITS_SETJMP_H  1
+
+#if !defined _SETJMP_H && !defined _PTHREAD_H
+# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
+#endif
+
+#include <bits/wordsize.h>
+
+#ifndef _ASM
+
+# if __WORDSIZE == 64
+typedef long int __jmp_buf[8];
+# elif defined  __x86_64__
+typedef long long int __jmp_buf[8];
+# else
+typedef int __jmp_buf[6];
+# endif
+
+#endif
+
+#endif  /* bits/setjmp.h */

Modified: fsf/trunk/libc/sysdeps/x86_64/Implies
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/Implies (original)
+++ fsf/trunk/libc/sysdeps/x86_64/Implies Thu May 31 00:01:32 2012
@@ -1,3 +1,4 @@
+x86
 ieee754/ldbl-96
 ieee754/dbl-64/wordsize-64
 ieee754/dbl-64

Removed: fsf/trunk/libc/sysdeps/x86_64/bits/byteswap-16.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/bits/byteswap-16.h (original)
+++ fsf/trunk/libc/sysdeps/x86_64/bits/byteswap-16.h (removed)
@@ -1,49 +1,0 @@
-/* Macros to swap the order of bytes in 16-bit integer values.
-   Copyright (C) 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_BYTESWAP_H
-# error "Never use <bits/byteswap-16.h> directly; include <byteswap.h> instead."
-#endif
-
-#ifdef __GNUC__
-# if __GNUC__ >= 2
-#  define __bswap_16(x) \
-     (__extension__							      \
-      ({ register unsigned short int __v, __x = (unsigned short int) (x);     \
-	 if (__builtin_constant_p (__x))				      \
-	   __v = __bswap_constant_16 (__x);				      \
-	 else								      \
-	   __asm__ ("rorw $8, %w0"					      \
-		    : "=r" (__v)					      \
-		    : "0" (__x)						      \
-		    : "cc");						      \
-	 __v; }))
-# else
-/* This is better than nothing.  */
-#  define __bswap_16(x) \
-     (__extension__							      \
-      ({ register unsigned short int __x = (unsigned short int) (x);	      \
-	 __bswap_constant_16 (__x); }))
-# endif
-#else
-static __inline unsigned short int
-__bswap_16 (unsigned short int __bsx)
-{
-  return __bswap_constant_16 (__bsx);
-}
-#endif

Removed: fsf/trunk/libc/sysdeps/x86_64/bits/byteswap.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/bits/byteswap.h (original)
+++ fsf/trunk/libc/sysdeps/x86_64/bits/byteswap.h (removed)
@@ -1,154 +1,0 @@
-/* Macros to swap the order of bytes in integer values.
-   Copyright (C) 1997-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/>.  */
-
-#if !defined _BYTESWAP_H && !defined _NETINET_IN_H && !defined _ENDIAN_H
-# error "Never use <bits/byteswap.h> directly; include <byteswap.h> instead."
-#endif
-
-#ifndef _BITS_BYTESWAP_H
-#define _BITS_BYTESWAP_H 1
-
-#include <features.h>
-#include <bits/wordsize.h>
-
-/* Swap bytes in 16 bit value.  */
-#define __bswap_constant_16(x) \
-     ((unsigned short int) ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8)))
-
-/* Get __bswap_16.  */
-#include <bits/byteswap-16.h>
-
-/* Swap bytes in 32 bit value.  */
-#define __bswap_constant_32(x) \
-     ((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >>  8) |		      \
-      (((x) & 0x0000ff00) <<  8) | (((x) & 0x000000ff) << 24))
-
-#ifdef __GNUC__
-# if __GNUC_PREREQ (4, 2)
-static __inline unsigned int
-__bswap_32 (unsigned int __bsx)
-{
-  return __builtin_bswap32 (__bsx);
-}
-# elif __GNUC__ >= 2
-#  if __WORDSIZE == 64 || (defined __i486__ || defined __pentium__	      \
-			   || defined __pentiumpro__ || defined __pentium4__  \
-			   || defined __k8__ || defined __athlon__	      \
-			   || defined __k6__ || defined __nocona__	      \
-			   || defined __core2__ || defined __geode__	      \
-			   || defined __amdfam10__)
-/* To swap the bytes in a word the i486 processors and up provide the
-   `bswap' opcode.  On i386 we have to use three instructions.  */
-#   define __bswap_32(x) \
-      (__extension__							      \
-       ({ register unsigned int __v, __x = (x);				      \
-	  if (__builtin_constant_p (__x))				      \
-	    __v = __bswap_constant_32 (__x);				      \
-	  else								      \
-	    __asm__ ("bswap %0" : "=r" (__v) : "0" (__x));		      \
-	  __v; }))
-#  else
-#   define __bswap_32(x)						      \
-      (__extension__							      \
-       ({ register unsigned int __v, __x = (x);				      \
-	  if (__builtin_constant_p (__x))				      \
-	    __v = __bswap_constant_32 (__x);				      \
-	  else								      \
-	    __asm__ ("rorw $8, %w0;"					      \
-		     "rorl $16, %0;"					      \
-		     "rorw $8, %w0"					      \
-		     : "=r" (__v)					      \
-		     : "0" (__x)					      \
-		     : "cc");						      \
-	  __v; }))
-#  endif
-# else
-#  define __bswap_32(x) \
-     (__extension__							      \
-      ({ register unsigned int __x = (x); __bswap_constant_32 (__x); }))
-# endif
-#else
-static __inline unsigned int
-__bswap_32 (unsigned int __bsx)
-{
-  return __bswap_constant_32 (__bsx);
-}
-#endif
-
-
-#if __GNUC_PREREQ (2, 0)
-/* Swap bytes in 64 bit value.  */
-# define __bswap_constant_64(x) \
-     (__extension__ ((((x) & 0xff00000000000000ull) >> 56)		      \
-		     | (((x) & 0x00ff000000000000ull) >> 40)		      \
-		     | (((x) & 0x0000ff0000000000ull) >> 24)		      \
-		     | (((x) & 0x000000ff00000000ull) >> 8)		      \
-		     | (((x) & 0x00000000ff000000ull) << 8)		      \
-		     | (((x) & 0x0000000000ff0000ull) << 24)		      \
-		     | (((x) & 0x000000000000ff00ull) << 40)		      \
-		     | (((x) & 0x00000000000000ffull) << 56)))
-
-# if __GNUC_PREREQ (4, 2)
-static __inline unsigned long long int
-__bswap_64 (unsigned long long int __bsx)
-{
-  return __builtin_bswap64 (__bsx);
-}
-# elif __WORDSIZE == 64
-#  define __bswap_64(x) \
-     (__extension__							      \
-      ({ register unsigned long __v, __x = (x);				      \
-	 if (__builtin_constant_p (__x))				      \
-	   __v = __bswap_constant_64 (__x);				      \
-	 else								      \
-	   __asm__ ("bswap %q0" : "=r" (__v) : "0" (__x));		      \
-	 __v; }))
-# else
-#  define __bswap_64(x) \
-     (__extension__                                                           \
-      ({ union { __extension__ unsigned long long int __ll;                   \
-		 unsigned int __l[2]; } __w, __r;                             \
-	 if (__builtin_constant_p (x))                                        \
-	   __r.__ll = __bswap_constant_64 (x);                                \
-	 else                                                                 \
-	   {                                                                  \
-	     __w.__ll = (x);                                                  \
-	     __r.__l[0] = __bswap_32 (__w.__l[1]);                            \
-	     __r.__l[1] = __bswap_32 (__w.__l[0]);                            \
-	   }                                                                  \
-	 __r.__ll; }))
-# endif
-#elif __GLIBC_HAVE_LONG_LONG
-# define __bswap_constant_64(x) \
-     ((((x) & 0xff00000000000000ull) >> 56)				      \
-      | (((x) & 0x00ff000000000000ull) >> 40)				      \
-      | (((x) & 0x0000ff0000000000ull) >> 24)				      \
-      | (((x) & 0x000000ff00000000ull) >> 8)				      \
-      | (((x) & 0x00000000ff000000ull) << 8)				      \
-      | (((x) & 0x0000000000ff0000ull) << 24)				      \
-      | (((x) & 0x000000000000ff00ull) << 40)				      \
-      | (((x) & 0x00000000000000ffull) << 56))
-
-static __inline unsigned long long int
-__bswap_64 (unsigned long long int __bsx)
-{
-  return __bswap_constant_64 (__bsx);
-}
-#endif
-
-#endif /* _BITS_BYTESWAP_H */

Removed: fsf/trunk/libc/sysdeps/x86_64/bits/endian.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/bits/endian.h (original)
+++ fsf/trunk/libc/sysdeps/x86_64/bits/endian.h (removed)
@@ -1,7 +1,0 @@
-/* x86_64 is little-endian.  */
-
-#ifndef _ENDIAN_H
-# error "Never use <bits/endian.h> directly; include <endian.h> instead."
-#endif
-
-#define __BYTE_ORDER __LITTLE_ENDIAN

Removed: fsf/trunk/libc/sysdeps/x86_64/bits/link.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/bits/link.h (original)
+++ fsf/trunk/libc/sysdeps/x86_64/bits/link.h (removed)
@@ -1,147 +1,0 @@
-/* Copyright (C) 2004, 2005, 2009, 2011 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	_LINK_H
-# error "Never include <bits/link.h> directly; use <link.h> instead."
-#endif
-
-
-#ifndef __x86_64__
-/* Registers for entry into PLT on IA-32.  */
-typedef struct La_i86_regs
-{
-  uint32_t lr_edx;
-  uint32_t lr_ecx;
-  uint32_t lr_eax;
-  uint32_t lr_ebp;
-  uint32_t lr_esp;
-} La_i86_regs;
-
-/* Return values for calls from PLT on IA-32.  */
-typedef struct La_i86_retval
-{
-  uint32_t lrv_eax;
-  uint32_t lrv_edx;
-  long double lrv_st0;
-  long double lrv_st1;
-} La_i86_retval;
-
-
-__BEGIN_DECLS
-
-extern Elf32_Addr la_i86_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx,
-				       uintptr_t *__refcook,
-				       uintptr_t *__defcook,
-				       La_i86_regs *__regs,
-				       unsigned int *__flags,
-				       const char *__symname,
-				       long int *__framesizep);
-extern unsigned int la_i86_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx,
-					uintptr_t *__refcook,
-					uintptr_t *__defcook,
-					const La_i86_regs *__inregs,
-					La_i86_retval *__outregs,
-					const char *symname);
-
-__END_DECLS
-
-#else
-
-/* Registers for entry into PLT on x86-64.  */
-# if __GNUC_PREREQ (4,0)
-typedef float La_x86_64_xmm __attribute__ ((__vector_size__ (16)));
-typedef float La_x86_64_ymm
-    __attribute__ ((__vector_size__ (32), __aligned__ (16)));
-# else
-typedef float La_x86_64_xmm __attribute__ ((__mode__ (__V4SF__)));
-# endif
-
-typedef union
-{
-# if __GNUC_PREREQ (4,0)
-  La_x86_64_ymm ymm[2];
-# endif
-  La_x86_64_xmm xmm[4];
-} La_x86_64_vector __attribute__ ((__aligned__ (16)));
-
-typedef struct La_x86_64_regs
-{
-  uint64_t lr_rdx;
-  uint64_t lr_r8;
-  uint64_t lr_r9;
-  uint64_t lr_rcx;
-  uint64_t lr_rsi;
-  uint64_t lr_rdi;
-  uint64_t lr_rbp;
-  uint64_t lr_rsp;
-  La_x86_64_xmm lr_xmm[8];
-  La_x86_64_vector lr_vector[8];
-} La_x86_64_regs;
-
-/* Return values for calls from PLT on x86-64.  */
-typedef struct La_x86_64_retval
-{
-  uint64_t lrv_rax;
-  uint64_t lrv_rdx;
-  La_x86_64_xmm lrv_xmm0;
-  La_x86_64_xmm lrv_xmm1;
-  long double lrv_st0;
-  long double lrv_st1;
-  La_x86_64_vector lrv_vector0;
-  La_x86_64_vector lrv_vector1;
-} La_x86_64_retval;
-
-#define La_x32_regs La_x86_64_regs
-#define La_x32_retval La_x86_64_retval
-
-__BEGIN_DECLS
-
-extern Elf64_Addr la_x86_64_gnu_pltenter (Elf64_Sym *__sym,
-					  unsigned int __ndx,
-					  uintptr_t *__refcook,
-					  uintptr_t *__defcook,
-					  La_x86_64_regs *__regs,
-					  unsigned int *__flags,
-					  const char *__symname,
-					  long int *__framesizep);
-extern unsigned int la_x86_64_gnu_pltexit (Elf64_Sym *__sym,
-					   unsigned int __ndx,
-					   uintptr_t *__refcook,
-					   uintptr_t *__defcook,
-					   const La_x86_64_regs *__inregs,
-					   La_x86_64_retval *__outregs,
-					   const char *__symname);
-
-extern Elf32_Addr la_x32_gnu_pltenter (Elf32_Sym *__sym,
-				       unsigned int __ndx,
-				       uintptr_t *__refcook,
-				       uintptr_t *__defcook,
-				       La_x32_regs *__regs,
-				       unsigned int *__flags,
-				       const char *__symname,
-				       long int *__framesizep);
-extern unsigned int la_x32_gnu_pltexit (Elf32_Sym *__sym,
-					unsigned int __ndx,
-					uintptr_t *__refcook,
-					uintptr_t *__defcook,
-					const La_x32_regs *__inregs,
-					La_x32_retval *__outregs,
-					const char *__symname);
-
-__END_DECLS
-
-#endif

Removed: fsf/trunk/libc/sysdeps/x86_64/bits/linkmap.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/bits/linkmap.h (original)
+++ fsf/trunk/libc/sysdeps/x86_64/bits/linkmap.h (removed)
@@ -1,16 +1,0 @@
-#if __WORDSIZE == 64
-struct link_map_machine
-  {
-    Elf64_Addr plt; /* Address of .plt + 0x16 */
-    Elf64_Addr gotplt; /* Address of .got + 0x18 */
-    void *tlsdesc_table; /* Address of TLS descriptor hash table.  */
-  };
-
-#else
-struct link_map_machine
-  {
-    Elf32_Addr plt; /* Address of .plt + 0x16 */
-    Elf32_Addr gotplt; /* Address of .got + 0x0c */
-    void *tlsdesc_table; /* Address of TLS descriptor hash table.  */
-  };
-#endif

Removed: fsf/trunk/libc/sysdeps/x86_64/bits/mathdef.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/bits/mathdef.h (original)
+++ fsf/trunk/libc/sysdeps/x86_64/bits/mathdef.h (removed)
@@ -1,59 +1,0 @@
-/* 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
-   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/>.  */
-
-#if !defined _MATH_H && !defined _COMPLEX_H
-# error "Never use <bits/mathdef.h> directly; include <math.h> instead"
-#endif
-
-#if defined __USE_ISOC99 && defined _MATH_H && !defined _MATH_H_MATHDEF
-# define _MATH_H_MATHDEF	1
-
-# if defined __x86_64__ || (defined __FLT_EVAL_METHOD__ && __FLT_EVAL_METHOD__ == 0)
-/* The x86-64 architecture computes values with the precission of the
-   used type.  Similarly for -m32 -mfpmath=sse.  */
-typedef float float_t;		/* `float' expressions are evaluated as `float'.  */
-typedef double double_t;	/* `double' expressions are evaluated
-				   as `double'.  */
-# else
-/* The ix87 FPUs evaluate all values in the 80 bit floating-point format
-   which is also available for the user as `long double'.  Therefore we
-   define:  */
-typedef long double float_t;	/* `float' expressions are evaluated as
-				   `long double'.  */
-typedef long double double_t;	/* `double' expressions are evaluated as
-				   `long double'.  */
-# endif
-
-/* The values returned by `ilogb' for 0 and NaN respectively.  */
-# define FP_ILOGB0	(-2147483647 - 1)
-# define FP_ILOGBNAN	(-2147483647 - 1)
-
-/* The GCC 4.6 compiler will define __FP_FAST_FMA{,F,L} if the fma{,f,l}
-   builtins are supported.  */
-# if __FP_FAST_FMA
-#  define FP_FAST_FMA 1
-# endif
-
-# if __FP_FAST_FMAF
-#  define FP_FAST_FMAF 1
-# endif
-
-# if __FP_FAST_FMAL
-#  define FP_FAST_FMAL 1
-# endif
-
-#endif	/* ISO C99 */

Removed: fsf/trunk/libc/sysdeps/x86_64/bits/select.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/bits/select.h (original)
+++ fsf/trunk/libc/sysdeps/x86_64/bits/select.h (removed)
@@ -1,63 +1,0 @@
-/* Copyright (C) 1997-1999,2001,2008,2009,2011 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_SELECT_H
-# error "Never use <bits/select.h> directly; include <sys/select.h> instead."
-#endif
-
-#include <bits/wordsize.h>
-
-
-#if defined __GNUC__ && __GNUC__ >= 2
-
-# if __WORDSIZE == 64
-#  define __FD_ZERO_STOS "stosq"
-# else
-#  define __FD_ZERO_STOS "stosl"
-# endif
-
-# define __FD_ZERO(fdsp) \
-  do {									      \
-    int __d0, __d1;							      \
-    __asm__ __volatile__ ("cld; rep; " __FD_ZERO_STOS			      \
-			  : "=c" (__d0), "=D" (__d1)			      \
-			  : "a" (0), "0" (sizeof (fd_set)		      \
-					  / sizeof (__fd_mask)),	      \
-			    "1" (&__FDS_BITS (fdsp)[0])			      \
-			  : "memory");					      \
-  } while (0)
-
-#else	/* ! GNU CC */
-
-/* We don't use `memset' because this would require a prototype and
-   the array isn't too big.  */
-# define __FD_ZERO(set)  \
-  do {									      \
-    unsigned int __i;							      \
-    fd_set *__arr = (set);						      \
-    for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i)	      \
-      __FDS_BITS (__arr)[__i] = 0;					      \
-  } while (0)
-
-#endif	/* GNU CC */
-
-#define __FD_SET(d, set) \
-  ((void) (__FDS_BITS (set)[__FD_ELT (d)] |= __FD_MASK (d)))
-#define __FD_CLR(d, set) \
-  ((void) (__FDS_BITS (set)[__FD_ELT (d)] &= ~__FD_MASK (d)))
-#define __FD_ISSET(d, set) \
-  ((__FDS_BITS (set)[__FD_ELT (d)] & __FD_MASK (d)) != 0)

Removed: fsf/trunk/libc/sysdeps/x86_64/bits/setjmp.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/bits/setjmp.h (original)
+++ fsf/trunk/libc/sysdeps/x86_64/bits/setjmp.h (removed)
@@ -1,40 +1,0 @@
-/* Copyright (C) 2001,2002,2003,2005,2006 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 the machine-dependent type `jmp_buf'.  x86-64 version.  */
-#ifndef _BITS_SETJMP_H
-#define _BITS_SETJMP_H  1
-
-#if !defined _SETJMP_H && !defined _PTHREAD_H
-# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
-#endif
-
-#include <bits/wordsize.h>
-
-#ifndef _ASM
-
-# if __WORDSIZE == 64
-typedef long int __jmp_buf[8];
-# elif defined  __x86_64__
-typedef long long int __jmp_buf[8];
-# else
-typedef int __jmp_buf[6];
-# endif
-
-#endif
-
-#endif  /* bits/setjmp.h */

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