mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-30 13:13:43 +08:00
0595c98494
mq_notify (in the 1996 edition of POSIX) brings in references to recv and socket (not in POSIX until the 2001 edition). This patch fixes this by using __recv and __socket, exporting them from libc at version GLIBC_PRIVATE. Tested for x86_64 and x86 (testsuite and comparison of installed stripped shared libraries; PLT / dynamic symbol table changes render the comparison not particularly useful for libc). [BZ #18546] * socket/recv.c (__recv): Use libc_hidden_def. * socket/socket.c (__socket): Likewise. * sysdeps/mach/hurd/recv.c (__recv): Likewise. * sysdeps/mach/hurd/socket.c (__socket): Likewise. * sysdeps/unix/sysv/linux/generic/recv.c (__recv): Likewise. * sysdeps/unix/sysv/linux/recv.c (__recv): Use libc_hidden_weak. * sysdeps/unix/sysv/linux/socket.c (__socket): Use libc_hidden_def. * sysdeps/unix/sysv/linux/x86_64/recv.c (__recv): Use libc_hidden_weak. * include/sys/socket.h (__socket): Do not use attribute_hidden. Use libc_hidden_proto. (__recv): Likewise. * socket/Versions (libc): Export __recv and __socket at version GLIBC_PRIVATE. * sysdeps/unix/sysv/linux/mq_notify.c (helper_thread): Call __recv instead of recv. (init_mq_netlink): Call __socket instead of socket. * conform/Makefile (test-xfail-POSIX/mqueue.h/linknamespace): Remove variable.
45 lines
575 B
Plaintext
45 lines
575 B
Plaintext
libc {
|
|
GLIBC_2.0 {
|
|
# functions used in other libraries
|
|
__connect; __send;
|
|
|
|
# a*
|
|
accept;
|
|
|
|
# b*
|
|
bind;
|
|
|
|
# c*
|
|
connect;
|
|
|
|
# g*
|
|
getpeername; getsockname; getsockopt;
|
|
|
|
# i*
|
|
isfdtype;
|
|
|
|
# l*
|
|
listen;
|
|
|
|
# r*
|
|
recv; recvfrom; recvmsg;
|
|
|
|
# s*
|
|
send; sendmsg; sendto; setsockopt; shutdown; socket; socketpair;
|
|
}
|
|
GLIBC_2.2.4 {
|
|
# Addition from P1003.1-200x
|
|
sockatmark;
|
|
}
|
|
GLIBC_2.10 {
|
|
accept4;
|
|
}
|
|
GLIBC_2.17 {
|
|
recvmmsg; sendmmsg;
|
|
}
|
|
GLIBC_PRIVATE {
|
|
__sendmmsg;
|
|
__recv; __socket;
|
|
}
|
|
}
|