libstdc++.so.6.0.29 from libstdc++-11.1.1-3.fc34.x86_64 fails self check due to what looks like instability in canonicalization. abidw --abidiff just exits with a 1 error code to actually see the problem you must use abidiff --harmless $ abidiff --harmless libstdc++.abixml /usr/lib64/libstdc++.so.6.0.29 Functions changes summary: 0 Removed, 4 Changed, 0 Added functions Variables changes summary: 0 Removed, 0 Changed, 0 Added variable 4 functions with some indirect sub-type change: [C] 'method virtual std::__codecvt_abstract_base<char, char, __mbstate_t>::result std::codecvt<char, char, __mbstate_t>::do_out(std::codecvt<char, char, __mbstate_t>::state_type&, const std::codecvt<char, char, __mbstate_t>::intern_type*, const std::codecvt<char, char, __mbstate_t>::intern_type*, const std::codecvt<char, char, __mbstate_t>::intern_type*&, std::codecvt<char, char, __mbstate_t>::extern_type*, std::codecvt<char, char, __mbstate_t>::extern_type*, std::codecvt<char, char, __mbstate_t>::extern_type*&) const' at codecvt.cc:55:1 has some indirect sub-type changes: Please note that the symbol of this function is _ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4 and it aliases symbol: _ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4 return type changed: entity changed from 'typedef std::__codecvt_abstract_base<char, char, __mbstate_t>::result' to compatible type 'enum std::codecvt_base::result' at codecvt.h:52:1 [C] 'method virtual std::__codecvt_abstract_base<char, char, __mbstate_t>::result std::codecvt<char, char, __mbstate_t>::do_unshift(std::codecvt<char, char, __mbstate_t>::state_type&, std::codecvt<char, char, __mbstate_t>::extern_type*, std::codecvt<char, char, __mbstate_t>::extern_type*, std::codecvt<char, char, __mbstate_t>::extern_type*&) const' at codecvt.cc:70:1 has some indirect sub-type changes: Please note that the symbol of this function is _ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4 and it aliases symbol: _ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4 return type changed: entity changed from 'typedef std::__codecvt_abstract_base<char, char, __mbstate_t>::result' to compatible type 'enum std::codecvt_base::result' at codecvt.h:52:1 [C] 'method virtual std::__codecvt_abstract_base<char16_t, char, __mbstate_t>::result std::codecvt<char16_t, char, __mbstate_t>::do_unshift(std::codecvt<char16_t, char, __mbstate_t>::state_type&, std::codecvt<char16_t, char, __mbstate_t>::extern_type*, std::codecvt<char16_t, char, __mbstate_t>::extern_type*, std::codecvt<char16_t, char, __mbstate_t>::extern_type*&) const' at codecvt.cc:765:1 has some indirect sub-type changes: Please note that the symbol of this function is _ZNKSt7codecvtIDsc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4.21 and it aliases symbols: _ZNKSt19__codecvt_utf8_baseIDsE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21, _ZNKSt20__codecvt_utf16_baseIDsE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21, _ZNKSt7codecvtIDic11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4.21, _ZNKSt25__codecvt_utf8_utf16_baseIwE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21, _ZNKSt19__codecvt_utf8_baseIDiE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21, _ZNKSt20__codecvt_utf16_baseIDiE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21, _ZNKSt25__codecvt_utf8_utf16_baseIDsE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21, _ZNKSt20__codecvt_utf16_baseIwE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21, _ZNKSt25__codecvt_utf8_utf16_baseIDiE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21, _ZNKSt19__codecvt_utf8_baseIwE10do_unshiftER11__mbstate_tPcS3_RS3_@@GLIBCXX_3.4.21 return type changed: entity changed from 'typedef std::__codecvt_abstract_base<char16_t, char, __mbstate_t>::result' to compatible type 'enum std::codecvt_base::result' at codecvt.h:52:1 [C] 'method virtual std::__codecvt_abstract_base<char16_t, char8_t, __mbstate_t>::result std::codecvt<char16_t, char8_t, __mbstate_t>::do_unshift(std::codecvt<char16_t, char8_t, __mbstate_t>::state_type&, std::codecvt<char16_t, char8_t, __mbstate_t>::extern_type*, std::codecvt<char16_t, char8_t, __mbstate_t>::extern_type*, std::codecvt<char16_t, char8_t, __mbstate_t>::extern_type*&) const' at codecvt.cc:914:1 has some indirect sub-type changes: Please note that the symbol of this function is _ZNKSt7codecvtIDsDu11__mbstate_tE10do_unshiftERS0_PDuS3_RS3_@@GLIBCXX_3.4.26 and it aliases symbol: _ZNKSt7codecvtIDiDu11__mbstate_tE10do_unshiftERS0_PDuS3_RS3_@@GLIBCXX_3.4.26 return type changed: entity changed from 'typedef std::__codecvt_abstract_base<char16_t, char8_t, __mbstate_t>::result' to compatible type 'enum std::codecvt_base::result' at codecvt.h:52:1
This is with b00ba10e1deae4eae58cb783c01c69f384f392c1
Yea some progress but not completely fixed with trunk as of 190350a35f842574cf15b9a98f1ccbc3aa31a840 3 problems down, 1 to go: $ abidiff --harmless libstdc++.abixml /usr/lib64/libstdc++.so.6.0.29 Functions changes summary: 0 Removed, 1 Changed, 0 Added function Variables changes summary: 0 Removed, 0 Changed, 0 Added variable 1 function with some indirect sub-type change: [C] 'method virtual std::__codecvt_abstract_base<char16_t, char8_t, __mbstate_t>::result std::codecvt<char16_t, char8_t, __mbstate_t>::do_unshift(std::codecvt<char16_t, char8_t, __mbstate_t>::state_type&, std::codecvt<char16_t, char8_t, __mbstate_t>::extern_type*, std::codecvt<char16_t, char8_t, __mbstate_t>::extern_type*, std::codecvt<char16_t, char8_t, __mbstate_t>::extern_type*&) const' at codecvt.cc:914:1 has some indirect sub-type changes: Please note that the symbol of this function is _ZNKSt7codecvtIDsDu11__mbstate_tE10do_unshiftERS0_PDuS3_RS3_@@GLIBCXX_3.4.26 and it aliases symbol: _ZNKSt7codecvtIDiDu11__mbstate_tE10do_unshiftERS0_PDuS3_RS3_@@GLIBCXX_3.4.26 return type changed: entity changed from 'typedef std::__codecvt_abstract_base<char16_t, char8_t, __mbstate_t>::result' to compatible type 'enum std::codecvt_base::result' at codecvt.h:52:1
With the latest trunk as of 7488c8df3bf10750ce059a0ec1d44d8149149c86 this continues to be a problem.
With the latest trunk as of 1115e3f08e8f30e7e412294a563a78a15d0373c1 this continues to be a problem.
This should be fixed by commit https://sourceware.org/git/?p=libabigail.git;a=commit;h=86a1738d96d0c6e4968be48203175fee0d07a4fc. The fix should be available in libabigail 2.0.