Second stage of glibc recvmsg/sendmsg ABI revert landed in rawhide

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/13/2016 07:09 AM, Florian Weimer wrote:
glibc upstream, during development of the 2.24 release, introduced new
symbol versions recvmsg@GLIBC_2.24, sendmsg@GLIBC_2.24 (and
recvmmsg@GLIBC_2.24, sendmmsg@GLIBC_2.24 on 64-bit architectures), in
order to fix some minor POSIX compliance issue.  (POSIX and the Linux
kernel disagree about the width of some fields in struct msghdr.)  These
changes landed in rawhide as part of glibc-2.23.90-19.fc25.

This change caused quite a few issues (chrony stopped building, Address
Sanitizer interception of these functions was affected, probably more).
Considering that the deviation from POSIX was really minor, this was
considered a poor trade-off, and the patch and ABI change was eventually
reverted upstream.

We cannot implement the ABI reversal immediately in rawhide because that
would break existing binaries, and we don't want to do a bootstrap or
mass rebuild for this.  Therefore, glibc-2.23.90-21.fc25 turns the new
symbols into compatibility symbols.  As a result, new binaries will be
linked against the old symbol versions, as before, and old binaries
continue to work.
I have removed the compatibility symbols from rawhide, after all the 
necessary rebuilds happened on primary.  I double-checked aarch64, 
ppc64, ppc64le, s390x as well and asked for additional rebuilds where 
appropriate.  (Some packages were built against different glibc versions 
than on primary.)  As a result, except on ppc64/ppc64le, all compat 
symbol references are gone from the build root.  ppc64/ppc64le current 
has unrelated issues and falls farther and farther beyond primary, which 
is why I didn't want to delay the compat removal (and alignment with the 
glibc upstream ABI) until ppc64/ppc64le catches up eventually.  I do not 
expect any problems as long as rebuilds happen roughly in the order they 
happened on primary.
Symptoms of an issue related to the compat symbol removal include error 
messages about undefined GLIBC_2.24 symbols, particularly sendmsg, 
sendmmsg, recvmsg, recvmmsg.  RPM dependencies do not express this 
information because they are not sufficiently fine-grained.
Florian
--
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://lists.fedoraproject.org/admin/lists/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux