]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Revert {send,sendm,recv,recvm}msg conformance changes
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Thu, 9 Jun 2016 15:27:57 +0000 (12:27 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Fri, 10 Jun 2016 14:58:16 +0000 (11:58 -0300)
After some discussion in libc-alpha about this POSIX compliance fix, I see
that GLIBC should indeed revert back to previous definition of msghdr and
cmsghdr and implementation of sendmsg, recvmsg, sendmmsg, recvmmsg due some
reasons:

 * The possible issue where the syscalls wrapper add the compatibility
   layer is quite limited in scope and range.  And kernel current
   also add some limits to the values on the internal msghdr and
   cmsghdr fields:

     - msghdr::msg_iovlen larger than UIO_MAXIOV (1024) returns
       EMSGSIZE.
     - msghdr::msg_controllen larger than INT_MAX returns ENOBUFS.

 * There is a small performance hit for recvmsg/sendmsg/recmmsg which
   is neglectable, but it is a big hit for sendmmsg since now instead
   of calling the syscall for the packed structure, GLIBC is calling
   multiple sendmsg.  This defeat the very existence of the syscall.

 * It currently breaks libsanitizer build on GCC [1] (I fixed on compiler-rt).
   However the fix is incomplete because it does add any runtime check
   since libsanitizer currently does not have any facility to intercept
   symbols with multiple version [2].

   This, along with incorret dlsym/dlvsym return for versioned symbol due
   another bug [3], makes hard to interpose versioned symbols.

   Also, current approach of fixing GCC PR#71445 leads to half-baked
   solutions without versioned symbol interposing.

This patch basically reverts commits 2f0dc39029ae08222c2d7f4357d66,
af7f7c7ec8dea1.  I decided to not revert abf29edd4a3918 (Adjust
kernel-features.h defaults for recvmsg and sendmsg) mainly because it
does not really address the POSIX compliance original issue and also
adds some cleanups.

Tested on x86, i386, s390, s390x, aarch64, and powerpc64le.

[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71445
[2] https://github.com/google/sanitizers/issues/628
[3] https://sourceware.org/bugzilla/show_bug.cgi?id=14932

* conform/data/sys/socket.h-data (msghdr.msg_iovlen): Add xfail-.
(msghdr.msg_controllen): Likewise.
(cmsghdr.cmsg_len): Likewise.
* nptl/Makefile (libpthread-routines): Remove ptw-oldrecvmsg and
ptw-oldsendmsg.
(CFLAGS-oldrecvmsg.c): Remove rule.
(CFLAGS-oldsendmsg.c): Likewise.
(CFLAGS-recvmsg.c): Add rule.
(CFLAGS-sendmsg.c): Likewise.
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Remove
oldrecvmsg, oldsendmsg, oldrecvmmsg, oldsendmmsg.
(CFLAGS-recvmsg.c): Remove rule.
(CFLAGS-sendmsg.c): Likewise.
(CFLAGS-oldrecvmsg.c): Likewise.
(CFLAGS-oldsendmsg.c): Likewise.
(CFLAGS-recvmmsg.c): Likewise.
* sysdeps/unix/sysv/linux/bits/socket.h (msghdr.msg_iovlen): Revert
to kernel defined interfaces.
(msghdr.msg_controllen): Likewise.
(cmsghdr.cmsg_len): Likewise.
(msghdr.__glibc_reserved1): Remove member.
(msghdr.__glibc_reserved2): Likewise.
(cmsghdr.__glibc_reserved1): Likewise.
* sysdeps/unix/sysv/linux/oldrecvmmsg.c: Remove file.
* sysdeps/unix/sysv/linux/oldrecvmsg.c: Likewise.
* sysdeps/unix/sysv/linux/oldsendmmsg.c: Likewise.
* sysdeps/unix/sysv/linux/oldsendmsg.c: Likewise.
* sysdeps/unix/sysv/linux/recvmmsg.c: Revert back to previous
version.
* sysdeps/unix/sysv/linux/recvmsg.c: Likewise.
* sysdeps/unix/sysv/linux/sendmmsg.c: Likewise.
* sysdeps/unix/sysv/linux/sendmsg.c: Likewise.
* sysdeps/unix/sysv/linux/aarch64/Versions [libc] (GLIBC_2.24):
Remove recvmsg and sendmsg.
* sysdeps/unix/sysv/linux/alpha/Versions [libc] (GLIBC_2.24):
Likewise.
* sysdeps/unix/sysv/linux/hppa/Versions [libc] (GLIBC_2.24):
Likewise.
* sysdeps/unix/sysv/linux/i386/Versions [libc] (GLIBC_2.24): Likewise.
* sysdeps/unix/sysv/linux/m68k/Versions [libc] (GLIBC_2.24): Likewise.
* sysdeps/unix/sysv/linux/microblaze/Versions [libc] (GLIBC_2.24):
Likewise.
* sysdeps/unix/sysv/linux/mips/mips32/Versions [libc] (GLIBC_2.24):
Likewise.
* sysdeps/unix/sysv/linux/mips/mips64/n32/Versions
[libc] (GLIBC_2.24): Likewise.
* sysdeps/unix/sysv/linux/nios2/Versions [libc] (GLIBC_2.24):
Likewise.
* sysdeps/unix/sysv/linux/powerpc/Versions [libc] (GLIBC_2.24):
Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions
[libc] (GLIBC_2.24): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/Versions [libc] (GLIBC_2.24):
Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/Versions [libc] (GLIBC_2.24):
Likewise.
* sysdeps/unix/sysv/linux/sh/Versions [libc] (GLIBC_2.24): Likewise.
* sysdeps/unix/sysv/linux/sparc/Versions [libc] (GLIBC_2.24):
Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/Versions [libc] (GLIBC_2.24):
Likewise.
* sysdeps/unix/sysv/linux/tile/Versions [libc] (GLIBC_2.24):
Likewise.
* sysdeps/unix/sysv/linux/x86_64/Versions [libc] (GLIBC_2.24):
Likewise.
* sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/Versions: Remove file
* sysdeps/unix/sysv/linux/x86_64/64/Versions: Likewise.
* sysdeps/unix/sysv/linux/mips/mips64/n64/Versions: Likewise.
* sysdeps/unix/sysv/linux/aarch64/libc.abilist: Remove new 2.24
version for {recv,send,recm,sendm}msg.
* sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist:
Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist:
Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise.
* sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise.

62 files changed:
ChangeLog
conform/data/sys/socket.h-data
nptl/Makefile
sysdeps/unix/sysv/linux/Makefile
sysdeps/unix/sysv/linux/aarch64/Versions
sysdeps/unix/sysv/linux/aarch64/libc.abilist
sysdeps/unix/sysv/linux/alpha/Versions
sysdeps/unix/sysv/linux/alpha/libc.abilist
sysdeps/unix/sysv/linux/arm/libc.abilist
sysdeps/unix/sysv/linux/bits/socket.h
sysdeps/unix/sysv/linux/hppa/Versions
sysdeps/unix/sysv/linux/hppa/libc.abilist
sysdeps/unix/sysv/linux/i386/Versions
sysdeps/unix/sysv/linux/i386/libc.abilist
sysdeps/unix/sysv/linux/ia64/libc.abilist
sysdeps/unix/sysv/linux/m68k/Versions
sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
sysdeps/unix/sysv/linux/microblaze/Versions
sysdeps/unix/sysv/linux/microblaze/libc.abilist
sysdeps/unix/sysv/linux/mips/mips32/Versions
sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
sysdeps/unix/sysv/linux/mips/mips64/n32/Versions
sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
sysdeps/unix/sysv/linux/mips/mips64/n64/Versions [deleted file]
sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
sysdeps/unix/sysv/linux/nios2/Versions
sysdeps/unix/sysv/linux/nios2/libc.abilist
sysdeps/unix/sysv/linux/oldrecvmmsg.c [deleted file]
sysdeps/unix/sysv/linux/oldrecvmsg.c [deleted file]
sysdeps/unix/sysv/linux/oldsendmmsg.c [deleted file]
sysdeps/unix/sysv/linux/oldsendmsg.c [deleted file]
sysdeps/unix/sysv/linux/powerpc/Versions
sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions
sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist
sysdeps/unix/sysv/linux/recvmmsg.c
sysdeps/unix/sysv/linux/recvmsg.c
sysdeps/unix/sysv/linux/s390/s390-32/Versions
sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
sysdeps/unix/sysv/linux/s390/s390-64/Versions
sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
sysdeps/unix/sysv/linux/sendmmsg.c
sysdeps/unix/sysv/linux/sendmsg.c
sysdeps/unix/sysv/linux/sh/Versions
sysdeps/unix/sysv/linux/sh/libc.abilist
sysdeps/unix/sysv/linux/sparc/Versions
sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
sysdeps/unix/sysv/linux/sparc/sparc64/Versions
sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
sysdeps/unix/sysv/linux/tile/Versions
sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist
sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/Versions [deleted file]
sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist
sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist
sysdeps/unix/sysv/linux/x86_64/64/Versions [deleted file]
sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
sysdeps/unix/sysv/linux/x86_64/Versions
sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist

index 9f9c7080a72ef5f7a3efaa558bb1024fc63f6194..34f51b58906c0a4a0d3b37d9e93acca49440e384 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,105 @@
+2016-06-10  Adhemerval Zanela  <adhemerval.zanella@linaro.org>
+
+       * conform/data/sys/socket.h-data (msghdr.msg_iovlen): Add xfail-.
+       (msghdr.msg_controllen): Likewise.
+       (cmsghdr.cmsg_len): Likewise.
+       * nptl/Makefile (libpthread-routines): Remove ptw-oldrecvmsg and
+       ptw-oldsendmsg.
+       (CFLAGS-oldrecvmsg.c): Remove rule.
+       (CFLAGS-oldsendmsg.c): Likewise.
+       (CFLAGS-recvmsg.c): Add rule.
+       (CFLAGS-sendmsg.c): Likewise.
+       * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Remove
+       oldrecvmsg, oldsendmsg, oldrecvmmsg, oldsendmmsg.
+       (CFLAGS-recvmsg.c): Remove rule.
+       (CFLAGS-sendmsg.c): Likewise.
+       (CFLAGS-oldrecvmsg.c): Likewise.
+       (CFLAGS-oldsendmsg.c): Likewise.
+       (CFLAGS-recvmmsg.c): Likewise.
+       * sysdeps/unix/sysv/linux/bits/socket.h (msghdr.msg_iovlen): Revert
+       to kernel defined interfaces.
+       (msghdr.msg_controllen): Likewise.
+       (cmsghdr.cmsg_len): Likewise.
+       (msghdr.__glibc_reserved1): Remove member.
+       (msghdr.__glibc_reserved2): Likewise.
+       (cmsghdr.__glibc_reserved1): Likewise.
+       * sysdeps/unix/sysv/linux/oldrecvmmsg.c: Remove file.
+       * sysdeps/unix/sysv/linux/oldrecvmsg.c: Likewise.
+       * sysdeps/unix/sysv/linux/oldsendmmsg.c: Likewise.
+       * sysdeps/unix/sysv/linux/oldsendmsg.c: Likewise.
+       * sysdeps/unix/sysv/linux/recvmmsg.c: Revert back to previous
+       version.
+       * sysdeps/unix/sysv/linux/recvmsg.c: Likewise.
+       * sysdeps/unix/sysv/linux/sendmmsg.c: Likewise.
+       * sysdeps/unix/sysv/linux/sendmsg.c: Likewise.
+       * sysdeps/unix/sysv/linux/aarch64/Versions [libc] (GLIBC_2.24):
+       Remove recvmsg and sendmsg.
+       * sysdeps/unix/sysv/linux/alpha/Versions [libc] (GLIBC_2.24):
+       Likewise.
+       * sysdeps/unix/sysv/linux/hppa/Versions [libc] (GLIBC_2.24):
+       Likewise.
+       * sysdeps/unix/sysv/linux/i386/Versions [libc] (GLIBC_2.24): Likewise.
+       * sysdeps/unix/sysv/linux/m68k/Versions [libc] (GLIBC_2.24): Likewise.
+       * sysdeps/unix/sysv/linux/microblaze/Versions [libc] (GLIBC_2.24):
+       Likewise.
+       * sysdeps/unix/sysv/linux/mips/mips32/Versions [libc] (GLIBC_2.24):
+       Likewise.
+       * sysdeps/unix/sysv/linux/mips/mips64/n32/Versions
+       [libc] (GLIBC_2.24): Likewise.
+       * sysdeps/unix/sysv/linux/nios2/Versions [libc] (GLIBC_2.24):
+       Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/Versions [libc] (GLIBC_2.24):
+       Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions
+       [libc] (GLIBC_2.24): Likewise.
+       * sysdeps/unix/sysv/linux/s390/s390-32/Versions [libc] (GLIBC_2.24):
+       Likewise.
+       * sysdeps/unix/sysv/linux/s390/s390-64/Versions [libc] (GLIBC_2.24):
+       Likewise.
+       * sysdeps/unix/sysv/linux/sh/Versions [libc] (GLIBC_2.24): Likewise.
+       * sysdeps/unix/sysv/linux/sparc/Versions [libc] (GLIBC_2.24):
+       Likewise.
+       * sysdeps/unix/sysv/linux/sparc/sparc64/Versions [libc] (GLIBC_2.24):
+       Likewise.
+       * sysdeps/unix/sysv/linux/tile/Versions [libc] (GLIBC_2.24):
+       Likewise.
+       * sysdeps/unix/sysv/linux/x86_64/Versions [libc] (GLIBC_2.24):
+       Likewise.
+       * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/Versions: Remove file
+       * sysdeps/unix/sysv/linux/x86_64/64/Versions: Likewise.
+       * sysdeps/unix/sysv/linux/mips/mips64/n64/Versions: Likewise.
+       * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Remove new 2.24
+       version for {recv,send,recm,sendm}msg.
+       * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist:
+       Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist:
+       Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise.
+       * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise.
+
 2016-06-10  Florian Weimer  <fweimer@redhat.com>
 
        [BZ #19564]
index 3a6cf7c673823850f60e424524328d98c7318f29..442d4d288ab47eee2e3ff21247e19951f02345b0 100644 (file)
@@ -22,9 +22,10 @@ type {struct msghdr}
 element {struct msghdr} {void*} msg_name
 element {struct msghdr} socklen_t msg_namelen
 element {struct msghdr} {struct iovec*} msg_iov
-element {struct msghdr} int msg_iovlen
+// Bug 16919: wrong type for msg_iovlen and msg_controllen members.
+xfail-element {struct msghdr} int msg_iovlen
 element {struct msghdr} {void*} msg_control
-element {struct msghdr} socklen_t msg_controllen
+xfail-element {struct msghdr} socklen_t msg_controllen
 element {struct msghdr} int msg_flags
 
 type {struct iovec}
@@ -34,7 +35,8 @@ element {struct iovec} size_t iov_len
 
 type {struct cmsghdr}
 
-element {struct cmsghdr} socklen_t cmsg_len
+// Bug 16919: wrong type for cmsg_len member.
+xfail-element {struct cmsghdr} socklen_t cmsg_len
 element {struct cmsghdr} int cmsg_level
 element {struct cmsghdr} int cmsg_type
 
index eaa6f7f2832027bc7b2dabded143e4c5a9160aa9..a159b58935a3c3b8770a05bf4c9f9eedecf60757 100644 (file)
@@ -115,7 +115,7 @@ libpthread-routines = nptl-init vars events version pt-interp \
                      ptw-pread ptw-pread64 ptw-pwrite ptw-pwrite64 \
                      ptw-tcdrain ptw-wait ptw-waitpid ptw-msgrcv ptw-msgsnd \
                      ptw-sigwait ptw-sigsuspend \
-                     ptw-oldrecvmsg ptw-oldsendmsg \
+                     ptw-recvmsg ptw-sendmsg \
                      pt-raise pt-system \
                      flockfile ftrylockfile funlockfile \
                      sigaction \
@@ -207,8 +207,8 @@ CFLAGS-accept.c = -fexceptions -fasynchronous-unwind-tables
 CFLAGS-sendto.c = -fexceptions -fasynchronous-unwind-tables
 CFLAGS-connect.c = -fexceptions -fasynchronous-unwind-tables
 CFLAGS-recvfrom.c = -fexceptions -fasynchronous-unwind-tables
-CFLAGS-oldrecvmsg.c = -fexceptions -fasynchronous-unwind-tables
-CFLAGS-oldsendmsg.c = -fexceptions -fasynchronous-unwind-tables
+CFLAGS-recvmsg.c = -fexceptions -fasynchronous-unwind-tables
+CFLAGS-sendmsg.c = -fexceptions -fasynchronous-unwind-tables
 
 CFLAGS-pt-system.c = -fexceptions
 
index c57575fbcb50b622ebf03136a6a577616036a011..35e1ed48d254b7e8d685028e5557a7c5059a1e68 100644 (file)
@@ -124,12 +124,9 @@ ifeq ($(subdir),socket)
 sysdep_headers += net/if_ppp.h net/ppp-comp.h \
                  net/ppp_defs.h net/if_arp.h net/route.h net/ethernet.h \
                  net/if_slip.h net/if_packet.h net/if_shaper.h
-sysdep_routines += cmsg_nxthdr oldrecvmsg oldsendmsg \
-                  oldrecvmmsg oldsendmmsg
-CFLAGS-recvmsg.c = -fexceptions -fasynchronous-unwind-tables
-CFLAGS-sendmsg.c = -fexceptions -fasynchronous-unwind-tables
-CFLAGS-oldrecvmsg.c = -fexceptions -fasynchronous-unwind-tables
-CFLAGS-oldsendmsg.c = -fexceptions -fasynchronous-unwind-tables
+sysdep_routines += cmsg_nxthdr
+CFLAGS-recvmmsg.c = -fexceptions -fasynchronous-unwind-tables
+CFLAGS-sendmmsg.c = -fexceptions -fasynchronous-unwind-tables
 endif
 
 ifeq ($(subdir),sunrpc)
index ae3742cc1ea474dfccf3728cf4c115181d2dfd1e..9bd87fe2d0b656581fc4d959596bbc2eaa1536e6 100644 (file)
@@ -5,10 +5,6 @@ ld {
   }
 }
 libc {
-  GLIBC_2.24 {
-    recvmsg; sendmsg;
-  }
-
   GLIBC_PRIVATE {
     __vdso_clock_gettime;
     __vdso_clock_getres;
index 38788910c2582688480422e261a9ca6e24c094ac..9cdb623a5c25ae4fafeee29fed5dc59000dc713f 100644 (file)
@@ -2089,7 +2089,3 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmmsg F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmmsg F
-GLIBC_2.24 sendmsg F
index 31abb2206eaac3194ec93b058f2a07deba113199..29b82f999b67cb0cc60026bd5856e10fdca58382 100644 (file)
@@ -85,9 +85,6 @@ libc {
     #errlist-compat    140
     _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
   }
-  GLIBC_2.24 {
-    recvmsg; sendmsg;
-  }
   GLIBC_PRIVATE {
     __libc_alpha_cache_shape;
   }
index 5ce7e10c4458b02677cd81f31ed91f12a89e57f3..f3f3c70ca6f21550721fbeba104f8fa42410e613 100644 (file)
@@ -2000,10 +2000,6 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmmsg F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmmsg F
-GLIBC_2.24 sendmsg F
 GLIBC_2.3 GLIBC_2.3 A
 GLIBC_2.3 __ctype_b_loc F
 GLIBC_2.3 __ctype_tolower_loc F
index 9f8eecc4c5b1c89cc96e46fdd7a9a0c1d701aa22..a93803d18257c6ff40d0718bbaff7e155010dfdc 100644 (file)
@@ -90,8 +90,6 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmsg F
 GLIBC_2.4 GLIBC_2.4 A
 GLIBC_2.4 _Exit F
 GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
index ef4629a743773eba8e044812be9810edf178a483..2eb95f7e20b8b68685ac2363b4b2db72cab8d98a 100644 (file)
@@ -27,8 +27,6 @@
 #include <stddef.h>
 
 #include <sys/types.h>
-#include <endian.h>
-#include <bits/wordsize.h>
 
 /* Type for length arguments in socket calls.  */
 #ifndef __socklen_t_defined
@@ -252,32 +250,13 @@ struct msghdr
     socklen_t msg_namelen;     /* Length of address data.  */
 
     struct iovec *msg_iov;     /* Vector of data to send/receive into.  */
-#if __WORDSIZE == 64
-# if __BYTE_ORDER == __BIG_ENDIAN
-    int __glibc_reserved1;     /* Pad to adjust Linux size to POSIX defined
-                                  size for msg_iovlen.  */
-    int msg_iovlen;            /* Number of elements in the vector.  */
-# else
-    int msg_iovlen;
-    int __glibc_reserved1;
-# endif
-#else
-    int msg_iovlen;
-#endif
+    size_t msg_iovlen;         /* Number of elements in the vector.  */
 
     void *msg_control;         /* Ancillary data (eg BSD filedesc passing). */
-#if __WORDSIZE == 64
-# if __BYTE_ORDER == __BIG_ENDIAN
-    int __glibc_reserved2;     /* Pad to adjust Linux size to POSIX defined
-                                  size for msg_controllen.  */
-    socklen_t msg_controllen;  /* Ancillary data buffer length.  */
-# else
-    socklen_t msg_controllen;
-    int __glibc_reserved2;
-# endif
-#else
-    socklen_t msg_controllen;
-#endif
+    size_t msg_controllen;     /* Ancillary data buffer length.
+                                  !! The type should be socklen_t but the
+                                  definition of the kernel is incompatible
+                                  with this.  */
 
     int msg_flags;             /* Flags on received message.  */
   };
@@ -285,19 +264,11 @@ struct msghdr
 /* Structure used for storage of ancillary data object information.  */
 struct cmsghdr
   {
-#if __WORDSIZE == 64
-# if __BYTE_ORDER == __BIG_ENDIAN
-    int __glibc_reserved1;     /* Pad toadjust Linux size to POSIX defined
-                                  size for cmsg_len.  */
-    socklen_t cmsg_len;                /* Length of data in cmsg_data plus length
-                                  of cmsghdr structure.  */
-# else
-    socklen_t cmsg_len;
-    int __glibc_reserved1;
-# endif
-#else
-    socklen_t cmsg_len;
-#endif
+    size_t cmsg_len;           /* Length of data in cmsg_data plus length
+                                  of cmsghdr structure.
+                                  !! The type should be socklen_t but the
+                                  definition of the kernel is incompatible
+                                  with this.  */
     int cmsg_level;            /* Originating protocol.  */
     int cmsg_type;             /* Protocol specific type.  */
 #if (!defined __STRICT_ANSI__ && __GNUC__ >= 2) || __STDC_VERSION__ >= 199901L
index f0af95ef461f63ca70ef801d0d2d6f3b83cb7425..b5098b21710d1867fdd006d730a6be23ec2f9641 100644 (file)
@@ -35,7 +35,4 @@ libc {
   GLIBC_2.19 {
     fanotify_mark;
   }
-  GLIBC_2.24 {
-    recvmsg; sendmsg;
-  }
 }
index 421b6feaea6c28bbf754086247f2b90fbfe7c50e..58ed1333853975ba7e63a071f4bc56b177018a3c 100644 (file)
@@ -1854,8 +1854,6 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmsg F
 GLIBC_2.3 GLIBC_2.3 A
 GLIBC_2.3 __ctype_b_loc F
 GLIBC_2.3 __ctype_tolower_loc F
index 64d503b62d01c8a756927c9dd14ec8f6ae2585d5..f3544acb75d23c885bd751f57aeff753272ad9c4 100644 (file)
@@ -45,9 +45,6 @@ libc {
     # f*
     fallocate64;
   }
-  GLIBC_2.24 {
-    recvmsg; sendmsg;
-  }
   GLIBC_PRIVATE {
     __modify_ldt;
   }
index b7fc26c4cdd85c8e6bc1e3c9dabaa8101718d124..61cbae0f580cfb97c411449982e0875f9e44f84e 100644 (file)
@@ -2012,8 +2012,6 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmsg F
 GLIBC_2.3 GLIBC_2.3 A
 GLIBC_2.3 __ctype_b_loc F
 GLIBC_2.3 __ctype_tolower_loc F
index e0df2e3ae242606de006f99332bc3c767d7fc6df..d40d264ef227c801fff5b6597f87fa431bbb56e6 100644 (file)
@@ -1876,10 +1876,6 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmmsg F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmmsg F
-GLIBC_2.24 sendmsg F
 GLIBC_2.3 GLIBC_2.3 A
 GLIBC_2.3 __ctype_b_loc F
 GLIBC_2.3 __ctype_tolower_loc F
index 2dc2e83d0797e83ddb930d4e7572b7559d39e214..7ecc96ea972405e272a5ea12e49392f42949ff4f 100644 (file)
@@ -40,9 +40,6 @@ libc {
   GLIBC_2.12 {
     __m68k_read_tp;
   }
-  GLIBC_2.24 {
-    recvmsg; sendmsg;
-  }
   GLIBC_PRIVATE {
     __vdso_atomic_cmpxchg_32; __vdso_atomic_barrier;
   }
index f80cdfe28ef0d2321674c3342c14c1dd63872206..64432ae0e101a66a3e60d53d57b71f4ae1e34caf 100644 (file)
@@ -91,8 +91,6 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmsg F
 GLIBC_2.4 GLIBC_2.4 A
 GLIBC_2.4 _Exit F
 GLIBC_2.4 _IO_2_1_stderr_ D 0x98
index 9132c26e77528cbf2032ba60185ed3e6f07a43e1..8086c3857eb3e66f082ea9c2b3bb6351bb8608e2 100644 (file)
@@ -1968,8 +1968,6 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmsg F
 GLIBC_2.3 GLIBC_2.3 A
 GLIBC_2.3 __ctype_b_loc F
 GLIBC_2.3 __ctype_tolower_loc F
index 2e93b8a43af08fad8dd4b25a23829b0a9fae3596..aa48a3c1551bf4aa0d79c825524958cbcc3c5fde 100644 (file)
@@ -2,7 +2,4 @@ libc {
   GLIBC_2.18 {
     fallocate64;
   }
-  GLIBC_2.24 {
-    recvmsg; sendmsg;
-  }
 }
index 94439272a5c3c4c9f3ef60ed7032992ea1ca63d1..8c4c3bba4576ddea33ff76b11dd91691f8012671 100644 (file)
@@ -2089,5 +2089,3 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmsg F
index c4f38d8faf911ef1c662c28cb43e7c8a17490f63..9621fb5cae80dc4fc7c8ad244aea5891651938ad 100644 (file)
@@ -3,7 +3,4 @@ libc {
     getrlimit64;
     setrlimit64;
   }
-  GLIBC_2.24 {
-    recvmsg; sendmsg;
-  }
 }
index 69386b2a94a5cc50ab98e8939528cb236b70ff6e..db014edc5108a589fac7293aace246c4ff14b84d 100644 (file)
@@ -1943,8 +1943,6 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmsg F
 GLIBC_2.3 GLIBC_2.3 A
 GLIBC_2.3 __ctype_b_loc F
 GLIBC_2.3 __ctype_tolower_loc F
index 62ba3f918ea3401102520fc3b2e7e0d9ddaf223e..33ac881346b514c48aab8e679db72d6465b80c27 100644 (file)
@@ -1941,8 +1941,6 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmsg F
 GLIBC_2.3 GLIBC_2.3 A
 GLIBC_2.3 __ctype_b_loc F
 GLIBC_2.3 __ctype_tolower_loc F
index c4f38d8faf911ef1c662c28cb43e7c8a17490f63..9621fb5cae80dc4fc7c8ad244aea5891651938ad 100644 (file)
@@ -3,7 +3,4 @@ libc {
     getrlimit64;
     setrlimit64;
   }
-  GLIBC_2.24 {
-    recvmsg; sendmsg;
-  }
 }
index 49b2ad7aa5202f7f75bd22be03b26f7698e56213..b8b2c0eabbc8df59b66a7d5d83aff6dcfcdd0900 100644 (file)
@@ -1939,8 +1939,6 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmsg F
 GLIBC_2.3 GLIBC_2.3 A
 GLIBC_2.3 __ctype_b_loc F
 GLIBC_2.3 __ctype_tolower_loc F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/Versions b/sysdeps/unix/sysv/linux/mips/mips64/n64/Versions
deleted file mode 100644 (file)
index 517d79a..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-libc {
-  GLIBC_2.24 {
-    recvmsg; sendmsg;
-  }
-}
index 445db92115fdc4cb3d5136aac4dcdf9be48c627a..07413015f49c38b8bb1d04eb07f5e7b2d62def84 100644 (file)
@@ -1934,10 +1934,6 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmmsg F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmmsg F
-GLIBC_2.24 sendmsg F
 GLIBC_2.3 GLIBC_2.3 A
 GLIBC_2.3 __ctype_b_loc F
 GLIBC_2.3 __ctype_tolower_loc F
index 93458f5951b7c9075a636b1cc31b451470229ee2..e42c85f57594c334c9b77c83b6ba99407df71b37 100644 (file)
@@ -3,7 +3,4 @@ libc {
     _flush_cache;
     cacheflush;
   }
-  GLIBC_2.24 {
-    recvmsg; sendmsg;
-  }
 }
index d854b6d8c99eb6eebd34728c79a5996ae49669ea..fa04825b2b0b73152da5faf36232259b0ce22637 100644 (file)
@@ -2130,5 +2130,3 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmsg F
diff --git a/sysdeps/unix/sysv/linux/oldrecvmmsg.c b/sysdeps/unix/sysv/linux/oldrecvmmsg.c
deleted file mode 100644 (file)
index 4bf849b..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Compatibility version of recvmsg.
-   Copyright (C) 2010-2016 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
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <sys/socket.h>
-#include <sysdep-cancel.h>
-#include <socketcall.h>
-#include <shlib-compat.h>
-
-#if __WORDSIZE == 64
-# if SHLIB_COMPAT (libc, GLIBC_2_12, GLIBC_2_24)
-
-/* Do not use the recvmmsg syscall on socketcall architectures unless
-   it was added at the same time as the socketcall support or can be
-   assumed to be present.  */
-#  if defined __ASSUME_SOCKETCALL \
-    && !defined __ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL \
-    && !defined __ASSUME_RECVMMSG_SYSCALL
-#   undef __NR_recvmmsg
-#  endif
-
-int
-__old_recvmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen,
-               int flags, struct timespec *tmo)
-{
-#  ifdef __NR_recvmmsg
-  return SYSCALL_CANCEL (recvmmsg, fd, vmessages, vlen, flags, tmo);
-#  elif defined __NR_socketcall
-#   ifdef __ASSUME_RECVMMSG_SOCKETCALL
-  return SOCKETCALL_CANCEL (recvmmsg, fd, vmessages, vlen, flags, tmo);
-#   else
-  static int have_recvmmsg;
-  if (__glibc_likely (have_recvmmsg >= 0))
-    {
-      int ret = SOCKETCALL_CANCEL (recvmmsg, fd, vmessages, vlen, flags,
-                                  tmo);
-      /* The kernel returns -EINVAL for unknown socket operations.
-        We need to convert that error to an ENOSYS error.  */
-      if (__builtin_expect (ret < 0, 0)
-         && have_recvmmsg == 0
-         && errno == EINVAL)
-       {
-         /* Try another call, this time with an invalid file
-            descriptor and all other parameters cleared.  This call
-            will not cause any harm and it will return
-            immediately.  */
-         ret = SOCKETCALL_CANCEL (invalid, -1);
-         if (errno == EINVAL)
-           {
-             have_recvmmsg = -1;
-             __set_errno (ENOSYS);
-           }
-         else
-           {
-             have_recvmmsg = 1;
-             __set_errno (EINVAL);
-           }
-         return -1;
-       }
-      return ret;
-    }
-  __set_errno (ENOSYS);
-  return -1;
-#   endif /* __ASSUME_RECVMMSG_SOCKETCALL  */
-#  else
-  __set_errno (ENOSYS);
-  return -1;
-#  endif
-}
-compat_symbol (libc, __old_recvmmsg, recvmmsg, GLIBC_2_12);
-
-# endif /* SHLIB_COMPAT (libc, GLIBC_2_12, GLIBC_2_24)  */
-#endif /* __WORDSIZE == 64  */
diff --git a/sysdeps/unix/sysv/linux/oldrecvmsg.c b/sysdeps/unix/sysv/linux/oldrecvmsg.c
deleted file mode 100644 (file)
index 01c596e..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Compatibility version of recvmsg.
-   Copyright (C) 2016 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
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <sys/socket.h>
-#include <sysdep-cancel.h>
-#include <socketcall.h>
-#include <shlib-compat.h>
-
-/* Both libc.so and libpthread.so provides sendmsg, so we need to
-   provide the compat symbol for both libraries.  */
-#if SHLIB_COMPAT (MODULE_NAME, GLIBC_2_0, GLIBC_2_24)
-
-/* We can use the same struct layout for old symbol version since
-   size is the same.  */
-ssize_t
-__old_recvmsg (int fd, struct msghdr *msg, int flags)
-{
-# ifdef __ASSUME_RECVMSG_SYSCALL
-  return SYSCALL_CANCEL (recvmsg, fd, msg, flags);
-# else
-  return SOCKETCALL_CANCEL (recvmsg, fd, msg, flags);
-# endif
-}
-compat_symbol (MODULE_NAME, __old_recvmsg, recvmsg, GLIBC_2_0);
-#endif
diff --git a/sysdeps/unix/sysv/linux/oldsendmmsg.c b/sysdeps/unix/sysv/linux/oldsendmmsg.c
deleted file mode 100644 (file)
index e40c311..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Compatibility implementation of sendmmsg.
-   Copyright (C) 2016 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
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <sys/socket.h>
-#include <sysdep-cancel.h>
-#include <socketcall.h>
-#include <shlib-compat.h>
-
-#if __WORDSIZE == 64
-# if SHLIB_COMPAT (libc, GLIBC_2_14, GLIBC_2_24)
-
-int
-__old_sendmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen,
-               int flags)
-{
-#  ifdef __NR_sendmmsg
-  return SYSCALL_CANCEL (sendmmsg, fd, vmessages, vlen, flags);
-#  elif defined __NR_socketcall
-#   ifdef __ASSUME_SENDMMSG_SOCKETCALL
-  return SOCKETCALL_CANCEL (sendmmsg, fd, vmessages, vlen, flags);
-#   else
-  static int have_sendmmsg;
-  if (__glibc_likely (have_sendmmsg >= 0))
-    {
-      int ret = SOCKETCALL_CANCEL (sendmmsg, fd, vmessages, vlen, flags);
-      /* The kernel returns -EINVAL for unknown socket operations.
-        We need to convert that error to an ENOSYS error.  */
-      if (__builtin_expect (ret < 0, 0)
-         && have_sendmmsg == 0
-         && errno == EINVAL)
-       {
-         /* Try another call, this time with an invalid file
-            descriptor and all other parameters cleared.  This call
-            will not cause any harm and it will return
-            immediately.  */
-         ret = SOCKETCALL_CANCEL (invalid, -1);
-         if (errno == EINVAL)
-           {
-             have_sendmmsg = -1;
-             __set_errno (ENOSYS);
-           }
-         else
-           {
-             have_sendmmsg = 1;
-             __set_errno (EINVAL);
-           }
-         return -1;
-       }
-      return ret;
-    }
-  __set_errno (ENOSYS);
-  return -1;
-#   endif /* __ASSUME_SENDMMSG_SOCKETCALL  */
-#  else /* defined __NR_socketcall  */
-  __set_errno (ENOSYS);
-  return -1;
-#  endif
-}
-compat_symbol (libc, __old_sendmmsg, sendmmsg, GLIBC_2_14);
-# endif /* SHLIB_COMPAT (libc, GLIBC_2_14, GLIBC_2_24)  */
-#endif /* __WORDSIZE == 64  */
diff --git a/sysdeps/unix/sysv/linux/oldsendmsg.c b/sysdeps/unix/sysv/linux/oldsendmsg.c
deleted file mode 100644 (file)
index a96790a..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Compatibility implementation of sendmsg.
-   Copyright (C) 2016 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
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <sys/socket.h>
-#include <sysdep-cancel.h>
-#include <socketcall.h>
-#include <shlib-compat.h>
-
-/* Both libc.so and libpthread.so provides sendmsg, so we need to
-   provide the compat symbol for both libraries.  */
-#if SHLIB_COMPAT (MODULE_NAME, GLIBC_2_0, GLIBC_2_24)
-
-/* We can use the same struct layout for old symbol version since
-   size is the same.  */
-ssize_t
-__old_sendmsg (int fd, const struct msghdr *msg, int flags)
-{
-# ifdef __ASSUME_SENDMSG_SYSCALL
-  return SYSCALL_CANCEL (sendmsg, fd, msg, flags);
-# else
-  return SOCKETCALL_CANCEL (sendmsg, fd, msg, flags);
-# endif
-}
-compat_symbol (MODULE_NAME, __old_sendmsg, sendmsg, GLIBC_2_0);
-#endif
index ab0db5713758c8a3cd27c70aded936353cbdee21..8ebeea15a1b453408a150799628d074f5c856b2a 100644 (file)
@@ -5,9 +5,6 @@ ld {
   }
 }
 libc {
-  GLIBC_2.24 {
-    recvmsg; sendmsg;
-  }
   GLIBC_PRIVATE {
     __vdso_get_tbfreq;
     __vdso_clock_gettime;
index bcb4bd1c8d00dad0619b5e54d54f53d00716ad82..3d633c09998ac285cc908543a56c92e28e3ce5d3 100644 (file)
@@ -1972,8 +1972,6 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmsg F
 GLIBC_2.3 GLIBC_2.3 A
 GLIBC_2.3 __ctype_b_loc F
 GLIBC_2.3 __ctype_tolower_loc F
index 01f49572ee905560e94673b84522d140ff3cf037..a6b164bc23f22ce69923cb0f88a1548a71e58d65 100644 (file)
@@ -1977,8 +1977,6 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmsg F
 GLIBC_2.3 GLIBC_2.3 A
 GLIBC_2.3 __ctype_b_loc F
 GLIBC_2.3 __ctype_tolower_loc F
index 53e5527cb3b98f7ad74c9884d50f01a8b4d0627e..a8e88b89db8763b08c41a73c52b30eced53396a5 100644 (file)
@@ -22,9 +22,6 @@ libc {
   GLIBC_2.17 {
     __ppc_get_timebase_freq;
   }
-  GLIBC_2.24 {
-    recvmsg; sendmsg;
-  }
 }
 
 librt {
index 83486704abbacb3987be96e74db8cedc6b6375bc..7200b762872a87bf37e9eacc92fa0462d01dde41 100644 (file)
@@ -2177,7 +2177,3 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmmsg F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmmsg F
-GLIBC_2.24 sendmsg F
index 3de5d61cb794f91afa556eb4b222da6cfb668d85..de62ecb0f3633da5a61a8fe72307e5dcc79b8351 100644 (file)
@@ -91,10 +91,6 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmmsg F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmmsg F
-GLIBC_2.24 sendmsg F
 GLIBC_2.3 GLIBC_2.3 A
 GLIBC_2.3 _Exit F
 GLIBC_2.3 _IO_2_1_stderr_ D 0xe0
index 08b89ba962d644ed40ba65245680039b2ee482db..bf18260b46313deca4a7f197de8302c9f4dca9d2 100644 (file)
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#include <errno.h>
 #include <sys/socket.h>
-#include <socketcall.h>
+
 #include <sysdep-cancel.h>
-#include <shlib-compat.h>
+#include <sys/syscall.h>
+#include <kernel-features.h>
 
 /* Do not use the recvmmsg syscall on socketcall architectures unless
    it was added at the same time as the socketcall support or can be
 # undef __NR_recvmmsg
 #endif
 
-static inline void
-adjust_mmsghdr (struct mmsghdr *vmessages, unsigned int vlen)
-{
-#if __WORDSIZE == 64
-  /* POSIX specifies that both msghdr::msg_iovlen and msghdr::msg_controllen
-     to be int and socklen_t respectively.  However Linux defines it as
-     both size_t.  So for 64-bit it requires some adjustments by zeroing
-     the pad fields.  */
-  struct mmsghdr *vmhdr = vmessages;
-  for (unsigned int i = 0; i != 0; i--, vmhdr++)
-    {
-      vmhdr->msg_hdr.__glibc_reserved1 = 0;
-      vmhdr->msg_hdr.__glibc_reserved2 = 0;
-    }
-#endif
-}
-
+#ifdef __NR_recvmmsg
 int
-__recvmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen,
-                int flags, struct timespec *tmo)
+recvmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen, int flags,
+         struct timespec *tmo)
 {
-#ifdef __NR_recvmmsg
-  adjust_mmsghdr (vmessages, vlen);
   return SYSCALL_CANCEL (recvmmsg, fd, vmessages, vlen, flags, tmo);
+}
 #elif defined __NR_socketcall
