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

[Commits] r21830 - in /fsf/trunk/libc: ./ bits/ include/sys/ ports/ ports/sysdeps/m68k/m680x0/fpu/ ports/sysdeps/mips/ ports/sysdeps/m...



Author: eglibc
Date: Wed Nov 21 00:03:27 2012
New Revision: 21830

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

Added:
    fsf/trunk/libc/socket/recvmmsg.c
    fsf/trunk/libc/socket/sendmmsg.c
Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/bits/byteswap.h
    fsf/trunk/libc/include/sys/socket.h
    fsf/trunk/libc/ports/ChangeLog.m68k
    fsf/trunk/libc/ports/ChangeLog.mips
    fsf/trunk/libc/ports/ChangeLog.tile
    fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_atan.c
    fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_ccosh.c
    fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_cexp.c
    fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_csin.c
    fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_csinh.c
    fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_expm1.c
    fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_frexp.c
    fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_isinf.c
    fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_lrint.c
    fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_modf.c
    fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_remquo.c
    fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_scalbn.c
    fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_sin.c
    fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_sincos.c
    fsf/trunk/libc/ports/sysdeps/mips/bits/atomic.h
    fsf/trunk/libc/ports/sysdeps/mips/dl-machine.h
    fsf/trunk/libc/ports/sysdeps/mips/jmpbuf-unwind.h
    fsf/trunk/libc/ports/sysdeps/tile/bits/byteswap.h
    fsf/trunk/libc/ports/sysdeps/tile/libm-test-ulps
    fsf/trunk/libc/ports/sysdeps/tile/s_fma.c
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/____longjmp_chk.c
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/sigcontextinfo.h
    fsf/trunk/libc/resolv/res_send.c
    fsf/trunk/libc/socket/Makefile
    fsf/trunk/libc/socket/Versions
    fsf/trunk/libc/socket/sys/socket.h
    fsf/trunk/libc/stdio-common/_itowa.c
    fsf/trunk/libc/sysdeps/ieee754/ldbl-128/s_nearbyintl.c
    fsf/trunk/libc/sysdeps/ieee754/ldbl-128/s_rintl.c
    fsf/trunk/libc/sysdeps/sh/dl-machine.h
    fsf/trunk/libc/sysdeps/unix/make-syscalls.sh
    fsf/trunk/libc/sysdeps/unix/sysv/linux/Makefile
    fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/socket.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/internal_sendmmsg.S
    fsf/trunk/libc/sysdeps/unix/sysv/linux/recvmmsg.c
    fsf/trunk/libc/sysdeps/unix/sysv/linux/sendmmsg.c

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Wed Nov 21 00:03:27 2012
@@ -1,3 +1,49 @@
+2012-11-20  Carlos O'Donell  <carlos_odonell@xxxxxxxxxx>
+
+	* sysdeps/unix/make-syscalls.sh: Document prefixes.
+
+2012-11-20  Thomas Schwinge  <thomas@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/sh/dl-machine.h (ELF_MACHINE_RUNTIME_FIXUP_PARAMS): New
+	macro.
+
+	* sysdeps/unix/sysv/linux/bits/socket.h (struct mmsghdr, recvmmsg)
+	(sendmmsg): Move declarations...
+	* socket/sys/socket.h: ... here.
+	* sysdeps/unix/sysv/linux/recvmmsg.c [!defined __NR_recvmmsg &&
+	!defined __NR_socketcall] (recvmmsg): Move ENOSYS stub into and
+	include it from...
+	* socket/recvmmsg.c: ... this new file.
+	* sysdeps/unix/sysv/linux/internal_sendmmsg.S [__ASSUME_SENDMMSG]
+	(sendmmsg): Rename to __sendmmsg, create weak alias and make
+	definition of __sendmmsg hidden.
+	* sysdeps/unix/sysv/linux/sendmmsg.c (sendmmsg): Likewise.
+	[!defined __NR_sendmmsg && !defined __NR_socketcall] (sendmmsg):
+	Move ENOSYS stub into and include it from...
+	* socket/sendmmsg.c: ... this new file.
+	* sysdeps/unix/sysv/linux/Makefile [subdir=socket]
+	(sysdep_routines): Move recvmmsg and sendmmsg...
+	* socket/Makefile (routines): ... here.
+	* socket/Versions (GLIBC_2.17): Add recvmmsg and sendmmsg.
+	(GLIBC_PRIVATE): Add __sendmmsg.
+	* include/sys/socket.h (__sendmmsg): Add declarations.
+	* resolv/res_send.c (send_dg): Invoke __sendmmsg instead of
+	sendmmsg.
+
+2012-11-20  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/ieee754/ldbl-128/s_nearbyintl.c (__nearbyintl): Mark
+	variable I1 with __attribute__ ((unused)).
+	* sysdeps/ieee754/ldbl-128/s_rintl.c (__rintl): Likewise.
+
+2012-11-19  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* stdio-common/_itowa.c (_itowa) [BITS_PER_MP_LIMB == 64]: Declare
+	DUMMY variables with __attribute__ ((unused)).
+
+	* bits/byteswap.h: Include <bits/types.h>.
+	(__bswap_64): Use __uint64_t instead of unsigned long long int.
+
 2012-11-19  Pino Toscano  <toscano.pino@xxxxxxxxxx>
 
 	* sysdeps/mach/hurd/ptsname.c (ptsname): Change the type of PEERNAME to

Modified: fsf/trunk/libc/bits/byteswap.h
==============================================================================
--- fsf/trunk/libc/bits/byteswap.h (original)
+++ fsf/trunk/libc/bits/byteswap.h Wed Nov 21 00:03:27 2012
@@ -24,6 +24,7 @@
 #define _BITS_BYTESWAP_H 1
 
 #include <features.h>
+#include <bits/types.h>
 
 /* Swap bytes in 16 bit value.  */
 #define __bswap_constant_16(x) \
@@ -70,15 +71,15 @@
 		     | (((x) & 0x00000000000000ffull) << 56)))
 
 # if __GNUC_PREREQ (4, 2)
