This is the mail archive of the glibc-bugs@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]

[Bug libc/16611] Inaccurate assumptions about sendmmsg availability


http://sourceware.org/bugzilla/show_bug.cgi?id=16611

--- Comment #1 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
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  bc688c10296cb416c082e44aa8bf881505aec64a (commit)
      from  0e31b18ca280c6056d41d0235b85d6890367ff46 (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 -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=bc688c10296cb416c082e44aa8bf881505aec64a

commit bc688c10296cb416c082e44aa8bf881505aec64a
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Thu Feb 20 17:55:35 2014 +0000

    Fix __ASSUME_SENDMMSG issues (bug 16611).

    Similar to the issues for accept4 and recvmmsg, __ASSUME_SENDMMSG is
    also confused about whether it relates to function availability or
    socketcall operation availability, and the conditions for the
    definition are always wrong (sendmmsg appeared in Linux kernel 3.0,
    not 2.6.39); this is now bug 16611.

    This patch splits the macro into separate macros like those for
    accept4 and recvmmsg, defining them for appropriate kernel versions.

    Tested x86_64, including that disassembly of the installed shared
    libraries is unchanged by this patch.

        [BZ #16611]
        * sysdeps/unix/sysv/linux/kernel-features.h
        [__LINUX_KERNEL_VERSION >= 0x030000 && __ASSUME_SOCKETCALL]
        (__ASSUME_SENDMMSG_SOCKETCALL): Define.
        [__LINUX_KERNEL_VERSION >= 0x030000 && (__i386__ || __x86_64__ ||
        __powerpc__ || __sh__ || __sparc__)] (__ASSUME_SENDMMSG_SYSCALL):
        Likewise.
        [__i386__ || __powerpc__ || __sh__ || __sparc__]
        (__ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL): Likewise.
        [__ASSUME_SENDMMSG_SOCKETCALL || __ASSUME_SENDMMSG_SYSCALL]
        (__ASSUME_SENDMMSG): Define instead of using previous
        [__LINUX_KERNEL_VERSION >= 0x020627] condition.
        * sysdeps/unix/sysv/linux/aarch64/kernel-features.h
        (__ASSUME_SENDMMSG_SYSCALL): Define.
        * sysdeps/unix/sysv/linux/alpha/kernel-features.h
        [__LINUX_KERNEL_VERSION >= 0x030200] (__ASSUME_SENDMMSG_SYSCALL):
        Likewise.
        * sysdeps/unix/sysv/linux/arm/kernel-features.h
        [__LINUX_KERNEL_VERSION >= 0x030000] (__ASSUME_SENDMMSG_SYSCALL):
        Likewise.
        * sysdeps/unix/sysv/linux/ia64/kernel-features.h
        [__LINUX_KERNEL_VERSION >= 0x030000] (__ASSUME_SENDMMSG_SYSCALL):
        Likewise.
        * sysdeps/unix/sysv/linux/internal_sendmmsg.S [__ASSUME_SOCKETCALL
        && !__ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL &&
        !__ASSUME_SENDMMSG_SYSCALL] (__NR_sendmmsg): Undefine.
        [__ASSUME_SENDMMSG]: Change conditionals to
        [__ASSUME_SENDMMSG_SOCKETCALL].
        * sysdeps/unix/sysv/linux/microblaze/kernel-features.h
        [__LINUX_KERNEL_VERSION >= 0x030300] (__ASSUME_SENDMMSG_SYSCALL):
        Define.
        * sysdeps/unix/sysv/linux/mips/kernel-features.h
        [__LINUX_KERNEL_VERSION >= 0x030100] (__ASSUME_SENDMMSG_SYSCALL):
        Likewise.
        * sysdeps/unix/sysv/linux/sendmmsg.c [__ASSUME_SOCKETCALL &&
        !__ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL &&
        !__ASSUME_SENDMMSG_SYSCALL] (__NR_sendmmsg): Undefine.
        [!__ASSUME_SENDMMSG]: Change conditional to
        [!__ASSUME_SENDMMSG_SOCKETCALL].
        * sysdeps/unix/sysv/linux/tile/kernel-features.h
        [__LINUX_KERNEL_VERSION >= 0x030000] (__ASSUME_SENDMMSG_SYSCALL):
        Define.

        * sysdeps/unix/sysv/linux/hppa/kernel-features.h
        [__LINUX_KERNEL_VERSION >= 0x030100] (__ASSUME_SENDMMSG_SYSCALL):
        Define.

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

Summary of changes:
 ChangeLog                                          |   43 ++++++++++++++++++++
 NEWS                                               |    2 +-
 ports/ChangeLog.hppa                               |    5 ++
 .../sysdeps/unix/sysv/linux/hppa/kernel-features.h |    5 ++
 sysdeps/unix/sysv/linux/aarch64/kernel-features.h  |    1 +
 sysdeps/unix/sysv/linux/alpha/kernel-features.h    |    3 +-
 sysdeps/unix/sysv/linux/arm/kernel-features.h      |    5 ++
 sysdeps/unix/sysv/linux/ia64/kernel-features.h     |    5 ++
 sysdeps/unix/sysv/linux/internal_sendmmsg.S        |   14 +++++-
 sysdeps/unix/sysv/linux/kernel-features.h          |   21 +++++++++-
 .../unix/sysv/linux/microblaze/kernel-features.h   |    5 ++
 sysdeps/unix/sysv/linux/mips/kernel-features.h     |    5 ++
 sysdeps/unix/sysv/linux/sendmmsg.c                 |   13 +++++-
 sysdeps/unix/sysv/linux/tile/kernel-features.h     |    5 ++
 14 files changed, 124 insertions(+), 8 deletions(-)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


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