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

Reply via email to