From 6200912793cc212ede59c2d1c0dfacf189e84c69 Mon Sep 17 00:00:00 2001 From: GNU Libc Maintainers Date: Fri, 26 Jan 2018 22:35:29 +0000 Subject: [PATCH] git-ifaddrs-linknamespace MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit commit 7edd06916d0f18714f323b180b890f1fea39e1ff Author: H.J. Lu Date: Wed Sep 27 17:18:32 2017 -0700 Update sysdeps/unix/sysv/linux/ifaddrs.c Fix ../sysdeps/unix/sysv/linux/ifaddrs.c:835:27: error: ‘getifaddrs’ aliased to undefined symbol ‘__getifaddrs’ weak_alias (__getifaddrs, getifaddrs) ^ ../sysdeps/unix/sysv/linux/ifaddrs.c:844:28: error: ‘freeifaddrs’ aliased to undefined symbol ‘__freeifaddrs’ weak_alias (__freeifaddrs, freeifaddrs) caused by commit 4009ddc69225d571772aaea597615a0c032e14ab Author: Samuel Thibault Date: Thu Sep 28 00:19:18 2017 +0200 hurd: Fix `getifaddrs' and `freeifaddrs' symbol exposition * sysdeps/unix/sysv/linux/ifaddrs.c (__getifaddrs): Add libc_hidden_def. (__freeifaddrs): Likewise. commit 4009ddc69225d571772aaea597615a0c032e14ab Author: Samuel Thibault Date: Thu Sep 28 00:19:18 2017 +0200 hurd: Fix `getifaddrs' and `freeifaddrs' symbol exposition from `freeaddrinfo'. `getifaddrs' and `freeifaddrs' are not in POSIX, they should not be exposed along `freeaddrinfo' (through `__check_pf') which is POSIX. * include/ifaddrs.h (__getifaddrs, __freeifaddrs): New declarations, and use libc_hidden_def on them. * inet/ifaddrs.c (__getifaddrs, __freeifaddrs): Use libc_hidden_def on them. * sysdeps/gnu/ifaddrs.c (__getifaddrs, __freeifaddrs): Likewise. * inet/check_pf.c (__check_pf): Use __getifaddrs and __freeifaddrs instead of getifaddrs and freeifaddrs. Gbp-Pq: Topic hurd-i386 Gbp-Pq: Name git-ifaddrs-linknamespace.diff --- include/ifaddrs.h | 5 +++++ inet/check_pf.c | 4 ++-- inet/ifaddrs.c | 2 ++ sysdeps/gnu/ifaddrs.c | 2 ++ sysdeps/unix/sysv/linux/ifaddrs.c | 2 ++ 5 files changed, 13 insertions(+), 2 deletions(-) diff --git a/include/ifaddrs.h b/include/ifaddrs.h index 54f4b7a3c..416118f1b 100644 --- a/include/ifaddrs.h +++ b/include/ifaddrs.h @@ -9,6 +9,11 @@ libc_hidden_proto (getifaddrs) libc_hidden_proto (freeifaddrs) +extern int __getifaddrs (struct ifaddrs **__ifap); +libc_hidden_proto (__getifaddrs) +extern void __freeifaddrs (struct ifaddrs *__ifa); +libc_hidden_proto (__freeifaddrs) + struct in6addrinfo { enum { diff --git a/inet/check_pf.c b/inet/check_pf.c index a56723a7d..84dd1699d 100644 --- a/inet/check_pf.c +++ b/inet/check_pf.c @@ -32,7 +32,7 @@ __check_pf (bool *seen_ipv4, bool *seen_ipv6, /* Get the interface list via getifaddrs. */ struct ifaddrs *ifa = NULL; - if (getifaddrs (&ifa) != 0) + if (__getifaddrs (&ifa) != 0) { /* We cannot determine what interfaces are available. Be pessimistic. */ @@ -51,7 +51,7 @@ __check_pf (bool *seen_ipv4, bool *seen_ipv6, else if (runp->ifa_addr->sa_family == PF_INET6) *seen_ipv6 = true; - (void) freeifaddrs (ifa); + (void) __freeifaddrs (ifa); } diff --git a/inet/ifaddrs.c b/inet/ifaddrs.c index 35cc27722..0a5c71c05 100644 --- a/inet/ifaddrs.c +++ b/inet/ifaddrs.c @@ -30,6 +30,7 @@ __getifaddrs (struct ifaddrs **ifap) return -1; } weak_alias (__getifaddrs, getifaddrs) +libc_hidden_def (__getifaddrs) libc_hidden_weak (getifaddrs) stub_warning (getifaddrs) @@ -43,5 +44,6 @@ __freeifaddrs (struct ifaddrs *ifa) abort (); } weak_alias (__freeifaddrs, freeifaddrs) +libc_hidden_def (__freeifaddrs) libc_hidden_weak (freeifaddrs) stub_warning (freeifaddrs) diff --git a/sysdeps/gnu/ifaddrs.c b/sysdeps/gnu/ifaddrs.c index 37b324866..80702eb1d 100644 --- a/sysdeps/gnu/ifaddrs.c +++ b/sysdeps/gnu/ifaddrs.c @@ -151,6 +151,7 @@ __getifaddrs (struct ifaddrs **ifap) return 0; } weak_alias (__getifaddrs, getifaddrs) +libc_hidden_def (__getifaddrs) #ifndef getifaddrs libc_hidden_weak (getifaddrs) #endif @@ -161,4 +162,5 @@ __freeifaddrs (struct ifaddrs *ifa) free (ifa); } weak_alias (__freeifaddrs, freeifaddrs) +libc_hidden_def (__freeifaddrs) libc_hidden_weak (freeifaddrs) diff --git a/sysdeps/unix/sysv/linux/ifaddrs.c b/sysdeps/unix/sysv/linux/ifaddrs.c index 3bc990286..a02f5aac0 100644 --- a/sysdeps/unix/sysv/linux/ifaddrs.c +++ b/sysdeps/unix/sysv/linux/ifaddrs.c @@ -834,6 +834,7 @@ __getifaddrs (struct ifaddrs **ifap) return res; } weak_alias (__getifaddrs, getifaddrs) +libc_hidden_def (__getifaddrs) libc_hidden_weak (getifaddrs) @@ -843,4 +844,5 @@ __freeifaddrs (struct ifaddrs *ifa) free (ifa); } weak_alias (__freeifaddrs, freeifaddrs) +libc_hidden_def (__freeifaddrs) libc_hidden_weak (freeifaddrs) -- 2.30.2