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

[commits] r6736 - in /fsf/trunk/libc: ./ hurd/hurd/ sysdeps/powerpc/powerpc32/ sysdeps/unix/sysv/linux/



Author: eglibc
Date: Wed Aug 13 00:04:55 2008
New Revision: 6736

Log:
Import glibc-mainline for 2008-08-13

Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/hurd/hurd/signal.h
    fsf/trunk/libc/sysdeps/powerpc/powerpc32/dl-machine.c
    fsf/trunk/libc/sysdeps/unix/sysv/linux/ifaddrs.c

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Wed Aug 13 00:04:55 2008
@@ -1,3 +1,22 @@
+2008-08-12  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #6589]
+	* sysdeps/unix/sysv/linux/ifaddrs.c (struct sockaddr_ll_max):
+	Define.
+	(struct ifaddrs_storage): Use it instead of sockaddr_ll.
+
+2008-08-12  Ryan S. Arnold  <rsa@xxxxxxxxxx>
+
+	[BZ #6839]
+	* sysdeps/powerpc/powerpc32/dl-machine.c (CHECK_STATIC_TLS): Remove
+	macro since it is now available in elf/dynamic-link.h.
+
+2008-08-12  Roland McGrath  <roland@xxxxxxxx>
+
+	* hurd/hurd/signal.h (HURD_MSGPORT_RPC): Avoid -Wparenthesis triggers,
+	in case used outside of libc.
+	Reported by Samuel Thibault <samuel.thibault@xxxxxxxxxxxx>
+
 2008-08-11  Ulrich Drepper  <drepper@xxxxxxxxxx>
 
 	* resolv/res_mkquery.c (res_nmkquery): Call ns_name_compress

Modified: fsf/trunk/libc/hurd/hurd/signal.h
==============================================================================
--- fsf/trunk/libc/hurd/hurd/signal.h (original)
+++ fsf/trunk/libc/hurd/hurd/signal.h Wed Aug 13 00:04:55 2008
@@ -1,5 +1,6 @@
 /* Implementing POSIX.1 signals under the Hurd.
-   Copyright (C) 1993,94,95,96,98,99,2002,2007 Free Software Foundation, Inc.
+   Copyright (C) 1993,94,95,96,98,99,2002,2007,2008
+	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
@@ -342,10 +343,12 @@
     do									      \
       {									      \
 	/* Get the message port.  */					      \
-	if (__err = (fetch_msgport_expr))				      \
+	__err = (fetch_msgport_expr);					      \
+	if (__err)							      \
 	  break;							      \
 	/* Get the reference port.  */					      \
-	if (__err = (fetch_refport_expr))				      \
+	_err = (fetch_refport_expr);					      \
+	if (__err)							      \
 	  {								      \
 	    /* Couldn't get it; deallocate MSGPORT and fail.  */	      \
 	    __mach_port_deallocate (__mach_task_self (), msgport);	      \

Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/dl-machine.c
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/dl-machine.c (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/dl-machine.c Wed Aug 13 00:04:55 2008
@@ -557,11 +557,6 @@
       }
       break;
 
-#define CHECK_STATIC_TLS(map, sym_map)					      \
-    do {								      \
-      if (__builtin_expect ((sym_map)->l_tls_offset == NO_TLS_OFFSET, 0))     \
-	_dl_allocate_static_tls (sym_map);				      \
-    } while (0)
 #define DO_TLS_RELOC(suffix)						      \
     case R_PPC_DTPREL##suffix:						      \
       /* During relocation all TLS symbols are defined and used.	      \

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/ifaddrs.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/ifaddrs.c (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/ifaddrs.c Wed Aug 13 00:04:55 2008
@@ -1,5 +1,5 @@
 /* getifaddrs -- get names and addresses of all network interfaces
-   Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2003-2007, 2008 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
@@ -49,6 +49,22 @@
 #endif
 
 
+/* There is a problem with this type.  The address length for
+   Infiniband sockets is much longer than the 8 bytes allocated in the
+   sockaddr_ll definition.  Hence we use here a special
+   definition.  */
+struct sockaddr_ll_max
+  {
+    unsigned short int sll_family;
+    unsigned short int sll_protocol;
+    int sll_ifindex;
+    unsigned short int sll_hatype;
+    unsigned char sll_pkttype;
+    unsigned char sll_halen;
+    unsigned char sll_addr[24];
+  };
+
+
 /* struct to hold the data for one ifaddrs entry, so we can allocate
    everything at once.  */
 struct ifaddrs_storage
@@ -59,7 +75,7 @@
     /* Save space for the biggest of the four used sockaddr types and
        avoid a lot of casts.  */
     struct sockaddr sa;
-    struct sockaddr_ll sl;
+    struct sockaddr_ll_max sl;
     struct sockaddr_in s4;
     struct sockaddr_in6 s6;
   } addr, netmask, broadaddr;
@@ -307,7 +323,7 @@
 
 /* Create a linked list of `struct ifaddrs' structures, one for each
    network interface on the host machine.  If successful, store the
-   list in *IFAP and return 0.  On errors, return -1 and set `errno'.  */
+   list in *IFAP and 2004, 2005, 2006, return 0.  On errors, return -1 and set `errno'.  */
 int
 getifaddrs (struct ifaddrs **ifap)
 {