+# include <socketcall.h>
 # ifdef __ASSUME_RECVMMSG_SOCKETCALL
-  adjust_mmsghdr (vmessages, vlen);
+int
+recvmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen, int flags,
+         struct timespec *tmo)
+{
   return SOCKETCALL_CANCEL (recvmmsg, fd, vmessages, vlen, flags, tmo);
+}
 # else
-  static int have_recvmmsg;
+static int have_recvmmsg;
+
+int
+recvmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen, int flags,
+         struct timespec *tmo)
+{
   if (__glibc_likely (have_recvmmsg >= 0))
     {
-      adjust_mmsghdr (vmessages, vlen);
       int ret = SOCKETCALL_CANCEL (recvmmsg, fd, vmessages, vlen, flags,
                                   tmo);
       /* The kernel returns -EINVAL for unknown socket operations.
@@ -92,19 +86,8 @@ __recvmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen,
     }
   __set_errno (ENOSYS);
   return -1;
-# endif /* __ASSUME_RECVMMSG_SOCKETCALL  */
-#else
-# define STUB 1
-  __set_errno (ENOSYS);
-  return -1;
-#endif
 }
-#ifdef STUB
-stub_warning (recvmmsg)
-#endif
-
-#if __WORDSIZE == 64
-versioned_symbol (libc, __recvmmsg, recvmmsg, GLIBC_2_24);
+# endif /* __ASSUME_RECVMMSG_SOCKETCALL  */
 #else
-weak_alias (__recvmmsg, recvmmsg)
+# include <socket/recvmmsg.c>
 #endif
index 25a319358b9547976704cde91f44b93d6cfea696..14ba67e72c85d66e738ca87f0e2c43cc63fdffb1 100644 (file)
@@ -1,4 +1,5 @@
-/* Copyright (C) 2015-2016 Free Software Foundation, Inc.
+/* Linux recvmsg syscall wrapper.
+   Copyright (C) 2016 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
 ssize_t
 __libc_recvmsg (int fd, struct msghdr *msg, int flags)
 {
-  ssize_t ret;
-
-  /* POSIX specifies that both msghdr::msg_iovlen and msghdr::msg_controllen
-     to be int and socklen_t respectively.  However Linux defines it as
-     both size_t.  So for 64-bit it requires some adjustments by copying to
-     temporary header and zeroing the pad fields.  */
-#if __WORDSIZE == 64
-  struct msghdr hdr, *orig = msg;
-  if (msg != NULL)
-    {
-      hdr = *msg;
-      hdr.__glibc_reserved1 = 0;
-      hdr.__glibc_reserved2 = 0;
-      msg = &hdr;
-    }
-#endif
-
-#ifdef __ASSUME_RECVMSG_SYSCALL
-  ret = SYSCALL_CANCEL (recvmsg, fd, msg, flags);
-#else
-  ret = SOCKETCALL_CANCEL (recvmsg, fd, msg, flags);
-#endif
-
-#if __WORDSIZE == 64
-  if (orig != NULL)
-    *orig = hdr;
-#endif
-
-  return ret;
+# ifdef __ASSUME_RECVMSG_SYSCALL
+  return SYSCALL_CANCEL (recvmsg, fd, msg, flags);
+# else
+  return SOCKETCALL_CANCEL (recvmsg, fd, msg, flags);
+# endif
 }
