This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.20-295-g7f99427


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  7f994279e900954f2b220a02fa01f2042eef74b1 (commit)
      from  bbe4c142b024d639418069b480b0f3d05b489803 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=7f994279e900954f2b220a02fa01f2042eef74b1

commit 7f994279e900954f2b220a02fa01f2042eef74b1
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Tue Dec 2 23:11:09 2014 +0000

    Fix getifaddrs, freeifaddrs namespace (bug 17668).
    
    Various objects in glibc bring in ifaddrs.o (via references to
    __netlink_*) and thereby getifaddrs and freeifaddrs, which are not
    part of any standard supported by glibc.  These should be weak aliases
    of __getifaddrs and __freeifaddrs; this patch makes them so.
    
    (The path by which these functions are brought in is Linux-specific,
    but it seems less confusing to make all versions of these functions
    weak aliases rather than only the Linux-specific versions that
    definitely need it.)
    
    Tested for x86_64 (testsuite, and that disassembly of installed shared
    libraries is unchanged by this patch).
    
    	[BZ #17668]
    	* inet/ifaddrs.c (getifaddrs): Rename to __getifaddrs and define
    	as weak alias of __getifaddrs.  Use libc_hidden_weak.
    	(freeifaddrs): Rename to __freeifaddrs and define as weak alias of
    	__freeifaddrs.  Use libc_hidden_weak.
    	* sysdeps/gnu/ifaddrs.c (getifaddrs): Rename to __getifaddrs and
    	define as weak alias of __getifaddrs.  Use libc_hidden_weak.
    	(freeifaddrs): Rename to __freeifaddrs and define as weak alias of
    	__freeifaddrs.  Use libc_hidden_weak.
    	* sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs): Rename to
    	__getifaddrs and define as weak alias of __getifaddrs.  Use
    	libc_hidden_weak.
    	(freeifaddrs): Rename to __freeifaddrs and define as weak alias of
    	__freeifaddrs.  Use libc_hidden_weak.
    	* conform/Makefile (test-xfail-XOPEN2K/net/if.h/linknamespace):
    	Remove variable.
    	(test-xfail-POSIX2008/net/if.h/linknamespace): Likewise.
    	(test-xfail-XOPEN2K8/net/if.h/linknamespace): Likewise.

