[Bug,default/29302] xeres-c doesn't self compare

Message ID bug-29302-9487-RhAiEE0htx@http.sourceware.org/bugzilla/
State New
Headers
Series [Bug,default/29302] xeres-c doesn't self compare |

Commit Message

dichen at redhat dot com July 7, 2022, 4:49 p.m. UTC
  https://sourceware.org/bugzilla/show_bug.cgi?id=29302

--- Comment #3 from Ben Woodard <woodard at redhat dot com> ---
The prototype patch seems to fix the problem with xerces-c,  qt-virt-manager



However it didn't seem to fix the problem with recoll which I would have
classified in the same problem. I'm really not sure if that means that recoll
has a different problem or if the solution is incomplete.

$ fedabipkgdiff --self-compare -a --from fc36 recoll
<snip>
======== comparing'librecoll-1.31.6.so' to itself wrongly yielded result:
===========
  Functions changes summary: 0 Removed, 2 Changed (46 filtered out), 0 Added
functions
  Variables changes summary: 0 Removed, 0 Changed, 0 Added variable

  2 functions with some indirect sub-type change:

    [C] 'method MimeHandlerExec::MimeHandlerExec(RclConfig*, const
std::string&)' at mh_exec.cpp:64:1 has some indirect sub-type changes:
      implicit parameter 0 of type 'MimeHandlerExec*' has sub-type changes:
        in pointed to type 'class MimeHandlerExec' at mh_exec.h:46:1:
          type size hasn't changed
          1 base class change:
            'class RecollFilter' at mimehandler.h:31:1 changed:
              type size hasn't changed
              10 member function insertions:
                'method virtual void RecollFilter::set_docsize(int64_t)' at
mimehandler.h:82:1, virtual at voffset 9/21
                'method virtual bool RecollFilter::set_document_data(const
std::string&, const char*, size_t)' at mimehandler.h:78:1, virtual at voffset
5/21
                'method virtual bool RecollFilter::set_document_file(const
std::string&, const std::string&)' at mimehandler.h:68:1, virtual at voffset
7/21
                'method virtual bool RecollFilter::set_document_string(const
std::string&, const std::string&)' at mimehandler.h:73:1, virtual at voffset
6/21
                'method virtual bool RecollFilter::set_document_uri(const
std::string&, const std::string&)' at mimehandler.h:63:1, virtual at voffset
8/21
                'method virtual bool
RecollFilter::set_property(Dijon::Filter::__anonymous_enum__1, const
std::string&)' at mimehandler.h:44:1, virtual at voffset 4/21
                'method virtual bool RecollFilter::skip_to_document(const
std::string&)' at mimehandler.h:95:1, virtual at voffset 12/21
                'method virtual RecollFilter::~RecollFilter(int)' at
mimehandler.h:36:1
                'method virtual RecollFilter::~RecollFilter(int)' at
mimehandler.h:36:1
                'method virtual RecollFilter::~RecollFilter(int)' at
mimehandler.h:36:1
              8 member function changes (7 filtered):
                'method virtual RecollFilter::~RecollFilter(int)' has some
sub-type changes:
                'method virtual void RecollFilter::setConfig(RclConfig*)' has
some sub-type changes:
                'method virtual bool
RecollFilter::set_property(Dijon::Filter::__anonymous_enum__1, const
std::string&)' has some sub-type changes:
                'method virtual bool RecollFilter::set_document_data(const
std::string&, const char*, size_t)' has some sub-type changes:
                'method virtual bool RecollFilter::set_document_string(const
std::string&, const std::string&)' has some sub-type changes:
                'method virtual void RecollFilter::set_docsize(int64_t)' has
some sub-type changes:
                'method virtual bool RecollFilter::skip_to_document(const
std::string&)' has some sub-type changes:
                'method virtual void RecollFilter::clear()' has some sub-type
changes:
          no member function changes (7 filtered);

    [C] 'method virtual bool MimeHandlerExecMultiple::next_document()' at
mh_execm.cpp:169:1 has some indirect sub-type changes:
      implicit parameter 0 of type 'MimeHandlerExecMultiple*' has sub-type
changes:
        in pointed to type 'class MimeHandlerExecMultiple' at mh_execm.h:98:1:
          type size hasn't changed
          1 base class change:
            'class MimeHandlerExec' at mh_exec.h:46:1 changed:
              details were reported earlier
          2 member function insertions:
            'method virtual
MimeHandlerExecMultiple::~MimeHandlerExecMultiple(int)' at mh_execm.h:109:1
            'method virtual
MimeHandlerExecMultiple::~MimeHandlerExecMultiple(int)' at mh_execm.h:109:1
          no member function changes (5 filtered);

===SELF CHECK FAILED for 'librecoll-1.31.6.so'
==== SELF CHECK SUCCEEDED for 'recoll' ====
==== SELF CHECK SUCCEEDED for 'recollindex' ====
==== SELF CHECK SUCCEEDED for 'recollq' ====

Let me know if you want to close this one and have me file another one or if
you want to address both issues in this one bug report
  

Patch

diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
index 32a2cead..b71e94d7 100644
--- a/src/abg-dwarf-reader.cc
+++ b/src/abg-dwarf-reader.cc
@@ -14987,7 +14987,7 @@  build_function_decl(read_context&       ctxt,
          result->set_symbol(fn_sym);
          string linkage_name = result->get_linkage_name();
          if (linkage_name.empty()
-             || !fn_sym->get_alias_from_name(linkage_name))
+             /*|| !fn_sym->get_alias_from_name(linkage_name)*/)
            result->set_linkage_name(fn_sym->get_name());
          result->set_is_in_public_symbol_table(true);
        }