https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110077
--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jonathan Wakely <r...@gcc.gnu.org>: https://gcc.gnu.org/g:00da6bcfccbc5ab13821d8dd7334dd48c22d5702 commit r14-1651-g00da6bcfccbc5ab13821d8dd7334dd48c22d5702 Author: Jonathan Wakely <jwak...@redhat.com> Date: Fri Jun 9 11:08:03 2023 +0100 libstdc++: Remove duplicate definition of _Float128 std::from_chars [PR110077] When long double uses IEEE binary128 representation we define the _Float128 overload of std::from_chars inline in <charconv>. My changes in r14-1431-g7037e7b6e4ac41 cause it to also be defined non-inline in the library, leading to an abi-check failure for (at least) sparc and aarch64. Suppress the definition in the library if long double and _Float128 have are both IEEE binary128. libstdc++-v3/ChangeLog: PR libstdc++/110077 * src/c++17/floating_from_chars.cc (from_chars) <_Float128>: Only define if _Float128 and long double have different representations.