+weak_alias (__libc_recvmsg, recvmsg)
 weak_alias (__libc_recvmsg, __recvmsg)
-versioned_symbol (libc, __libc_recvmsg, recvmsg, GLIBC_2_24);
index afcc3fee4e0a686290a6624eb5848d46a5fb63bc..1c120e8cbeabd8d13bb799252b799a799812d8de 100644 (file)
@@ -49,9 +49,6 @@ libc {
   GLIBC_2.11 {
     fallocate64;
   }
-  GLIBC_2.24 {
-    recvmsg; sendmsg;
-  }
 }
 
 libutil {
index 761f3401caa1a1fb42a184081d5b6c680f309e0b..8da0bc087fdb35a4710218d7f68dd4c43d75893f 100644 (file)
@@ -1972,8 +1972,6 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmsg F
 GLIBC_2.3 GLIBC_2.3 A
 GLIBC_2.3 __ctype_b_loc F
 GLIBC_2.3 __ctype_tolower_loc F
index fde5aeee482974e0e0bad3827f1e74193e93aad8..3f4d96042158838849d4b2167944f31e38a7cab7 100644 (file)
@@ -4,9 +4,6 @@ libc {
     __register_frame; __register_frame_table; __deregister_frame;
     __frame_state_for; __register_frame_info_table;
   }
-  GLIBC_2.24 {
-    recvmsg; sendmsg;
-  }
 }
 
 librt {
index b7f53710851d182781c12648c61002ca4bb7c300..59066a94024bbe5e8032743c36d342306492b9cf 100644 (file)
@@ -1873,10 +1873,6 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmmsg F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmmsg F
-GLIBC_2.24 sendmsg F
 GLIBC_2.3 GLIBC_2.3 A
 GLIBC_2.3 __ctype_b_loc F
 GLIBC_2.3 __ctype_tolower_loc F
index 9b193438cef6eae5c635a0970b12faa632c7326a..6e0d46be9e3040d210c607e10477866bd3413b49 100644 (file)
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#include <errno.h>
 #include <sys/socket.h>
-#include <socketcall.h>
+
 #include <sysdep-cancel.h>
-#include <shlib-compat.h>
+#include <sys/syscall.h>
+#include <kernel-features.h>
 
 /* Do not use the sendmmsg syscall on socketcall architectures unless
    it was added at the same time as the socketcall support or can be
 # undef __NR_sendmmsg
 #endif
 
-#if __WORDSIZE == 64
-static inline int
-send_mmsghdr (int fd, struct mmsghdr *vmessages, unsigned int vlen, int flags)
-{
-  /* Emulate kernel interface for vlen size.  */
-  if (vlen > IOV_MAX)
-    vlen = IOV_MAX;
-  if (vlen == 0)
-    return 0;
-  /* POSIX specifies that both msghdr::msg_iovlen and msghdr::msg_controllen
-     to be int and socklen_t respectively,  however Linux defines it as both
-     size_t.  So for 64-bit it requires some adjustments by copying to
-     temporary header and zeroing the pad fields.
-     The problem is sendmmsg's msghdr may points to an already-filled control
-     buffer and modifying it is not part of sendmmsg contract (the data may
-     be in ro map).  So interact over the msghdr calling the sendmsg that
-     adjust the header using a temporary buffer.  */
-  for (unsigned int i = 0; i < vlen; i++)
-    {
-      ssize_t ret = __sendmsg (fd, &vmessages[i].msg_hdr, flags);
-      if (ret < 0)
-       return -1;
-      vmessages[i].msg_len = ret;
-    }
-  return 1;
-}
-#endif
-
+#ifdef __NR_sendmmsg
 int
 __sendmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen, int flags)
 {
-#if __WORDSIZE == 64
-  return send_mmsghdr (fd, vmessages, vlen, flags);
-#elif defined __NR_sendmmsg
   return SYSCALL_CANCEL (sendmmsg, fd, vmessages, vlen, flags);
+}
+libc_hidden_def (__sendmmsg)
+weak_alias (__sendmmsg, sendmmsg)
 #elif defined __NR_socketcall
