Bug 27086 - embedded version of libstdc++ in miniconda3 does not self-compare
Summary: embedded version of libstdc++ in miniconda3 does not self-compare
Status: RESOLVED FIXED
Alias: None
Product: libabigail
Classification: Unclassified
Component: default (show other bugs)
Version: unspecified
: P2 normal
Target Milestone: ---
Assignee: Dodji Seketeli
URL:
Keywords:
Depends on:
Blocks: 27019
  Show dependency treegraph
 
Reported: 2020-12-17 00:03 UTC by Ben Woodard
Modified: 2021-09-23 16:33 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments
compressed reproducer file (4.02 MB, application/x-bzip)
2020-12-17 00:09 UTC, Ben Woodard
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ben Woodard 2020-12-17 00:03:31 UTC
with master as of 9fc16dbc

abidw --abidiff /home/ben/Shared/Work/spack/opt/spack/linux-fedora33-skylake/gcc-10.2.1/miniconda3-4.8.2-oudnbhbtypfh2ozp37mvcmbef4p2gjcv/lib/libstdc++.so.6.0.26

reports hundreds of differences with itself beginning with:

Functions changes summary: 0 Removed, 634 Changed, 0 Added functions
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable

634 functions with some indirect sub-type change:

  [C] 'method void std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >::basic_istringstream(std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >&&)' at sstream:477:1 has some indirect sub-type changes:
    implicit parameter 0 of type 'std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >*' has sub-type changes:
      in pointed to type 'class std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >' at sstream:392:1:
        type size hasn't changed
        1 base class change:
          'class std::basic_istream<char, std::char_traits<char> >' at istream:58:1 changed:
            type size hasn't changed
            2 member function insertions:
              'method virtual std::basic_istream<char, std::char_traits<char> >::~basic_istream()' at istream:103:1, virtual at voffset 0/0
              'method virtual std::basic_istream<char, std::char_traits<char> >::~basic_istream(int, void**)' at istream:103:1
            2 member function changes:
              'method virtual std::basic_istream<char, std::char_traits<char> >::~basic_istream(int, void**)' has some sub-type changes:
                implicit parameter 0 of type 'std::basic_istream<char, std::char_traits<char> >*' has sub-type changes:
                  pointed to type 'class std::basic_istream<char, std::char_traits<char> >' changed, as being reported
              'method virtual std::basic_istream<char, std::char_traits<char> >::~basic_istream()' has some sub-type changes:
                implicit parameter 0 of type 'std::basic_istream<char, std::char_traits<char> >*' has sub-type changes:
                  pointed to type 'class std::basic_istream<char, std::char_traits<char> >' changed, as being reported
        2 member function changes:
          'method virtual std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_istringstream(int, void**)' has some sub-type changes:
            implicit parameter 0 of type 'std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >*' has sub-type changes:
              pointed to type 'class std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >' changed, as being reported
          'method virtual std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_istringstream()' has some sub-type changes:
            implicit parameter 0 of type 'std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >*' has sub-type changes:
              pointed to type 'class std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >' changed, as being reported
    parameter 1 of type 'std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >&&' has sub-type changes:
      referenced type 'class std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >' changed at sstream:392:1, as reported earlier

The origin appears to be:

 'method virtual std::basic_istream<char, std::char_traits<char> >::~basic_istream()' at istream:103:1, virtual at voffset 0/0
 'method virtual std::basic_istream<char, std::char_traits<char> >::~basic_istream(int, void**)' at istream:103:1
Comment 1 Ben Woodard 2020-12-17 00:09:44 UTC
Created attachment 13057 [details]
compressed reproducer file
Comment 2 Ben Woodard 2021-06-08 21:40:07 UTC
continues to happen with: b00ba10e1deae4eae58cb783c01c69f384f392c1
Comment 3 Ben Woodard 2021-09-07 18:36:22 UTC
This appears to continue to be a problem the trunk as of: 190350a35f842574cf15b9a98f1ccbc3aa31a840
Comment 4 Ben Woodard 2021-09-08 15:10:54 UTC
This continues to manifest with trunk as of 7488c8df3bf10750ce059a0ec1d44d8149149c86
Comment 5 Dodji Seketeli 2021-09-23 16:33:40 UTC
This should be fixed by commit https://sourceware.org/git/?p=libabigail.git;a=commit;h=c00add2a211d7d6a380ce5a248accca978975933.

The fix should be available in libabigail 2.0.

Thanks for reporting the issue, and sorry for the inconvenience.