-static __inline unsigned long long int
-__bswap_64 (unsigned long long int __bsx)
+static __inline __uint64_t
+__bswap_64 (__uint64_t __bsx)
 {
   return __builtin_bswap64 (__bsx);
 }
 # else
 #  define __bswap_64(x) \
      (__extension__							      \
-      ({ union { __extension__ unsigned long long int __ll;		      \
+      ({ union { __extension__ __uint64_t __ll;				      \
 		 unsigned int __l[2]; } __w, __r;			      \
 	 if (__builtin_constant_p (x))					      \
 	   __r.__ll = __bswap_constant_64 (x);				      \
@@ -101,8 +102,8 @@
       | (((x) & 0x000000000000ff00ull) << 40)				      \
       | (((x) & 0x00000000000000ffull) << 56))
 
-static __inline unsigned long long int
-__bswap_64 (unsigned long long int __bsx)
+static __inline __uint64_t
+__bswap_64 (__uint64_t __bsx)
 {
   return __bswap_constant_64 (__bsx);
 }

Modified: fsf/trunk/libc/include/sys/socket.h
==============================================================================
--- fsf/trunk/libc/include/sys/socket.h (original)
+++ fsf/trunk/libc/include/sys/socket.h Wed Nov 21 00:03:27 2012
@@ -91,6 +91,10 @@
 extern ssize_t __sendmsg (int __fd, const struct msghdr *__message,
 			  int __flags) attribute_hidden;
 
+extern int __sendmmsg (int __fd, struct mmsghdr *__vmessages,
+                       unsigned int __vlen, int __flags);
+libc_hidden_proto (__sendmmsg)
+
 /* Receive a message as described by MESSAGE from socket FD.
    Returns the number of bytes read or -1 for errors.  */
 extern ssize_t __libc_recvmsg (int __fd, struct msghdr *__message,

Modified: fsf/trunk/libc/ports/ChangeLog.m68k
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.m68k (original)
+++ fsf/trunk/libc/ports/ChangeLog.m68k Wed Nov 21 00:03:27 2012
@@ -1,3 +1,22 @@
+2012-11-20  Andreas Schwab  <schwab@xxxxxxxxxxxxxx>
+
+	* sysdeps/m68k/m680x0/fpu/s_atan.c (weak_aliasx): Remove
+	macro and use weak_alias directly.
+	* sysdeps/m68k/m680x0/fpu/s_ccosh.c (weak_aliasx): Likewise.
+	* sysdeps/m68k/m680x0/fpu/s_cexp.c (weak_aliasx): Likewise.
+	* sysdeps/m68k/m680x0/fpu/s_csin.c (weak_aliasx): Likewise.
+	* sysdeps/m68k/m680x0/fpu/s_csinh.c (weak_aliasx): Likewise.
+	* sysdeps/m68k/m680x0/fpu/s_expm1.c (weak_aliasx): Likewise.
+	* sysdeps/m68k/m680x0/fpu/s_frexp.c (weak_aliasx): Likewise.
+	* sysdeps/m68k/m680x0/fpu/s_lrint.c (weak_aliasx): Likewise.
+	* sysdeps/m68k/m680x0/fpu/s_modf.c (weak_aliasx): Likewise.
+	* sysdeps/m68k/m680x0/fpu/s_isinf.c (weak_aliasx): Likewise.
+	* sysdeps/m68k/m680x0/fpu/s_remquo.c (weak_aliasx): Likewise.
+	* sysdeps/m68k/m680x0/fpu/s_scalbn.c (strong_aliasx, weak_aliasx):
+	Likewise.
+	* sysdeps/m68k/m680x0/fpu/s_sin.c (weak_aliasx): Likewise.
+	* sysdeps/m68k/m680x0/fpu/s_sincos.c (weak_aliasx): Likewise.
+
 2012-11-18  Andreas Schwab  <schwab@xxxxxxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/m68k/nptl/sysdep-cancel.h (_DOCARGS_5)

Modified: fsf/trunk/libc/ports/ChangeLog.mips
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.mips (original)
+++ fsf/trunk/libc/ports/ChangeLog.mips Wed Nov 21 00:03:27 2012
@@ -1,4 +1,47 @@
+2012-11-20  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
+	(internal_syscall1): Use parentheses around macro arguments.
+	(internal_syscall2): Likewise.
+	(internal_syscall3): Likewise.
+	(internal_syscall4): Likewise.
+	(internal_syscall5): Likewise.
+	(internal_syscall6): Likewise.
+	(internal_syscall7): Likewise.
+	* sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h
+	(internal_syscall1): Likewise.
+	(internal_syscall2): Likewise.
+	(internal_syscall3): Likewise.
+	(internal_syscall4): Likewise.
+	(internal_syscall5): Likewise.
+	(internal_syscall6): Likewise.
+
+	* sysdeps/mips/jmpbuf-unwind.h (_JMPBUF_CFA_UNWINDS_ADJ): Cast
+	_Unwind_GetCFA return to _Unwind_Ptr before casting to a pointer
+	type.
+	* sysdeps/unix/sysv/linux/mips/____longjmp_chk.c (CHECK_SP): Cast
+	ss_sp to long before casting to sp_type.
+	* sysdeps/unix/sysv/linux/mips/sigcontextinfo.h [_MIPS_SIM ==
+	_ABIO32] (GET_PC): Cast to unsigned long before casting to a
+	pointer type.
+	[_MIPS_SIM == _ABIO32] (GET_FRAME): Likewise.
+	[_MIPS_SIM == _ABIO32] (GET_STACK): Likewise.
+	[_MIPS_SIM != _ABIO32] (GET_PC): Likewise.
+	[_MIPS_SIM != _ABIO32] (GET_FRAME): Likewise.
+	[_MIPS_SIM != _ABIO32] (GET_STACK): Likewise.
+
+	* sysdeps/mips/bits/atomic.h [!__GNUC_PREREQ (4, 8)]
+	(__arch_compare_and_exchange_xxx_8_int): Separate assignments to
+	__prev and __cmp.  Cast __cmp to void.
+	[!__GNUC_PREREQ (4, 8)] (__arch_compare_and_exchange_xxx_16_int):
+	Likewise.
+	[!__GNUC_PREREQ (4, 8) && _MIPS_SIM == _ABIO32]
+	(__arch_compare_and_exchange_xxx_64_int): Likewise.
+
 2012-11-19  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/mips/dl-machine.h (RESOLVE_GOTSYM): Declare VERSION
+	variable with __attribute__ ((unused)).
 
 	* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
 	(INTERNAL_SYSCALL_DECL): Use __attribute__ ((unused)).

Modified: fsf/trunk/libc/ports/ChangeLog.tile
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.tile (original)
+++ fsf/trunk/libc/ports/ChangeLog.tile Wed Nov 21 00:03:27 2012
@@ -1,3 +1,13 @@
+2012-11-20  Chris Metcalf  <cmetcalf@xxxxxxxxxx>
+
+	* sysdeps/tile/libm-test-ulps: Account for new tests.
+
+	* sysdeps/tile/bits/byteswap.h: Include <bits/types.h>.
+	(__bswap_64): Use __uint64_t instead of unsigned long long int.
+
+	* sysdeps/tile/s_fma.c: Remove redundant #defines now provided
+	in sysdeps/tile/math_private.h.
+
 2012-11-06  Chris Metcalf  <cmetcalf@xxxxxxxxxx>
 
 	* sysdeps/tile/tilegx/memmove.c: New file.

Modified: fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_atan.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_atan.c (original)
+++ fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_atan.c Wed Nov 21 00:03:27 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -32,6 +32,4 @@
 {
   return __m81_u(__CONCATX(__,FUNC))(x);
 }
-
-#define weak_aliasx(a,b) weak_alias(a,b)
-weak_aliasx (__CONCATX(__,FUNC), FUNC)
+weak_alias (__CONCATX(__,FUNC), FUNC)

Modified: fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_ccosh.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_ccosh.c (original)
+++ fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_ccosh.c Wed Nov 21 00:03:27 2012
@@ -1,5 +1,5 @@
 /* Complex cosine hyperbole function.  m68k fpu version
-   Copyright (C) 1997, 1999, 2010, 2012 Free Software Foundation, Inc.
+   Copyright (C) 1997-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Andreas Schwab <schwab@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>.
 
@@ -73,5 +73,4 @@
 
   return retval;
 }
-#define weak_aliasx(a,b) weak_alias(a,b)
-weak_aliasx (s(__ccosh), s(ccosh))
+weak_alias (s(__ccosh), s(ccosh))

Modified: fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_cexp.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_cexp.c (original)
+++ fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_cexp.c Wed Nov 21 00:03:27 2012
@@ -1,5 +1,5 @@
 /* Complex exponential function.  m68k fpu version
-   Copyright (C) 1997, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1997-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Andreas Schwab <schwab@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
 
@@ -133,5 +133,4 @@
 
   return retval;
 }
-#define weak_aliasx(a,b) weak_alias(a,b)
-weak_aliasx (s(__cexp), s(cexp))
+weak_alias (s(__cexp), s(cexp))

Modified: fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_csin.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_csin.c (original)
+++ fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_csin.c Wed Nov 21 00:03:27 2012
@@ -1,5 +1,5 @@
 /* Complex sine function.  m68k fpu version
-   Copyright (C) 1997, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1997-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Andreas Schwab <schwab@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>.
 
@@ -64,5 +64,4 @@
 
   return retval;
 }
-#define weak_aliasx(a,b) weak_alias(a,b)
-weak_aliasx (s(__csin), s(csin))
+weak_alias (s(__csin), s(csin))

Modified: fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_csinh.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_csinh.c (original)
+++ fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_csinh.c Wed Nov 21 00:03:27 2012
@@ -1,5 +1,5 @@
 /* Complex sine hyperbole function.  m68k fpu version
-   Copyright (C) 1997, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1997-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Andreas Schwab <schwab@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>.
 
@@ -66,5 +66,4 @@
 
   return retval;
 }
-#define weak_aliasx(a,b) weak_alias(a,b)
-weak_aliasx (s(__csinh), s(csinh))
+weak_alias (s(__csinh), s(csinh))

Modified: fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_expm1.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_expm1.c (original)
+++ fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_expm1.c Wed Nov 21 00:03:27 2012
@@ -38,6 +38,4 @@
     __set_errno (ERANGE);
   return __m81_u(CONCATX(__, FUNC)) (x);
 }
-
-#define weak_aliasx(a, b) weak_alias(a, b)
-weak_aliasx (CONCATX(__, FUNC), FUNC)
+weak_alias (CONCATX(__, FUNC), FUNC)

Modified: fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_frexp.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_frexp.c (original)
+++ fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_frexp.c Wed Nov 21 00:03:27 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -50,6 +50,4 @@
 	 : "0" (value), "dmi" (-iexponent));
   return mantissa;
 }
-
-#define weak_aliasx(a,b) weak_alias(a,b)
-weak_aliasx (__CONCATX(__,FUNC), FUNC)
+weak_alias (__CONCATX(__,FUNC), FUNC)

Modified: fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_isinf.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_isinf.c (original)
+++ fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_isinf.c Wed Nov 21 00:03:27 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -35,5 +35,4 @@
 
 #define hidden_defx(a) hidden_def(a)
 hidden_defx(__CONCATX(__,FUNC))
-#define weak_aliasx(a,b) weak_alias(a,b)
-weak_aliasx (__CONCATX(__,FUNC), FUNC)
+weak_alias (__CONCATX(__,FUNC), FUNC)

Modified: fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_lrint.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_lrint.c (original)
+++ fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_lrint.c Wed Nov 21 00:03:27 2012
@@ -1,6 +1,6 @@
 /* Round argument to nearest integral value according to current rounding
    direction.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Andreas Schwab <schwab@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
 
@@ -34,6 +34,4 @@
 {
   return __m81_u(CONCATX(__lrint,suffix)) (x);
 }
-
-#define weak_aliasx(a,b) weak_alias(a,b)
-weak_aliasx (CONCATX(__lrint,suffix), CONCATX(lrint,suffix))
+weak_alias (CONCATX(__lrint,suffix), CONCATX(lrint,suffix))

Modified: fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_modf.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_modf.c (original)
+++ fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_modf.c Wed Nov 21 00:03:27 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -50,6 +50,4 @@
     result = x - x_int;
   return result;
 }
-
-#define weak_aliasx(a,b) weak_alias(a,b)
-weak_aliasx(s(__modf), s(modf))
+weak_alias (s(__modf), s(modf))

Modified: fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_remquo.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_remquo.c (original)
+++ fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_remquo.c Wed Nov 21 00:03:27 2012
@@ -1,5 +1,5 @@
 /* Compute remainder and a congruent to the quotient.  m68k fpu version
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Andreas Schwab <schwab@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
 
@@ -43,5 +43,4 @@
   *quo = cquo;
   return result;
 }
-#define weak_aliasx(a,b) weak_alias(a,b)
-weak_aliasx (s(__remquo), s(remquo))
+weak_alias (s(__remquo), s(remquo))

Modified: fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_scalbn.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_scalbn.c (original)
+++ fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_scalbn.c Wed Nov 21 00:03:27 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -45,9 +45,6 @@
 {
   return __m81_u(__CONCATX(__scalbn,suffix))(x, exp);
 }
-
-#define weak_aliasx(a,b) weak_alias(a,b)
-#define strong_aliasx(a,b) strong_alias(a,b)
-weak_aliasx (__CONCATX(__scalbn,suffix), __CONCATX(scalbn,suffix))
-strong_aliasx (__CONCATX(__scalbn,suffix), __CONCATX(__scalbln,suffix))
-weak_aliasx (__CONCATX(__scalbn,suffix), __CONCATX(scalbln,suffix))
+weak_alias (__CONCATX(__scalbn,suffix), __CONCATX(scalbn,suffix))
+strong_alias (__CONCATX(__scalbn,suffix), __CONCATX(__scalbln,suffix))
+weak_alias (__CONCATX(__scalbn,suffix), __CONCATX(scalbln,suffix))

Modified: fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_sin.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_sin.c (original)
+++ fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_sin.c Wed Nov 21 00:03:27 2012
@@ -35,6 +35,4 @@
     __set_errno (EDOM);
   return __m81_u(CONCATX(__, FUNC)) (x);
 }
-
-#define weak_aliasx(a, b) weak_alias(a, b)
-weak_aliasx (CONCATX(__, FUNC), FUNC)
+weak_alias (CONCATX(__, FUNC), FUNC)

Modified: fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_sincos.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_sincos.c (original)
+++ fsf/trunk/libc/ports/sysdeps/m68k/m680x0/fpu/s_sincos.c Wed Nov 21 00:03:27 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997 Free Software Foundation, Inc.
+/* 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
@@ -32,6 +32,4 @@
 {
   __m81_u(CONCATX(__,FUNC))(x, sinx, cosx);
 }
-
-#define weak_aliasx(a,b) weak_alias(a,b)
-weak_aliasx (CONCATX(__,FUNC), FUNC)
+weak_alias (CONCATX(__,FUNC), FUNC)

Modified: fsf/trunk/libc/ports/sysdeps/mips/bits/atomic.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/mips/bits/atomic.h (original)
+++ fsf/trunk/libc/ports/sysdeps/mips/bits/atomic.h Wed Nov 21 00:03:27 2012
@@ -209,10 +209,10 @@
    in which values are returned.  */
 
 # define __arch_compare_and_exchange_xxx_8_int(mem, newval, oldval, rel, acq) \
-  (abort (), __prev = __cmp = 0)
+  (abort (), __prev = 0, __cmp = 0, (void) __cmp)
 
 # define __arch_compare_and_exchange_xxx_16_int(mem, newval, oldval, rel, acq) \
-  (abort (), __prev = __cmp = 0)
+  (abort (), __prev = 0, __cmp = 0, (void) __cmp)
 
 # define __arch_compare_and_exchange_xxx_32_int(mem, newval, oldval, rel, acq) \
      __asm__ __volatile__ (						      \
@@ -236,7 +236,7 @@
 # if _MIPS_SIM == _ABIO32
 /* We can't do an atomic 64-bit operation in O32.  */
 # define __arch_compare_and_exchange_xxx_64_int(mem, newval, oldval, rel, acq) \
-  (abort (), __prev = __cmp = 0)
+  (abort (), __prev = 0, __cmp = 0, (void) __cmp)
 # else
 # define __arch_compare_and_exchange_xxx_64_int(mem, newval, oldval, rel, acq) \
      __asm__ __volatile__ ("\n"						      \

Modified: fsf/trunk/libc/ports/sysdeps/mips/dl-machine.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/mips/dl-machine.h (original)
+++ fsf/trunk/libc/ports/sysdeps/mips/dl-machine.h Wed Nov 21 00:03:27 2012
@@ -637,7 +637,7 @@
 #define RESOLVE_GOTSYM(sym,vernum,sym_index,reloc)			  \
     ({									  \
       const ElfW(Sym) *ref = sym;					  \
-      const struct r_found_version *version				  \
+      const struct r_found_version *version __attribute__ ((unused))	  \
 	= vernum ? &map->l_versions[vernum[sym_index] & 0x7fff] : NULL;	  \
       struct link_map *sym_map;						  \
       sym_map = RESOLVE_MAP (&ref, version, reloc);			  \

Modified: fsf/trunk/libc/ports/sysdeps/mips/jmpbuf-unwind.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/mips/jmpbuf-unwind.h (original)
+++ fsf/trunk/libc/ports/sysdeps/mips/jmpbuf-unwind.h Wed Nov 21 00:03:27 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2005, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -25,8 +25,10 @@
 #define _JMPBUF_UNWINDS(jmpbuf, address, demangle)		\
   ((void *) (address) < (void *) demangle ((jmpbuf)[0].__sp))
 
-#define _JMPBUF_CFA_UNWINDS_ADJ(_jmpbuf, _context, _adj) \
-  _JMPBUF_UNWINDS_ADJ (_jmpbuf, (void *) _Unwind_GetCFA (_context), _adj)
+#define _JMPBUF_CFA_UNWINDS_ADJ(_jmpbuf, _context, _adj)		\
+  _JMPBUF_UNWINDS_ADJ (_jmpbuf,						\
+		       (void *) (_Unwind_Ptr) _Unwind_GetCFA (_context), \
+		       _adj)
 
 static inline uintptr_t __attribute__ ((unused))
 _jmpbuf_sp (__jmp_buf regs)

Modified: fsf/trunk/libc/ports/sysdeps/tile/bits/byteswap.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/tile/bits/byteswap.h (original)
+++ fsf/trunk/libc/ports/sysdeps/tile/bits/byteswap.h Wed Nov 21 00:03:27 2012
@@ -23,10 +23,12 @@
 #ifndef _BITS_BYTESWAP_H
 #define _BITS_BYTESWAP_H 1
 
+#include <bits/types.h>
+
 /* gcc __builtin_bswap64() can constant-fold, etc, so always use it. */
 #define __bswap_16(x) ((unsigned short)(__builtin_bswap32(x) >> 16))
 #define __bswap_32(x) ((unsigned int)__builtin_bswap32(x))
-#define __bswap_64(x) ((unsigned long long)__builtin_bswap64(x))
+#define __bswap_64(x) ((__uint64_t)__builtin_bswap64(x))
 
 #define __bswap_constant_16(x) __bswap_16(x)
 #define __bswap_constant_32(x) __bswap_32(x)

Modified: fsf/trunk/libc/ports/sysdeps/tile/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/tile/libm-test-ulps (original)
+++ fsf/trunk/libc/ports/sysdeps/tile/libm-test-ulps Wed Nov 21 00:03:27 2012
@@ -2,6 +2,9 @@
 
 # atan2
 Test "atan2 (-0.75, -1.0) == -2.49809154479650885165983415456218025":
+float: 1
+ifloat: 1
+Test "atan2 (-max_value, -min_value) == -pi/2":
 float: 1
 ifloat: 1
 Test "atan2 (0.75, -1.0) == 2.49809154479650885165983415456218025":
@@ -1308,6 +1311,34 @@
 Test "y0 (0x1.ff00000000002p+840) == 1.846591691699331493194965158699937660696e-127":
 double: 1
 idouble: 1
+Test "y0 (0x1p-10) == -4.4865150767109739412411806297168793661098":
+double: 1
+idouble: 1
+Test "y0 (0x1p-110) == -4.861363632869203777249475899390797503250e+1":
+double: 1
+idouble: 1
+Test "y0 (0x1p-20) == -8.8992283012125827603076426611387876938160":
+float: 1
+ifloat: 1
+Test "y0 (0x1p-30) == -1.3311940304267782826037118027401817264906e+1":
+float: 1
+ifloat: 1
+Test "y0 (0x1p-40) == -1.7724652307320814696990854700366226762563e+1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "y0 (0x1p-50) == -2.2137364310373846564919987139743760738155e+1":
+float: 1
+ifloat: 1
+Test "y0 (0x1p-70) == -3.0962788316479910300778244424468159753887e+1":
+double: 1
+idouble: 1
+Test "y0 (0x1p-80) == -3.5375500319532942168707373066828113573541e+1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 Test "y0 (1.0) == 0.0882569642156769579829267660235151628":
 double: 2
 float: 1
@@ -1332,6 +1363,9 @@
 double: 1
 idouble: 1
 Test "y1 (0x1.27e204p+99) == -8.881610148467797208469612080785210013461e-16":
+double: 1
+idouble: 1
+Test "y1 (0x1p-10) == -6.5190099301063115047395187618929589514382e+02":
 double: 1
 idouble: 1
 Test "y1 (1.5) == -0.412308626973911295952829820633445323":

Modified: fsf/trunk/libc/ports/sysdeps/tile/s_fma.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/tile/s_fma.c (original)
+++ fsf/trunk/libc/ports/sysdeps/tile/s_fma.c Wed Nov 21 00:03:27 2012
@@ -1,8 +1,4 @@
 /* tile does not support the rounding modes required by the ieee754/dbl-64
    implementation, but it's still better than the generic implementation.  */
 
-#define libc_feholdexcept_setround(e, x) do { (void) (e); } while (0)
-#define libc_feupdateenv_test(e, x) ((void) (e), 0)
-#define libc_fetestexcept(x) 0
-
 #include <sysdeps/ieee754/dbl-64/s_fma.c>

Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/____longjmp_chk.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/____longjmp_chk.c (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/____longjmp_chk.c Wed Nov 21 00:03:27 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2009-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
@@ -29,7 +29,7 @@
 	int ret = __sigaltstack (NULL, &ss);				\
 	if (ret == 0							\
 	    && (!(ss.ss_flags & SS_ONSTACK)				\
-		|| ((unsigned sp_type) ((sp_type) ss.ss_sp		\
+		|| ((unsigned sp_type) ((sp_type) (long) ss.ss_sp	\
 					+ (sp_type) ss.ss_size		\
 					- sp_saved)			\
 		    < ss.ss_size)))					\

Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h Wed Nov 21 00:03:27 2012
@@ -104,7 +104,7 @@
 									\
 	{								\
 	register long __v0 asm("$2") ncs_init;				\
-	register long __a0 asm("$4") = (long) arg1;			\
+	register long __a0 asm("$4") = (long) (arg1);			\
 	register long __a3 asm("$7");					\
 	__asm__ volatile (						\
 	".set\tnoreorder\n\t"						\
@@ -126,8 +126,8 @@
 									\
 	{								\
 	register long __v0 asm("$2") ncs_init;				\
-	register long __a0 asm("$4") = (long) arg1;			\
-	register long __a1 asm("$5") = (long) arg2;			\
+	register long __a0 asm("$4") = (long) (arg1);			\
+	register long __a1 asm("$5") = (long) (arg2);			\
 	register long __a3 asm("$7");					\
 	__asm__ volatile (						\
 	".set\tnoreorder\n\t"						\
@@ -149,9 +149,9 @@
 									\
 	{								\
 	register long __v0 asm("$2") ncs_init;				\
-	register long __a0 asm("$4") = (long) arg1;			\
-	register long __a1 asm("$5") = (long) arg2;			\
-	register long __a2 asm("$6") = (long) arg3;			\
+	register long __a0 asm("$4") = (long) (arg1);			\
+	register long __a1 asm("$5") = (long) (arg2);			\
+	register long __a2 asm("$6") = (long) (arg3);			\
 	register long __a3 asm("$7");					\
 	__asm__ volatile (						\
 	".set\tnoreorder\n\t"						\
@@ -173,10 +173,10 @@
 									\
 	{								\
 	register long __v0 asm("$2") ncs_init;				\
-	register long __a0 asm("$4") = (long) arg1;			\
-	register long __a1 asm("$5") = (long) arg2;			\
-	register long __a2 asm("$6") = (long) arg3;			\
-	register long __a3 asm("$7") = (long) arg4;			\
+	register long __a0 asm("$4") = (long) (arg1);			\
+	register long __a1 asm("$5") = (long) (arg2);			\
+	register long __a2 asm("$6") = (long) (arg3);			\
+	register long __a3 asm("$7") = (long) (arg4);			\
 	__asm__ volatile (						\
 	".set\tnoreorder\n\t"						\
 	cs_init								\
@@ -205,10 +205,10 @@
 	FORCE_FRAME_POINTER;						\
 	{								\
 	register long __v0 asm("$2") ncs_init;				\
-	register long __a0 asm("$4") = (long) arg1;			\
-	register long __a1 asm("$5") = (long) arg2;			\
-	register long __a2 asm("$6") = (long) arg3;			\
-	register long __a3 asm("$7") = (long) arg4;			\
+	register long __a0 asm("$4") = (long) (arg1);			\
+	register long __a1 asm("$5") = (long) (arg2);			\
+	register long __a2 asm("$6") = (long) (arg3);			\
+	register long __a3 asm("$7") = (long) (arg4);			\
 	__asm__ volatile (						\
 	".set\tnoreorder\n\t"						\
 	"subu\t$29, 32\n\t"						\
@@ -219,7 +219,7 @@
 	".set\treorder"						\
 	: "=r" (__v0), "+r" (__a3)					\
 	: input, "r" (__a0), "r" (__a1), "r" (__a2),			\
-	  "r" ((long)arg5)						\
+	  "r" ((long) (arg5))						\
 	: __SYSCALL_CLOBBERS);						\
 	err = __a3;							\
 	_sys_result = __v0;						\
@@ -234,10 +234,10 @@
 	FORCE_FRAME_POINTER;						\
 	{								\
 	register long __v0 asm("$2") ncs_init;				\
-	register long __a0 asm("$4") = (long) arg1;			\
-	register long __a1 asm("$5") = (long) arg2;			\
-	register long __a2 asm("$6") = (long) arg3;			\
-	register long __a3 asm("$7") = (long) arg4;			\
+	register long __a0 asm("$4") = (long) (arg1);			\
+	register long __a1 asm("$5") = (long) (arg2);			\
+	register long __a2 asm("$6") = (long) (arg3);			\
+	register long __a3 asm("$7") = (long) (arg4);			\
 	__asm__ volatile (						\
 	".set\tnoreorder\n\t"						\
 	"subu\t$29, 32\n\t"						\
@@ -249,7 +249,7 @@
 	".set\treorder"						\
 	: "=r" (__v0), "+r" (__a3)					\
 	: input, "r" (__a0), "r" (__a1), "r" (__a2),			\
-	  "r" ((long)arg5), "r" ((long)arg6)				\
+	  "r" ((long) (arg5)), "r" ((long) (arg6))			\
 	: __SYSCALL_CLOBBERS);						\
 	err = __a3;							\
 	_sys_result = __v0;						\
@@ -264,10 +264,10 @@
 	FORCE_FRAME_POINTER;						\
 	{								\
 	register long __v0 asm("$2") ncs_init;				\
-	register long __a0 asm("$4") = (long) arg1;			\
-	register long __a1 asm("$5") = (long) arg2;			\
-	register long __a2 asm("$6") = (long) arg3;			\
-	register long __a3 asm("$7") = (long) arg4;			\
+	register long __a0 asm("$4") = (long) (arg1);			\
+	register long __a1 asm("$5") = (long) (arg2);			\
+	register long __a2 asm("$6") = (long) (arg3);			\
+	register long __a3 asm("$7") = (long) (arg4);			\
 	__asm__ volatile (						\
 	".set\tnoreorder\n\t"						\
 	"subu\t$29, 32\n\t"						\
@@ -280,7 +280,7 @@
 	".set\treorder"						\
 	: "=r" (__v0), "+r" (__a3)					\
 	: input, "r" (__a0), "r" (__a1), "r" (__a2),			\
-	  "r" ((long)arg5), "r" ((long)arg6), "r" ((long)arg7)		\
+	  "r" ((long) (arg5)), "r" ((long) (arg6)), "r" ((long) (arg7))	\
 	: __SYSCALL_CLOBBERS);						\
 	err = __a3;							\
 	_sys_result = __v0;						\

Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h Wed Nov 21 00:03:27 2012
@@ -104,7 +104,7 @@
 									\
 	{								\
 	register long __v0 asm("$2") ncs_init;				\
-	register long __a0 asm("$4") = (long) arg1; 			\
+	register long __a0 asm("$4") = (long) (arg1); 			\
 	register long __a3 asm("$7"); 					\
 	__asm__ volatile ( 						\
 	".set\tnoreorder\n\t" 						\
@@ -126,8 +126,8 @@
 									\
 	{								\
 	register long __v0 asm("$2") ncs_init;				\
-	register long __a0 asm("$4") = (long) arg1; 			\
-	register long __a1 asm("$5") = (long) arg2; 			\
+	register long __a0 asm("$4") = (long) (arg1); 			\
+	register long __a1 asm("$5") = (long) (arg2); 			\
 	register long __a3 asm("$7"); 					\
 	__asm__ volatile ( 						\
 	".set\tnoreorder\n\t" 						\
@@ -149,9 +149,9 @@
 									\
 	{								\
 	register long __v0 asm("$2") ncs_init;				\
-	register long __a0 asm("$4") = (long) arg1; 			\
-	register long __a1 asm("$5") = (long) arg2; 			\
-	register long __a2 asm("$6") = (long) arg3; 			\
+	register long __a0 asm("$4") = (long) (arg1); 			\
+	register long __a1 asm("$5") = (long) (arg2); 			\
+	register long __a2 asm("$6") = (long) (arg3); 			\
 	register long __a3 asm("$7"); 					\
 	__asm__ volatile ( 						\
 	".set\tnoreorder\n\t" 						\
@@ -173,10 +173,10 @@
 									\
 	{								\
 	register long __v0 asm("$2") ncs_init;				\
-	register long __a0 asm("$4") = (long) arg1; 			\
-	register long __a1 asm("$5") = (long) arg2; 			\
-	register long __a2 asm("$6") = (long) arg3; 			\
-	register long __a3 asm("$7") = (long) arg4; 			\
+	register long __a0 asm("$4") = (long) (arg1); 			\
+	register long __a1 asm("$5") = (long) (arg2); 			\
+	register long __a2 asm("$6") = (long) (arg3); 			\
+	register long __a3 asm("$7") = (long) (arg4); 			\
 	__asm__ volatile ( 						\
 	".set\tnoreorder\n\t" 						\
 	cs_init								\
@@ -197,11 +197,11 @@
 									\
 	{								\
 	register long __v0 asm("$2") ncs_init;				\
-	register long __a0 asm("$4") = (long) arg1; 			\
-	register long __a1 asm("$5") = (long) arg2; 			\
-	register long __a2 asm("$6") = (long) arg3; 			\
-	register long __a3 asm("$7") = (long) arg4; 			\
-	register long __a4 asm("$8") = (long) arg5; 			\
+	register long __a0 asm("$4") = (long) (arg1); 			\
+	register long __a1 asm("$5") = (long) (arg2); 			\
+	register long __a2 asm("$6") = (long) (arg3); 			\
+	register long __a3 asm("$7") = (long) (arg4); 			\
+	register long __a4 asm("$8") = (long) (arg5); 			\
 	__asm__ volatile ( 						\
 	".set\tnoreorder\n\t" 						\
 	cs_init								\
@@ -222,12 +222,12 @@
 									\
 	{								\
 	register long __v0 asm("$2") ncs_init;				\
-	register long __a0 asm("$4") = (long) arg1; 			\
-	register long __a1 asm("$5") = (long) arg2; 			\
-	register long __a2 asm("$6") = (long) arg3; 			\
-	register long __a3 asm("$7") = (long) arg4; 			\
-	register long __a4 asm("$8") = (long) arg5; 			\
-	register long __a5 asm("$9") = (long) arg6; 			\
+	register long __a0 asm("$4") = (long) (arg1); 			\
+	register long __a1 asm("$5") = (long) (arg2); 			\
+	register long __a2 asm("$6") = (long) (arg3); 			\
+	register long __a3 asm("$7") = (long) (arg4); 			\
+	register long __a4 asm("$8") = (long) (arg5); 			\
+	register long __a5 asm("$9") = (long) (arg6); 			\
 	__asm__ volatile ( 						\
 	".set\tnoreorder\n\t" 						\
 	cs_init								\

Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/sigcontextinfo.h
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/sigcontextinfo.h (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/sigcontextinfo.h Wed Nov 21 00:03:27 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Andreas Jaeger <aj@xxxxxxx>, 2000.
 
@@ -23,9 +23,9 @@
 
 #define SIGCONTEXT unsigned long _code, struct sigcontext *
 #define SIGCONTEXT_EXTRA_ARGS _code,
-#define GET_PC(ctx)	((void *) ctx->sc_pc)
-#define GET_FRAME(ctx)	((void *) ctx->sc_regs[30])
-#define GET_STACK(ctx)	((void *) ctx->sc_regs[29])
+#define GET_PC(ctx)	((void *) (unsigned long) ctx->sc_pc)
+#define GET_FRAME(ctx)	((void *) (unsigned long) ctx->sc_regs[30])
+#define GET_STACK(ctx)	((void *) (unsigned long) ctx->sc_regs[29])
 #define CALL_SIGHANDLER(handler, signo, ctx) \
   (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
 
@@ -33,9 +33,9 @@
 
 #define SIGCONTEXT unsigned long _code, ucontext_t *
 #define SIGCONTEXT_EXTRA_ARGS _code,
-#define GET_PC(ctx)	((void *) ctx->uc_mcontext.pc)
-#define GET_FRAME(ctx)	((void *) ctx->uc_mcontext.gregs[30])
-#define GET_STACK(ctx)	((void *) ctx->uc_mcontext.gregs[29])
+#define GET_PC(ctx)	((void *) (unsigned long) ctx->uc_mcontext.pc)
+#define GET_FRAME(ctx)	((void *) (unsigned long) ctx->uc_mcontext.gregs[30])
+#define GET_STACK(ctx)	((void *) (unsigned long) ctx->uc_mcontext.gregs[29])
 #define CALL_SIGHANDLER(handler, signo, ctx) \
   (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
 

Modified: fsf/trunk/libc/resolv/res_send.c
==============================================================================
--- fsf/trunk/libc/resolv/res_send.c (original)
+++ fsf/trunk/libc/resolv/res_send.c Wed Nov 21 00:03:27 2012
@@ -1129,7 +1129,7 @@
 		    reqs[1].msg_hdr.msg_control = NULL;
 		    reqs[1].msg_hdr.msg_controllen = 0;
 
-		    int ndg = sendmmsg (pfd[0].fd, reqs, 2, MSG_NOSIGNAL);
+		    int ndg = __sendmmsg (pfd[0].fd, reqs, 2, MSG_NOSIGNAL);
 		    if (__builtin_expect (ndg == 2, 1))
 		      {
 			if (reqs[0].msg_len != buflen

Modified: fsf/trunk/libc/socket/Makefile
==============================================================================
--- fsf/trunk/libc/socket/Makefile (original)
+++ fsf/trunk/libc/socket/Makefile Wed Nov 21 00:03:27 2012
@@ -26,7 +26,7 @@
 routines := accept bind connect getpeername getsockname getsockopt	\
 	    listen recv recvfrom recvmsg send sendmsg sendto		\
 	    setsockopt shutdown socket socketpair isfdtype opensock	\
-	    sockatmark accept4
+	    sockatmark accept4 recvmmsg sendmmsg
 
 aux	 := have_sock_cloexec
 

Modified: fsf/trunk/libc/socket/Versions
==============================================================================
--- fsf/trunk/libc/socket/Versions (original)
+++ fsf/trunk/libc/socket/Versions Wed Nov 21 00:03:27 2012
@@ -34,4 +34,10 @@
   GLIBC_2.10 {
     accept4;
   }
+  GLIBC_2.17 {
+    recvmmsg; sendmmsg;
+  }
+  GLIBC_PRIVATE {
+    __sendmmsg;
+  }
 }

Added: fsf/trunk/libc/socket/recvmmsg.c
==============================================================================
--- fsf/trunk/libc/socket/recvmmsg.c (added)
+++ fsf/trunk/libc/socket/recvmmsg.c Wed Nov 21 00:03:27 2012
@@ -1,0 +1,31 @@
+/* Receive multiple messages on a socket.  Stub version.
+   Copyright (C) 2010-2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <sys/socket.h>
+
+/* Receive up to VLEN messages as described by VMESSAGES from socket FD.
+   Returns the number of bytes read or -1 for errors.  */
+int
+recvmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen, int flags,
+	  const struct timespec *tmo)
+{
+  __set_errno (ENOSYS);
+  return -1;
+}
+stub_warning (recvmmsg)

Added: fsf/trunk/libc/socket/sendmmsg.c
==============================================================================
--- fsf/trunk/libc/socket/sendmmsg.c (added)
+++ fsf/trunk/libc/socket/sendmmsg.c Wed Nov 21 00:03:27 2012
@@ -1,0 +1,32 @@
+/* Send multiple messages on a socket.  Stub version.
+   Copyright (C) 2011-2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <sys/socket.h>
+
+/* Send a VLEN messages as described by VMESSAGES to socket FD.
+   Returns the number of datagrams successfully written or -1 for errors.  */
+int
+__sendmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen, int flags)
+{
+  __set_errno (ENOSYS);
+  return -1;
+}
+libc_hidden_def (__sendmmsg)
+weak_alias (__sendmmsg, sendmmsg)
+stub_warning (sendmmsg)

Modified: fsf/trunk/libc/socket/sys/socket.h
==============================================================================
--- fsf/trunk/libc/socket/sys/socket.h (original)
+++ fsf/trunk/libc/socket/sys/socket.h Wed Nov 21 00:03:27 2012
@@ -97,6 +97,16 @@
 # undef __SOCKADDR_ONETYPE
 #endif
 
+#ifdef __USE_GNU
+/* For `recvmmsg' and `sendmmsg'.  */
+struct mmsghdr
+  {
+    struct msghdr msg_hdr;	/* Actual message header.  */
+    unsigned int msg_len;	/* Number of received or sent bytes for the
+				   entry.  */
+  };
+#endif
+
 
 /* Create a new socket of type TYPE in domain DOMAIN, using
    protocol PROTOCOL.  If PROTOCOL is zero, one is chosen automatically.
@@ -175,12 +185,33 @@
 extern ssize_t sendmsg (int __fd, const struct msghdr *__message,
 			int __flags);
 
+#ifdef __USE_GNU
+/* Send a VLEN messages as described by VMESSAGES to socket FD.
+   Returns the number of datagrams successfully written or -1 for errors.
+
+   This function is a cancellation point and therefore not marked with
+   __THROW.  */
+extern int sendmmsg (int __fd, struct mmsghdr *__vmessages,
+		     unsigned int __vlen, int __flags);
+#endif
+
 /* Receive a message as described by MESSAGE from socket FD.
    Returns the number of bytes read or -1 for errors.
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
 extern ssize_t recvmsg (int __fd, struct msghdr *__message, int __flags);
+
+#ifdef __USE_GNU
+/* Receive up to VLEN messages as described by VMESSAGES from socket FD.
+   Returns the number of bytes read or -1 for errors.
+
+   This function is a cancellation point and therefore not marked with
+   __THROW.  */
+extern int recvmmsg (int __fd, struct mmsghdr *__vmessages,
+		     unsigned int __vlen, int __flags,
+		     const struct timespec *__tmo);
+#endif
 
 
 /* Put the current value for socket FD's option OPTNAME at protocol level LEVEL

Modified: fsf/trunk/libc/stdio-common/_itowa.c
==============================================================================
--- fsf/trunk/libc/stdio-common/_itowa.c (original)
+++ fsf/trunk/libc/stdio-common/_itowa.c Wed Nov 21 00:03:27 2012
@@ -159,7 +159,8 @@
 	if (brec->flag)
 	  while (value != 0)
 	    {
-	      mp_limb_t quo, rem, x, dummy;
+	      mp_limb_t quo, rem, x;
+	      mp_limb_t dummy __attribute__ ((unused));
 
 	      umul_ppmm (x, dummy, value, base_multiplier);
 	      quo = (x + ((value - x) >> 1)) >> (brec->post_shift - 1);
@@ -170,7 +171,8 @@
 	else
 	  while (value != 0)
 	    {
-	      mp_limb_t quo, rem, x, dummy;
+	      mp_limb_t quo, rem, x;
+	      mp_limb_t dummy __attribute__ ((unused));
 
 	      umul_ppmm (x, dummy, value, base_multiplier);
 	      quo = x >> brec->post_shift;

Modified: fsf/trunk/libc/sysdeps/ieee754/ldbl-128/s_nearbyintl.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/ldbl-128/s_nearbyintl.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/ldbl-128/s_nearbyintl.c Wed Nov 21 00:03:27 2012
@@ -37,7 +37,7 @@
 {
 	fenv_t env;
 	int64_t i0,j0,sx;
-	u_int64_t i1;
+	u_int64_t i1 __attribute__ ((unused));
 	long double w,t;
 	GET_LDOUBLE_WORDS64(i0,i1,x);
 	sx = (((u_int64_t)i0)>>63);

Modified: fsf/trunk/libc/sysdeps/ieee754/ldbl-128/s_rintl.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/ldbl-128/s_rintl.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/ldbl-128/s_rintl.c Wed Nov 21 00:03:27 2012
@@ -39,7 +39,7 @@
 long double __rintl(long double x)
 {
 	int64_t i0,j0,sx;
-	u_int64_t i1;
+	u_int64_t i1 __attribute__ ((unused));
 	long double w,t;
 	GET_LDOUBLE_WORDS64(i0,i1,x);
 	sx = (((u_int64_t)i0)>>63);

Modified: fsf/trunk/libc/sysdeps/sh/dl-machine.h
==============================================================================
--- fsf/trunk/libc/sysdeps/sh/dl-machine.h (original)
+++ fsf/trunk/libc/sysdeps/sh/dl-machine.h Wed Nov 21 00:03:27 2012
@@ -1,6 +1,5 @@
 /* Machine-dependent ELF dynamic relocation inline functions.  SH version.
-   Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2011
-   Free Software Foundation, Inc.
+   Copyright (C) 1999-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
@@ -116,6 +115,7 @@
 }
 
 #define ELF_MACHINE_RUNTIME_FIXUP_ARGS int plt_type
+#define ELF_MACHINE_RUNTIME_FIXUP_PARAMS plt_type
 
 /* Mask identifying addresses reserved for the user program,
    where the dynamic linker should not map anything.  */

Modified: fsf/trunk/libc/sysdeps/unix/make-syscalls.sh
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/make-syscalls.sh (original)
+++ fsf/trunk/libc/sysdeps/unix/make-syscalls.sh Wed Nov 21 00:03:27 2012
@@ -4,8 +4,19 @@
 # Expects $sysdirs in environment.
 
 ##############################################################################
-
-# Syscall Signature Key Letters for BP Thunks:
+#
+# This script is used to process the syscall data encoded in the various
+# syscalls.list files to produce thin assembly syscall wrappers around the
+# appropriate OS syscall. See syscall-template.s for more details on the
+# actual wrapper.
+#
+# Syscall Signature Prefixes:
+#
+# C: cancellable (i.e., this syscall is a cancellation point)
+# E: errno and return value are not set by the call
+# V: errno is not set, but errno or zero (success) is returned from the call
+#
+# Syscall Signature Key Letters:
 #
 # a: unchecked address (e.g., 1st arg to mmap)
 # b: non-NULL buffer (e.g., 2nd arg to read; return value from mmap)
@@ -23,6 +34,7 @@
 # v: vararg scalar (e.g., optional 3rd arg to open)
 # V: byte-per-page vector (3rd arg to mincore)
 # W: wait status, optionally-NULL pointer to int (e.g., 2nd arg of wait4)
+#
 
 ptr='[abBfFINpPsSWV]'	# all pointer keyletters
 int='[inv]'		# all scalar keyletters

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/Makefile
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/Makefile (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/Makefile Wed Nov 21 00:03:27 2012
@@ -12,8 +12,7 @@
 endif
 
 ifeq ($(subdir),socket)
-sysdep_routines += internal_accept4 recvmmsg internal_recvmmsg sendmmsg \
-		   internal_sendmmsg
+sysdep_routines += internal_accept4 internal_recvmmsg internal_sendmmsg
 endif
 
 ifeq ($(subdir),misc)

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/socket.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/socket.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/socket.h Wed Nov 21 00:03:27 2012
@@ -235,16 +235,6 @@
     int msg_flags;		/* Flags on received message.  */
   };
 
-#ifdef __USE_GNU
-/* For `recvmmsg' and 'sendmmsg'.  */
-struct mmsghdr
-  {
-    struct msghdr msg_hdr;	/* Actual message header.  */
-    unsigned int msg_len;	/* Number of received or sent bytes
-				   for the entry.  */
-  };
-#endif
-
 /* Structure used for storage of ancillary data object information.  */
 struct cmsghdr
   {
@@ -389,27 +379,4 @@
     int l_linger;		/* Time to linger.  */
   };
 
-
-__BEGIN_DECLS
-
-#ifdef __USE_GNU
-/* Receive up to VLEN messages as described by VMESSAGES from socket FD.
-   Returns the number of bytes read or -1 for errors.
-
-   This function is a cancellation point and therefore not marked with
-   __THROW.  */
-extern int recvmmsg (int __fd, struct mmsghdr *__vmessages,
-		     unsigned int __vlen, int __flags,
-		     const struct timespec *__tmo);
-
-/* Send a VLEN messages as described by VMESSAGES to socket FD.
-   Return the number of datagrams successfully written or -1 for errors.
-This function is a cancellation point and therefore not marked with
-   __THROW.  */
-extern int sendmmsg (int __fd, struct mmsghdr *__vmessages,
-		     unsigned int __vlen, int __flags);
-#endif
-
-__END_DECLS
-
 #endif	/* bits/socket.h */

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/internal_sendmmsg.S
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/internal_sendmmsg.S (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/internal_sendmmsg.S Wed Nov 21 00:03:27 2012
@@ -2,13 +2,14 @@
 #include <sys/syscall.h>
 #if !defined __NR_sendmmsg && defined __NR_socketcall
 # define socket	sendmmsg
-# ifdef __ASSUME_SENDMMSG
-#  define __socket sendmmsg
-# else
+# ifndef __ASSUME_SENDMMSG
 #  define __socket __internal_sendmmsg
+#  define NO_WEAK_ALIAS
 # endif
 # define NARGS 4
 # define NEED_CANCELLATION
-# define NO_WEAK_ALIAS
 # include <socket.S>
+# ifdef __ASSUME_SENDMMSG
+libc_hidden_def (__sendmmsg)
+# endif
 #endif

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/recvmmsg.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/recvmmsg.c (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/recvmmsg.c Wed Nov 21 00:03:27 2012
@@ -1,4 +1,4 @@
-/* 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 Andreas Schwab <schwab@xxxxxxxxxx>, 2010.
 
@@ -88,12 +88,5 @@
 /* When __ASSUME_RECVMMSG recvmmsg is defined in internal_recvmmsg.S.  */
 # endif
 #else
-int
-recvmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen, int flags,
-	  const struct timespec *tmo)
-{
-  __set_errno (ENOSYS);
-  return -1;
-}
-stub_warning (recvmmsg)
+# include <socket/recvmmsg.c>
 #endif

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/sendmmsg.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/sendmmsg.c (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/sendmmsg.c Wed Nov 21 00:03:27 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -26,7 +26,7 @@
 
 #ifdef __NR_sendmmsg
 int
-sendmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen, int flags)
+__sendmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen, int flags)
 {
   if (SINGLE_THREAD_P)
     return INLINE_SYSCALL (sendmmsg, 4, fd, vmessages, vlen, flags);
@@ -39,6 +39,8 @@
 
   return result;
 }
+libc_hidden_def (__sendmmsg)
+weak_alias (__sendmmsg, sendmmsg)
 #elif defined __NR_socketcall
 # ifndef __ASSUME_SENDMMSG
 extern int __internal_sendmmsg (int fd, struct mmsghdr *vmessages,
@@ -48,7 +50,7 @@
 static int have_sendmmsg;
 
 int
-sendmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen, int flags)
+__sendmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen, int flags)
 {
   if (__builtin_expect (have_sendmmsg >= 0, 1))
     {
@@ -81,15 +83,11 @@
   __set_errno (ENOSYS);
   return -1;
 }
+libc_hidden_def (__sendmmsg)
+weak_alias (__sendmmsg, sendmmsg)
 # else
 /* When __ASSUME_SENDMMSG sendmmsg is defined in internal_sendmmsg.S.  */
 # endif
 #else
-int
-sendmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen, int flags)
-{
-  __set_errno (ENOSYS);
-  return -1;
-}
-stub_warning (sendmmsg)
+# include <socket/sendmmsg.c>
 #endif

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