+# include <socketcall.h>
 # ifdef __ASSUME_SENDMMSG_SOCKETCALL
+int
+__sendmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen, int flags)
+{
   return SOCKETCALL_CANCEL (sendmmsg, fd, vmessages, vlen, flags);
+}
 # else
-  static int have_sendmmsg;
+static int have_sendmmsg;
+
+int
+__sendmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen, int flags)
+{
   if (__glibc_likely (have_sendmmsg >= 0))
     {
-#  if __WORDSIZE == 64
-      int ret = send_mmsghdr (fd, vmessages, vlen, flags);
-#  else
       int ret = SOCKETCALL_CANCEL (sendmmsg, fd, vmessages, vlen, flags);
-#  endif
       /* The kernel returns -EINVAL for unknown socket operations.
         We need to convert that error to an ENOSYS error.  */
       if (__builtin_expect (ret < 0, 0)
@@ -104,20 +84,10 @@ __sendmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen, int flags)
     }
   __set_errno (ENOSYS);
   return -1;
-# endif /* __ASSUME_SENDMMSG_SOCKETCALL  */
-#else /* defined __NR_socketcall  */
-# define STUB 1
-  __set_errno (ENOSYS);
-  return -1;
-#endif
 }
-#ifdef STUB
-stub_warning (sendmmsg)
-#endif
-
+# endif /* __ASSUME_SENDMMSG_SOCKETCALL  */
 libc_hidden_def (__sendmmsg)
-#if __WORDSIZE == 64
-versioned_symbol (libc, __sendmmsg, sendmmsg, GLIBC_2_24);
-#else
 weak_alias (__sendmmsg, sendmmsg)
+#else
+# include <socket/sendmmsg.c>
 #endif
index a5ef238c4a2e2c18638b26b50b1381b66badb35e..e10ab60ec34fd0465fca9b0820b3c4c155144186 100644 (file)
@@ -1,4 +1,5 @@
-/* Copyright (C) 2015-2016 Free Software Foundation, Inc.
+/* Compatibility implementation of sendmsg.
+   Copyright (C) 2016 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
 ssize_t
 __libc_sendmsg (int fd, const struct msghdr *msg, int flags)
 {
-  /* POSIX specifies that both msghdr::msg_iovlen and msghdr::msg_controllen
-     to be int and socklen_t respectively.  However Linux defines it as
-     both size_t.  So for 64-bit it requires some adjustments by copying to
-     temporary header and zeroing the pad fields.  */
-#if __WORDSIZE == 64
-  struct msghdr hdr;
-  if (msg != NULL)
-    {
-      hdr = *msg;
-      hdr.__glibc_reserved1 = 0;
-      hdr.__glibc_reserved2 = 0;
-      msg = &hdr;
-    }
-#endif
-
-#ifdef __ASSUME_SENDMSG_SYSCALL
+# ifdef __ASSUME_SENDMSG_SYSCALL
   return SYSCALL_CANCEL (sendmsg, fd, msg, flags);
