glibc/sysdeps/unix
Joseph Myers 7f994279e9 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.
2014-12-02 23:11:09 +00:00
..
alpha Remove NOT_IN_libc 2014-11-24 15:03:45 +05:30
arm Remove IS_IN_rtld 2014-11-24 11:41:48 +05:30
bsd Remove sigvec. 2014-11-14 11:06:08 -08:00
i386 Remove IS_IN_rtld 2014-11-24 11:41:48 +05:30
inet
mips
powerpc
sh
sysv/linux Fix getifaddrs, freeifaddrs namespace (bug 17668). 2014-12-02 23:11:09 +00:00
x86_64 Remove IS_IN_rtld 2014-11-24 11:41:48 +05:30
Implies
Makefile Auto-generate libc-modules.h 2014-11-19 12:16:00 +05:30
Subdirs
clock_gettime.c
clock_nanosleep.c
clock_settime.c
confstr.h
get_child_max.c
getlogin.c
getlogin_r.c
getpagesize.c
grantpt.c
ifreq.c
make-syscalls.sh Remove NOT_IN_libc 2014-11-24 15:03:45 +05:30
s-proto-cancel.S
s-proto.S
setxid.h
sockatmark.c
stime.c
syscall-template.S
syscall.S
syscalls.list Remove __libc_readv and __libc_writev function names. 2014-10-30 20:56:34 +00:00
sysdep.h