diff --git a/ChangeLog b/ChangeLog
index f8e0e6c..cbdc3a4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+2014-12-02  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #17668]
+	* inet/ifaddrs.c (getifaddrs): Rename to __getifaddrs and define
+	as weak alias of __getifaddrs.  Use libc_hidden_weak.
+	(freeifaddrs): Rename to __freeifaddrs and define as weak alias of
+	__freeifaddrs.  Use libc_hidden_weak.
+	* sysdeps/gnu/ifaddrs.c (getifaddrs): Rename to __getifaddrs and
+	define as weak alias of __getifaddrs.  Use libc_hidden_weak.
+	(freeifaddrs): Rename to __freeifaddrs and define as weak alias of
+	__freeifaddrs.  Use libc_hidden_weak.
+	* sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs): Rename to
+	__getifaddrs and define as weak alias of __getifaddrs.  Use
+	libc_hidden_weak.
+	(freeifaddrs): Rename to __freeifaddrs and define as weak alias of
+	__freeifaddrs.  Use libc_hidden_weak.
+	* conform/Makefile (test-xfail-XOPEN2K/net/if.h/linknamespace):
+	Remove variable.
+	(test-xfail-POSIX2008/net/if.h/linknamespace): Likewise.
+	(test-xfail-XOPEN2K8/net/if.h/linknamespace): Likewise.
+
 2014-12-02  Petar Jovanovic  <petar.jovanovic@rt-rk.com>
 
 	[BZ #17601]
diff --git a/NEWS b/NEWS
index 33ab071..581bc8b 100644
--- a/NEWS
+++ b/NEWS
@@ -13,7 +13,7 @@ Version 2.21
   16619, 16740, 16857, 17192, 17266, 17344, 17363, 17370, 17371, 17411,
   17460, 17475, 17485, 17501, 17506, 17508, 17522, 17555, 17570, 17571,
   17572, 17573, 17574, 17581, 17582, 17583, 17584, 17585, 17589, 17594,
-  17601, 17608, 17616, 17625, 17633, 17664, 17665.
+  17601, 17608, 17616, 17625, 17633, 17664, 17665, 17668.
 
 * CVE-2104-7817 The wordexp function could ignore the WRDE_NOCMD flag
   under certain input conditions resulting in the execution of a shell for
diff --git a/conform/Makefile b/conform/Makefile
index eed2843..8f07d87 100644
--- a/conform/Makefile
+++ b/conform/Makefile
@@ -414,7 +414,6 @@ test-xfail-XOPEN2K/glob.h/linknamespace = yes
 test-xfail-XOPEN2K/grp.h/linknamespace = yes
 test-xfail-XOPEN2K/libgen.h/linknamespace = yes
 test-xfail-XOPEN2K/mqueue.h/linknamespace = yes
-test-xfail-XOPEN2K/net/if.h/linknamespace = yes
 test-xfail-XOPEN2K/netdb.h/linknamespace = yes
 test-xfail-XOPEN2K/pthread.h/linknamespace = yes
 test-xfail-XOPEN2K/pwd.h/linknamespace = yes
@@ -436,7 +435,6 @@ test-xfail-POSIX2008/dirent.h/linknamespace = yes
 test-xfail-POSIX2008/fcntl.h/linknamespace = yes
 test-xfail-POSIX2008/grp.h/linknamespace = yes
 test-xfail-POSIX2008/mqueue.h/linknamespace = yes
-test-xfail-POSIX2008/net/if.h/linknamespace = yes
 test-xfail-POSIX2008/netdb.h/linknamespace = yes
 test-xfail-POSIX2008/pthread.h/linknamespace = yes
 test-xfail-POSIX2008/regex.h/linknamespace = yes
@@ -451,7 +449,6 @@ test-xfail-XOPEN2K8/fmtmsg.h/linknamespace = yes
 test-xfail-XOPEN2K8/grp.h/linknamespace = yes
 test-xfail-XOPEN2K8/libgen.h/linknamespace = yes
 test-xfail-XOPEN2K8/mqueue.h/linknamespace = yes
-test-xfail-XOPEN2K8/net/if.h/linknamespace = yes
 test-xfail-XOPEN2K8/netdb.h/linknamespace = yes
 test-xfail-XOPEN2K8/pthread.h/linknamespace = yes
 test-xfail-XOPEN2K8/pwd.h/linknamespace = yes
diff --git a/inet/ifaddrs.c b/inet/ifaddrs.c
index 8071600..bc273c6 100644
--- a/inet/ifaddrs.c
+++ b/inet/ifaddrs.c
@@ -24,16 +24,17 @@
    network interface on the host machine.  If successful, store the
    list in *IFAP and return 0.  On errors, return -1 and set `errno'.  */
 int
-getifaddrs (struct ifaddrs **ifap)
+__getifaddrs (struct ifaddrs **ifap)
 {
   __set_errno (ENOSYS);
   return -1;
 }
-libc_hidden_def (getifaddrs)
+weak_alias (__getifaddrs, getifaddrs)
+libc_hidden_weak (getifaddrs)
 stub_warning (getifaddrs)
 
 void
-freeifaddrs (struct ifaddrs *ifa)
+__freeifaddrs (struct ifaddrs *ifa)
 {
   if (ifa == NULL)
     return;			/* a la free, why not? */
@@ -41,5 +42,6 @@ freeifaddrs (struct ifaddrs *ifa)
   /* Can't be called properly if getifaddrs never succeeded.  */
   abort ();
 }
-libc_hidden_def (freeifaddrs)
+weak_alias (__freeifaddrs, freeifaddrs)
+libc_hidden_weak (freeifaddrs)
 stub_warning (freeifaddrs)
diff --git a/sysdeps/gnu/ifaddrs.c b/sysdeps/gnu/ifaddrs.c
index 1b8775f..3607b2c 100644
--- a/sysdeps/gnu/ifaddrs.c
+++ b/sysdeps/gnu/ifaddrs.c
@@ -32,7 +32,7 @@
    network interface on the host machine.  If successful, store the
    list in *IFAP and return 0.  On errors, return -1 and set `errno'.  */
 int
-getifaddrs (struct ifaddrs **ifap)
+__getifaddrs (struct ifaddrs **ifap)
 {
   /* This implementation handles only IPv4 interfaces.
      The various ioctls below will only work on an AF_INET socket.
@@ -150,13 +150,15 @@ getifaddrs (struct ifaddrs **ifap)
 
   return 0;
 }
+weak_alias (__getifaddrs, getifaddrs)
 #ifndef getifaddrs
-libc_hidden_def (getifaddrs)
+libc_hidden_weak (getifaddrs)
 #endif
 
 void
-freeifaddrs (struct ifaddrs *ifa)
+__freeifaddrs (struct ifaddrs *ifa)
 {
   free (ifa);
 }
-libc_hidden_def (freeifaddrs)
+weak_alias (__freeifaddrs, freeifaddrs)
+libc_hidden_weak (freeifaddrs)
diff --git a/sysdeps/unix/sysv/linux/ifaddrs.c b/sysdeps/unix/sysv/linux/ifaddrs.c
index a47b2ed..3f03f86 100644
--- a/sysdeps/unix/sysv/linux/ifaddrs.c
+++ b/sysdeps/unix/sysv/linux/ifaddrs.c
@@ -819,7 +819,7 @@ getifaddrs_internal (struct ifaddrs **ifap)
    network interface on the host machine.  If successful, store the
    list in *IFAP and return 0.  On errors, return -1 and set `errno'.  */
 int
-getifaddrs (struct ifaddrs **ifap)
+__getifaddrs (struct ifaddrs **ifap)
 {
   int res;
 
@@ -829,12 +829,14 @@ getifaddrs (struct ifaddrs **ifap)
 
   return res;
 }
-libc_hidden_def (getifaddrs)
+weak_alias (__getifaddrs, getifaddrs)
+libc_hidden_weak (getifaddrs)
 
 
 void
-freeifaddrs (struct ifaddrs *ifa)
+__freeifaddrs (struct ifaddrs *ifa)
 {
   free (ifa);
 }
-libc_hidden_def (freeifaddrs)
+weak_alias (__freeifaddrs, freeifaddrs)
+libc_hidden_weak (freeifaddrs)

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                         |   21 +++++++++++++++++++++
 NEWS                              |    2 +-
 conform/Makefile                  |    3 ---
 inet/ifaddrs.c                    |   10 ++++++----
 sysdeps/gnu/ifaddrs.c             |   10 ++++++----
 sysdeps/unix/sysv/linux/ifaddrs.c |   10 ++++++----
 6 files changed, 40 insertions(+), 16 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]