-#else
+# else
   return SOCKETCALL_CANCEL (sendmsg, fd, msg, flags);
-#endif
+# endif
 }
+weak_alias (__libc_sendmsg, sendmsg)
 weak_alias (__libc_sendmsg, __sendmsg)
-versioned_symbol (libc, __libc_sendmsg, sendmsg, GLIBC_2_24);
index ae5a00e640fd1d48477d953c81d0538c615712c8..e0938c4165888a300dfac51f415944b13521009e 100644 (file)
@@ -30,7 +30,4 @@ libc {
   GLIBC_2.16 {
     fanotify_mark;
   }
-  GLIBC_2.24 {
-    recvmsg; sendmsg;
-  }
 }
index fb58c06b3d8e5348db0d123acc32e9f152e2eb98..01ca9e65ba650aee02f8e5ee7413547e5e9535f1 100644 (file)
@@ -1858,8 +1858,6 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmsg F
 GLIBC_2.3 GLIBC_2.3 A
 GLIBC_2.3 __ctype_b_loc F
 GLIBC_2.3 __ctype_tolower_loc F
index adbdec508a709c36d84112f2b6be054fb638e90b..4dc1cd720b23f523ed9277475fab4935bdcaf2c3 100644 (file)
@@ -29,9 +29,6 @@ libc {
 
     __getshmlba;
   }
