On Sun, Jan 23, 2022 at 4:58 AM Vitaly Zaitsev via devel < devel@lists.fedoraproject.org> wrote:
> On 22/01/2022 17:22, Jakub Jelinek wrote: > > The long double change is an ABI change, so this is kind of expected. > > abidiff automatic test found no ABI changes between 8.0 and 8.1. I think you might be missing the point. The long double format changed (on ppc64le only?) between gcc-11 and gcc-12. Compiling something that uses fmt (e.g. ceph) with gcc-12 now produces references (calls) to: int fmt::v8::detail::format_float<__ieee128>(__ieee128, int, fmt::v8::detail::float_specs, fmt::v8::detail::buffer<char>&) and int fmt::v8::detail::snprintf_float<__ieee128>(__ieee128, int, fmt::v8::detail::float_specs, fmt::v8::detail::buffer<char>&) Those functions are not in the libfmt.so that was last successfully built with gcc-11. That's because when fmt was compiled with gcc-11, the symbols were: int fmt::v8::detail::format_float<__float128>(__float128, int, fmt::v8::detail::float_specs, fmt::v8::detail::buffer<char>&) and int fmt::v8::detail::snprintf_float<__float128>(__float128, int, fmt::v8::detail::float_specs, fmt::v8::detail::buffer<char>&) That is an ABI change, no matter what abidiff might be telling you. (It's a change we knew was coming though.) And going forward, anything (e.g. ceph) compiled with gcc-11 is not going to work with fmt and libfmt.so compiled with gcc-12 because of the ABI change. If you already understood all this then I apologize for telling you something you already know. ;-) Regards -- Kaleb
_______________________________________________ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure