From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 9E43F3858409; Tue, 7 Dec 2021 22:54:23 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9E43F3858409 From: "woodard at redhat dot com" To: libabigail@sourceware.org Subject: [Bug default/28669] New: increment library versions before tagging releases Date: Tue, 07 Dec 2021 22:54:23 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: libabigail X-Bugzilla-Component: default X-Bugzilla-Version: unspecified X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: woodard at redhat dot com X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: dodji at redhat dot com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter cc target_milestone attachments.created Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: libabigail@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Mailing list of the Libabigail project List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Dec 2021 22:54:23 -0000 https://sourceware.org/bugzilla/show_bug.cgi?id=3D28669 Bug ID: 28669 Summary: increment library versions before tagging releases Product: libabigail Version: unspecified Status: NEW Severity: normal Priority: P2 Component: default Assignee: dodji at redhat dot com Reporter: woodard at redhat dot com CC: libabigail at sourceware dot org Target Milestone: --- Created attachment 13830 --> https://sourceware.org/bugzilla/attachment.cgi?id=3D13830&action=3Ded= it compressed list of abi differences for tagged releases. Even though you use the pimpl idiom the library versions should increase according to because the interface of libabigail is changing. https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info= .html This confuses some of our tooling which actually looks for cases where libr= ary interfaces change but the library soname does not. Of all packages, libabig= ail should be aware of its own API/ABI changes and recognize how not updating t= he library version can disable some of the few checks that ld.so does provide. For example from the tag libabigail-2.0 to the current trunk the difference= is: $ g5/bin/abidiff libabigail-2.0/lib/libabigail.so.0.0.0 g5/lib/libabigail.so.0.0.0=20 Functions changes summary: 15 Removed (12 filtered out), 4 Changed (164 filtered out), 21 Added (3 filtered out) functions Variables changes summary: 0 Removed, 0 Changed, 0 Added variable 15 Removed functions: [D] 'function abigail::dwarf_reader::status abigail::dwarf_reader::operator&(abigail::dwarf_reader::status, abigail::dwarf_reader::status)'=20=20=20 {_ZN7abigail12dwarf_readeranENS0_6statusES1_} [D] 'function abigail::dwarf_reader::status& abigail::dwarf_reader::operator&=3D(abigail::dwarf_reader::status&, abigail::dwarf_reader::status)'=20=20=20 {_ZN7abigail12dwarf_readeraNERNS0_6statusES1_} [D] 'function abigail::dwarf_reader::status abigail::dwarf_reader::operator|(abigail::dwarf_reader::status, abigail::dwarf_reader::status)'=20=20=20 {_ZN7abigail12dwarf_readerorENS0_6statusES1_} [D] 'function abigail::dwarf_reader::status& abigail::dwarf_reader::operator|=3D(abigail::dwarf_reader::status&, abigail::dwarf_reader::status)'=20=20=20 {_ZN7abigail12dwarf_readeroRERNS0_6statusES1_} [D] 'function abigail::ir::corpus_sptr abigail::dwarf_reader::read_and_add_corpus_to_group_from_elf(abigail::dwarf= _reader::read_context&, abigail::ir::corpus_group&, abigail::dwarf_reader::status&)'=20=20=20 {_ZN7abigail12dwarf_reader37read_and_add_corpus_to_group_from_elfERNS0_12re= ad_contextERNS_2ir12corpus_groupERNS0_6statusE} [D] 'function abigail::ir::corpus_sptr abigail::dwarf_reader::read_corpus_from_elf(abigail::dwarf_reader::read_con= text&, abigail::dwarf_reader::status&)'=20=20=20 {_ZN7abigail12dwarf_reader20read_corpus_from_elfERNS0_12read_contextERNS0_6= statusE} [D] 'function abigail::ir::corpus_sptr abigail::dwarf_reader::read_corpus_from_elf(const std::string&, const std::vector >&, abigail::ir::environment*, b= ool, abigail::dwarf_reader::status&)'=20=20=20 {_ZN7abigail12dwarf_reader20read_corpus_from_elfERKNSt7__cxx1112basic_strin= gIcSt11char_traitsIcESaIcEEERKSt6vectorIPPcSaISB_EEPNS_2ir11environmentEbRN= S0_6statusE} [D] 'function std::string abigail::dwarf_reader::status_to_diagnostic_string(abigail::dwarf_reader::s= tatus)' {_ZN7abigail12dwarf_reader27status_to_diagnostic_stringB5cxx11ENS0_6stat= usE} [D] 'function abigail::ir::type_base_sptr abigail::ir::look_through_no_op_qualified_type(const abigail::ir::type_base_sptr&)'=20=20=20 {_ZN7abigail2ir33look_through_no_op_qualified_typeERKSt10shared_ptrINS0_9ty= pe_baseEE} [D] 'method bool abigail::suppr::type_suppression::insertion_range::eval_boundary(abigail::i= r::class_decl_sptr, ssize_t&)'=20=20=20 {_ZN7abigail5suppr16type_suppression15insertion_range13eval_boundaryESt10sh= ared_ptrINS2_8boundaryEES3_INS_2ir10class_declEERl} [D] 'method abigail::suppr::type_suppression::insertion_range::integer_boundary::intege= r_boundary(int)' {_ZN7abigail5suppr16type_suppression15insertion_range16integer_boundaryC= 2Ei, aliases _ZN7abigail5suppr16type_suppression15insertion_range16integer_boundaryC1Ei} [D] 'method int abigail::suppr::type_suppression::insertion_range::integer_boundary::operat= or int() const'=20=20=20 {_ZNK7abigail5suppr16type_suppression15insertion_range16integer_boundarycvi= Ev} [D] 'method abigail::suppr::type_suppression::insertion_range::integer_boundary::priv::= priv(int)' =20=20 {_ZN7abigail5suppr16type_suppression15insertion_range16integer_boundary4pri= vC2Ei, aliases _ZN7abigail5suppr16type_suppression15insertion_range16integer_boundary4priv= C1Ei} [D] 'method bool abigail::xml_writer::write_context::decl_name_is_emitted(const abigail::interned_string&) const'=20=20=20 {_ZNK7abigail10xml_writer13write_context20decl_name_is_emittedERKNS_15inter= ned_stringE} [D] 'method void abigail::xml_writer::write_context::record_decl_as_emitted(const abigail::ir::decl_base_sptr&) const'=20=20=20 {_ZNK7abigail10xml_writer13write_context22record_decl_as_emittedERKSt10shar= ed_ptrINS_2ir9decl_baseEE} 21 Added functions: [A] 'function void abigail::abigail_get_abixml_version(std::string&, std::string&)' {abigail_get_abixml_version} [A] 'function abigail::ir::corpus_sptr abigail::dwarf_reader::read_and_add_corpus_to_group_from_elf(abigail::dwarf= _reader::read_context&, abigail::ir::corpus_group&, abigail::elf_reader::status&)'=20=20=20 {_ZN7abigail12dwarf_reader37read_and_add_corpus_to_group_from_elfERNS0_12re= ad_contextERNS_2ir12corpus_groupERNS_10elf_reader6statusE} [A] 'function abigail::ir::corpus_sptr abigail::dwarf_reader::read_corpus_from_elf(abigail::dwarf_reader::read_con= text&, abigail::elf_reader::status&)'=20=20=20 {_ZN7abigail12dwarf_reader20read_corpus_from_elfERNS0_12read_contextERNS_10= elf_reader6statusE} [A] 'function abigail::ir::corpus_sptr abigail::dwarf_reader::read_corpus_from_elf(const std::string&, const std::vector >&, abigail::ir::environment*, b= ool, abigail::elf_reader::status&)'=20=20=20 {_ZN7abigail12dwarf_reader20read_corpus_from_elfERKNSt7__cxx1112basic_strin= gIcSt11char_traitsIcESaIcEEERKSt6vectorIPPcSaISB_EEPNS_2ir11environmentEbRN= S_10elf_reader6statusE} [A] 'function abigail::elf_reader::status abigail::elf_reader::operator&(abigail::elf_reader::status, abigail::elf_reader::status)' {_ZN7abigail10elf_readeranENS0_6statusES1_} [A] 'function abigail::elf_reader::status& abigail::elf_reader::operator&=3D(abigail::elf_reader::status&, abigail::elf_reader::status)' {_ZN7abigail10elf_readeraNERNS0_6statusES1= _} [A] 'function abigail::elf_reader::status abigail::elf_reader::operator|(abigail::elf_reader::status, abigail::elf_reader::status)' {_ZN7abigail10elf_readerorENS0_6statusES1_} [A] 'function abigail::elf_reader::status& abigail::elf_reader::operator|=3D(abigail::elf_reader::status&, abigail::elf_reader::status)' {_ZN7abigail10elf_readeroRERNS0_6statusES1= _} [A] 'function std::string abigail::elf_reader::status_to_diagnostic_string(abigail::elf_reader::statu= s)'=20 {_ZN7abigail10elf_reader27status_to_diagnostic_stringB5cxx11ENS0_6statusE} [A] 'function abigail::ir::var_decl_sptr abigail::ir::get_last_data_member(const abigail::ir::class_or_union_sptr&)'= =20=20=20 {_ZN7abigail2ir20get_last_data_memberERKSt10shared_ptrINS0_14class_or_union= EE} [A] 'function bool abigail::ir::get_next_data_member_offset(const abigail::ir::class_or_union_sptr&, const abigail::ir::var_decl_sptr&, uint64_t&)'=20=20=20 {_ZN7abigail2ir27get_next_data_member_offsetERKSt10shared_ptrINS0_14class_o= r_unionEERKS1_INS0_8var_declEERm} [A] 'function bool abigail::ir::is_non_canonicalized_type(const abigail::ir::type_base*)'=20=20=20 {_ZN7abigail2ir25is_non_canonicalized_typeEPKNS0_9type_baseE} [A] 'function bool abigail::ir::is_non_canonicalized_type(const abigail::ir::type_base_sptr&)'=20=20=20 {_ZN7abigail2ir25is_non_canonicalized_typeERKSt10shared_ptrINS0_9type_baseE= E} [A] 'function abigail::ir::decl_base_sptr abigail::ir::strip_useless_const_qualification(const abigail::ir::qualified_type_def_sptr)'=20=20=20 {_ZN7abigail2ir33strip_useless_const_qualificationESt10shared_ptrINS0_18qua= lified_type_defEE} [A] 'method bool abigail::suppr::type_suppression::insertion_range::boundary_value_is_end()'= =20=20=20 {_ZN7abigail5suppr16type_suppression15insertion_range21boundary_value_is_en= dEm} [A] 'method bool abigail::suppr::type_suppression::insertion_range::eval_boundary(abigail::i= r::class_decl_sptr, uint64_t&)'=20=20=20 {_ZN7abigail5suppr16type_suppression15insertion_range13eval_boundaryESt10sh= ared_ptrINS2_8boundaryEES3_INS_2ir10class_declEERm} [A] 'method abigail::suppr::type_suppression::insertion_range::integer_boundary::intege= r_boundary(uint64_t)' {_ZN7abigail5suppr16type_suppression15insertion_range16integer_boundaryC= 2Em, aliases _ZN7abigail5suppr16type_suppression15insertion_range16integer_boundaryC1Em} [A] 'method uint64_t abigail::suppr::type_suppression::insertion_range::integer_boundary::operat= or uint64_t() const'=20=20=20 {_ZNK7abigail5suppr16type_suppression15insertion_range16integer_boundarycvm= Ev} [A] 'method abigail::suppr::type_suppression::insertion_range::integer_boundary::priv::= priv(uint64_t)' =20=20 {_ZN7abigail5suppr16type_suppression15insertion_range16integer_boundary4pri= vC2Em, aliases _ZN7abigail5suppr16type_suppression15insertion_range16integer_boundary4priv= C1Em} [A] 'function std::string abigail::tools_utils::get_abixml_version_string= ()'=20 {_ZN7abigail11tools_utils25get_abixml_version_stringB5cxx11Ev} [A] 'method void abigail::xml_writer::write_context::record_decl_as_emitted(const abigail::ir::decl_base_sptr&)'=20=20=20 {_ZN7abigail10xml_writer13write_context22record_decl_as_emittedERKSt10share= d_ptrINS_2ir9decl_baseEE} 4 functions with some indirect sub-type change: [C] 'method abigail::ir::corpus::origin abigail::ir::corpus::get_origin() const' at abg-corpus.cc:855:1 has some indirect sub-type changes: return type changed: type size hasn't changed 1 enumerator insertion: 'abigail::ir::corpus::origin::CTF_ORIGIN' value '3' 1 enumerator change: 'abigail::ir::corpus::origin::LINUX_KERNEL_BINARY_ORIGIN' from value '3' to '4' at abg-corpus.h:44:1 [C] 'method void abigail::ir::corpus::set_origin(abigail::ir::corpus::origin)' at abg-corpus.cc:862:1 has some indirect sub-type changes: parameter 1 of type 'enum abigail::ir::corpus::origin' has sub-type changes: enum type 'enum abigail::ir::corpus::origin' changed at abg-corpus.h:44:1, as reported earlier [C] 'method int abigail::suppr::type_suppression::insertion_range::integer_boundary::as_int= eger() const' at abg-suppression.cc:1470:1 has some indirect sub-type changes: return type changed: entity changed from 'int' to compatible type 'typedef uint64_t' at stdint-uintn.h:27:1 type name changed from 'int' to 'unsigned long int' type size changed from 32 to 64 (in bits) [C] 'function void abigail::xml_writer::set_annotate(abigail::xml_writer::write_context&, bool= )' at abg-writer.cc:2098:1 has some indirect sub-type changes: parameter 1 of type 'abigail::xml_writer::write_context&' has sub-type changes: in referenced type 'class abigail::xml_writer::write_context' at abg-writer.cc:143:1: type size hasn't changed 1 data member change: name of 'abigail::xml_writer::write_context::m_emitted_decls_map' changed to 'abigail::xml_writer::write_context::m_emitted_decls_set' at abg-writer.cc:171:1 This has not just this particular release every tagged release since 1.0 has had ABI changes. libabigail-1.0_to_libabigail-1.1.abidiff Functions changes summary: 3 Removed, 0 Changed, 12 Added (1 filtered out) functions Variables changes summary: 0 Removed, 0 Changed, 0 Added variable libabigail-1.1_to_libabigail-1.2.abidiff Functions changes summary: 5 Removed, 1 Changed (150 filtered out), 24 Adde= d (6 filtered out) functions Variables changes summary: 0 Removed, 0 Changed, 0 Added variable Function symbols changes summary: 0 Removed, 18 Added function symbols not referenced by debug info Variable symbols changes summary: 0 Removed, 4 Added variable symbols not referenced by debug info libabigail-1.2_to_libabigail-1.3.abidiff Functions changes summary: 2 Removed, 7 Changed (295 filtered out), 48 Added (54 filtered out) functions Variables changes summary: 0 Removed, 0 Changed, 0 Added variable Function symbols changes summary: 0 Removed, 1 Added function symbol not referenced by debug info Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referenced by debug info libabigail-1.3_to_libabigail-1.4.abidiff Functions changes summary: 0 Removed, 24 Changed (357 filtered out), 19 Add= ed functions Variables changes summary: 0 Removed, 0 Changed, 0 Added variable libabigail-1.4_to_libabigail-1.5.abidiff Functions changes summary: 0 Removed, 5 Changed (684 filtered out), 14 Added (11 filtered out) functions Variables changes summary: 1 Removed, 0 Changed, 0 Added variable Function symbols changes summary: 0 Removed, 11 Added function symbols not referenced by debug info Variable symbols changes summary: 0 Removed, 5 Added variable symbols not referenced by debug info libabigail-1.5_to_libabigail-1.6.abidiff Functions changes summary: 18 Removed, 9 Changed (580 filtered out), 50 Add= ed (111 filtered out) functions Variables changes summary: 0 Removed, 0 Changed, 0 Added variable Function symbols changes summary: 2 Removed, 2 Added function symbols not referenced by debug info Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referenced by debug info libabigail-1.6_to_libabigail-1.7.abidiff Functions changes summary: 635 Removed (6515 filtered out), 377 Changed (10= 61 filtered out), 807 Added (8698 filtered out) functions Variables changes summary: 0 Removed, 0 Changed, 1 Added variable Function symbols changes summary: 1673 Removed, 1207 Added function symbols= not referenced by debug info Variable symbols changes summary: 674 Removed, 408 Added variable symbols n= ot referenced by debug info libabigail-1.7_to_libabigail-1.8.abidiff Functions changes summary: 55 Removed (278 filtered out), 184 Changed (1679 filtered out), 126 Added (637 filtered out) functions Variables changes summary: 0 Removed, 0 Changed, 0 Added variable Function symbols changes summary: 59 Removed, 85 Added function symbols not referenced by debug info Variable symbols changes summary: 0 Removed, 11 Added variable symbols not referenced by debug info libabigail-1.8.1_to_libabigail-1.8.2.abidiff Functions changes summary: 5 Removed (41 filtered out), 3 Changed (1209 filtered out), 35 Added (601 filtered out) functions Variables changes summary: 0 Removed, 0 Changed, 11 Added variables Function symbols changes summary: 0 Removed, 4 Added function symbols not referenced by debug info Variable symbols changes summary: 1 Removed, 1 Added variable symbols not referenced by debug info libabigail-1.8.2_to_libabigail-2.0.abidiff Functions changes summary: 95 Removed (1155 filtered out), 61 Changed (2209 filtered out), 122 Added (2563 filtered out) functions Variables changes summary: 0 Removed, 0 Changed, 0 Added variable Function symbols changes summary: 422 Removed, 197 Added function symbols n= ot referenced by debug info Variable symbols changes summary: 249 Removed, 5 Added variable symbols not referenced by debug info libabigail-1.8_to_libabigail-1.8.1.abidiff Functions changes summary: 0 Removed (31 filtered out), 0 Changed (7 filter= ed out), 3 Added (38 filtered out) functions Variables changes summary: 0 Removed, 0 Changed, 0 Added variable Function symbols changes summary: 2 Removed, 0 Added function symbols not referenced by debug info Variable symbols changes summary: 0 Removed, 3 Added variable symbols not referenced by debug info libabigail-2.0_to_master.abidiff Functions changes summary: 15 Removed (12 filtered out), 4 Changed (164 filtered out), 21 Added (3 filtered out) functions Variables changes summary: 0 Removed, 0 Changed, 0 Added variable --=20 You are receiving this mail because: You are on the CC list for the bug.=