-  GLIBC_2.24 {
-    recvmsg; sendmsg;
-  }
 }
 
 libpthread {
index 01260e253b871620783ec3c6d3c258468dd14471..245c1c6d2219393fd346f74ed32f8582461f2e33 100644 (file)
@@ -1964,8 +1964,6 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmsg F
 GLIBC_2.3 GLIBC_2.3 A
 GLIBC_2.3 __ctype_b_loc F
 GLIBC_2.3 __ctype_tolower_loc F
index f950070b4d8cda468c47ebf37386abf5dbce1973..fbea1bb2efd06bf7c25cc75a74ed9c3423528047 100644 (file)
@@ -8,9 +8,6 @@ libc {
     # w*
     wordexp;
   }
-  GLIBC_2.24 {
-    recvmsg; sendmsg;
-  }
 }
 
 librt {
index 8884d4e4b7a2b59dc770c2202e191b32a53fcb50..4478d137103120110805e8e1a918bd3b782d246b 100644 (file)
@@ -1902,10 +1902,6 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmmsg F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmmsg F
-GLIBC_2.24 sendmsg F
 GLIBC_2.3 GLIBC_2.3 A
 GLIBC_2.3 __ctype_b_loc F
 GLIBC_2.3 __ctype_tolower_loc F
index a68e181940f24ae89f56ba49404f3a033dd9c4d1..13da68fa791535f5a9b5a8f21bf0bde348de0fd2 100644 (file)
@@ -11,9 +11,6 @@ libc {
     fallocate64;
     set_dataplane;
   }
-  GLIBC_2.24 {
-    recvmsg; sendmsg;
-  }
   GLIBC_PRIVATE {
     __syscall_error;
     __vdso_clock_gettime;
index 81eea084405f17f60745acf5be483668417a8f53..c1a261341850b6d8c39d16e5e7a9929a60567e5f 100644 (file)
@@ -2096,5 +2096,3 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmsg F
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/Versions b/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/Versions
deleted file mode 100644 (file)
index 517d79a..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-libc {
-  GLIBC_2.24 {
-    recvmsg; sendmsg;
-  }
-}
index 9ce9b57b28e47474db6e7eae8056036ffba4610b..35fbf8a9040e858d86fa626dca4c897a3bc7e290 100644 (file)
@@ -2096,7 +2096,3 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmmsg F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmmsg F
-GLIBC_2.24 sendmsg F
index 81eea084405f17f60745acf5be483668417a8f53..c1a261341850b6d8c39d16e5e7a9929a60567e5f 100644 (file)
@@ -2096,5 +2096,3 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmsg F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/Versions b/sysdeps/unix/sysv/linux/x86_64/64/Versions
deleted file mode 100644 (file)
index 517d79a..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-libc {
-  GLIBC_2.24 {
-    recvmsg; sendmsg;
-  }
-}
index 03549b17dfed77bc660bde7601891dd7f4fc8721..c1054ce9d26154b4d45c7ae6bdebc0ba690bc669 100644 (file)
@@ -1853,10 +1853,6 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmmsg F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmmsg F
-GLIBC_2.24 sendmsg F
 GLIBC_2.3 GLIBC_2.3 A
 GLIBC_2.3 __ctype_b_loc F
 GLIBC_2.3 __ctype_tolower_loc F
index bbef7e08e53ec0b0a912e86cf5afb06aade0dfef..2a7ed280fd707cdf2514fed921c673fafe8a9d0a 100644 (file)
@@ -6,9 +6,6 @@ libc {
 
     modify_ldt;
   }
-  GLIBC_2.24 {
-    recvmsg; sendmsg;
-  }
 }
 
 librt {
index 86dab3ff0149213a2dd2c6dda62384f34afa456f..2fd6d60d3887bb8776f573a422c49d60590d5a90 100644 (file)
@@ -2096,5 +2096,3 @@ GLIBC_2.23 fts64_read F
 GLIBC_2.23 fts64_set F
 GLIBC_2.24 GLIBC_2.24 A
 GLIBC_2.24 quick_exit F
-GLIBC_2.24 recvmsg F
-GLIBC_2.24 sendmsg F