This is the mail archive of the libc-alpha@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] |
On 03/28/2016 04:33 PM, Adhemerval Zanella wrote:
This patchset fixes BZ#16919, recvmsg standard compliance, where Linux and POSIX differs in the msghdr and mmsghdr internal struct sizes. The issue is POSIX defines [1] both msghdr.msg_namelen, msghdr.controllen, and cmsghdr.cmsg_len as socklen_t, where Linux uses size_t. So for 64-bits architectures where size_t is larger sockelen_t it leads to standard inconsistence. Linux also added recvmmsg and sendmmsg, which uses a composite struct based on msghdr (mmsghdr).
This patchset breaks various network emulation libraries because applications use the new struct msghdr definition, yet dlsym (RTLD_NEXT, "recvmsg") picks the compat implementation.
Is this breakage really worth increased standards compliance? I think we should roll this back before the 2.24 release and simply document the deviation from POSIX.
Florian
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |