]> sourceware.org Git - libabigail.git/commitdiff
ChangeLog: Update ChangeLog in preparation for 2.6 release
authorDodji Seketeli <dodji@redhat.com>
Fri, 1 Nov 2024 16:37:33 +0000 (17:37 +0100)
committerDodji Seketeli <dodji@redhat.com>
Fri, 1 Nov 2024 16:37:33 +0000 (17:37 +0100)
* ChangeLog: Update with "make update-changelog".

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
ChangeLog

index 9d59c546e7ba18e1b579cb95e445bc9157766fa5..d3da879f1fdf0e5d800f6e6b17dfdcadb85c2772 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+2024-11-01  Dodji Seketeli <dodji@redhat.com>
+
+       configure: Bump LIBABIGAIL_SO_CURRENT version to 5
+       * configure.ac: Set LIBABIGAIL_SO_CURRENT to 5.
+
+2024-10-03  Dodji Seketeli <dodji@redhat.com>
+
+       big-tests: Update to commit cc6747bb859f6a4d7a3e2198d65618aa5d718fc1
+       * big-tests: Update sub-module to commit
+       cc6747bb859f6a4d7a3e2198d65618aa5d718fc1
+
+2024-10-03  Dodji Seketeli <dodji@redhat.com>
+
+       ir: Use canonical types in comparison when --enable-debug-type-canonicalization
+       * src/abg-ir.cc (try_canonical_compare): When
+       --enable-debug-type-canonicalization is activated use canonical
+       types for structural comparison.
+
+2024-10-02  Dodji Seketeli <dodji@redhat.com>
+
+       writer: Fix emitting of some member types within their scope
+       * src/abg-writer.cc (write_decl_in_scope): Detect that emitting a
+       scope type T doesn't emit a particular member type MT that we are
+       looking at.  In that case, the function still needs to emit the
+       tags of the scope of MT and then emit MT even though T was just
+       emitted.
+
+2024-10-01  Dodji Seketeli <dodji@redhat.com>
+
+       hash: Use the faster XXH3 hashing algorithm from xxhash
+       * src/abg-hash.cc (hash): In the overload for uint64_t values, use
+       XXH3_64bits_withSeed instead of XXH64.  In the overload for
+       string, use XXH3_64bits instead of XXH64.
+       * tests/data/test-annotate/PR29443-missing-xx.o.annotated.abi:
+       Adjust.
+       * tests/data/test-annotate/libtest23.so.abi: Likewise.
+       * tests/data/test-annotate/libtest24-drop-fns-2.so.abi: Likewise.
+       * tests/data/test-annotate/libtest24-drop-fns.so.abi: Likewise.
+       * tests/data/test-annotate/test-anonymous-members-0.o.abi:
+       Likewise.
+       * tests/data/test-annotate/test-pointer-to-member-1.o.annotated.abi:
+       Likewise.
+       * tests/data/test-annotate/test0.abi: Likewise.
+       * tests/data/test-annotate/test1.abi: Likewise.
+       * tests/data/test-annotate/test13-pr18894.so.abi: Likewise.
+       * tests/data/test-annotate/test14-pr18893.so.abi: Likewise.
+       * tests/data/test-annotate/test15-pr18892.so.abi: Likewise.
+       * tests/data/test-annotate/test17-pr19027.so.abi: Likewise.
+       * tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test2.so.abi: Likewise.
+       * tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test21-pr19092.so.abi: Likewise.
+       * tests/data/test-annotate/test3.so.abi: Likewise.
+       * tests/data/test-annotate/test4.so.abi: Likewise.
+       * tests/data/test-annotate/test5.o.abi: Likewise.
+       * tests/data/test-annotate/test6.so.abi: Likewise.
+       * tests/data/test-annotate/test7.so.abi: Likewise.
+       * tests/data/test-annotate/test8-qualified-this-pointer.so.abi:
+       Likewise.
+       * tests/data/test-diff-dwarf-abixml/PR25409-librte_bus_dpaa.so.20.0.abi:
+       Likewise.
+       * tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1.abi:
+       Likewise.
+       * tests/data/test-read-btf/test0.o.abi: Likewise.
+       * tests/data/test-read-btf/test1.o.abi: Likewise.
+       * tests/data/test-read-ctf/PR27700/test-PR27700.abi: Likewise.
+       * tests/data/test-read-ctf/test-PR26568-1.o.abi: Likewise.
+       * tests/data/test-read-ctf/test-PR26568-2.o.abi: Likewise.
+       * tests/data/test-read-ctf/test-alias.o.abi: Likewise.
+       * tests/data/test-read-ctf/test-ambiguous-struct-A.o.hash.abi:
+       Likewise.
+       * tests/data/test-read-ctf/test-ambiguous-struct-B.o.hash.abi:
+       Likewise.
+       * tests/data/test-read-ctf/test-anonymous-fields.o.abi: Likewise.
+       * tests/data/test-read-ctf/test-array-mdimension.abi: Likewise.
+       * tests/data/test-read-ctf/test-array-of-pointers.abi: Likewise.
+       * tests/data/test-read-ctf/test-array-size.abi: Likewise.
+       * tests/data/test-read-ctf/test-bitfield-enum.abi: Likewise.
+       * tests/data/test-read-ctf/test-bitfield.abi: Likewise.
+       * tests/data/test-read-ctf/test-callback.abi: Likewise.
+       * tests/data/test-read-ctf/test-callback2.abi: Likewise.
+       * tests/data/test-read-ctf/test-conflicting-type-syms-a.o.hash.abi:
+       Likewise.
+       * tests/data/test-read-ctf/test-conflicting-type-syms-b.o.hash.abi:
+       Likewise.
+       * tests/data/test-read-ctf/test-const-array.abi: Likewise.
+       * tests/data/test-read-ctf/test-dynamic-array.o.abi: Likewise.
+       * tests/data/test-read-ctf/test-enum-many.o.hash.abi: Likewise.
+       * tests/data/test-read-ctf/test-enum-symbol.o.hash.abi: Likewise.
+       * tests/data/test-read-ctf/test-enum.o.abi: Likewise.
+       * tests/data/test-read-ctf/test-fallback.abi: Likewise.
+       * tests/data/test-read-ctf/test-forward-type-decl.abi: Likewise.
+       * tests/data/test-read-ctf/test-functions-declaration.abi:
+       Likewise.
+       * tests/data/test-read-ctf/test-linux-module.abi: Likewise.
+       * tests/data/test-read-ctf/test-list-struct.abi: Likewise.
+       * tests/data/test-read-ctf/test0.abi: Likewise.
+       * tests/data/test-read-ctf/test0.hash.abi: Likewise.
+       * tests/data/test-read-ctf/test1.so.abi: Likewise.
+       * tests/data/test-read-ctf/test1.so.hash.abi: Likewise.
+       * tests/data/test-read-ctf/test2.so.abi: Likewise.
+       * tests/data/test-read-ctf/test2.so.hash.abi: Likewise.
+       * tests/data/test-read-ctf/test3.so.abi: Likewise.
+       * tests/data/test-read-ctf/test3.so.hash.abi: Likewise.
+       * tests/data/test-read-ctf/test4.so.abi: Likewise.
+       * tests/data/test-read-ctf/test4.so.hash.abi: Likewise.
+       * tests/data/test-read-ctf/test5.o.abi: Likewise.
+       * tests/data/test-read-ctf/test7.o.abi: Likewise.
+       * tests/data/test-read-ctf/test8.o.abi: Likewise.
+       * tests/data/test-read-ctf/test9.o.abi: Likewise.
+       * tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise.
+       * tests/data/test-read-dwarf/PR24378-fn-is-not-scope.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Likewise.
+       * tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi:
+       Likewise.è
+       * tests/data/test-read-dwarf/PR26261/PR26261-exe.abi: Likewise.
+       * tests/data/test-read-dwarf/PR27700/test-PR27700.abi: Likewise.
+       * tests/data/test-read-dwarf/PR28584/PR28584-smv.clang.o.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/PR29443-missing-xx.o.abi: Likewise.
+       * tests/data/test-read-dwarf/libtest23.so.abi: Likewise.
+       * tests/data/test-read-dwarf/libtest24-drop-fns-2.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/libtest24-drop-fns.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test-PR26568-1.o.abi: Likewise.
+       * tests/data/test-read-dwarf/test-PR26568-2.o.abi: Likewise.
+       * tests/data/test-read-dwarf/test-fallback.abi: Likewise.
+       * tests/data/test-read-dwarf/test-libaaudio.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test-pointer-to-member-1.o.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test-suppressed-alias.o.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test0.abi: Likewise.
+       * tests/data/test-read-dwarf/test0.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test1.abi: Likewise.
+       * tests/data/test-read-dwarf/test1.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test13-pr18894.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test14-pr18893.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test17-pr19027.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test2.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test2.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test21-pr19092.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test3-alias-1.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test3-alias-2.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test3-alias-3.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test3-alias-4.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test3.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test3.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test4.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test4.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test5.o.abi: Likewise.
+       * tests/data/test-read-dwarf/test5.o.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test6.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test6.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test7.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test7.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test8-qualified-this-pointer.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test8-qualified-this-pointer.so.hash.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise.
+       * tests/data/test-read-write/test25.xml: Likewise.
+       * tests/data/test-read-write/test28-without-std-fns-ref.xml:
+       Likewise.
+       * tests/data/test-read-write/test28-without-std-vars-ref.xml:
+       Likewise.
+
+2024-10-01  Dodji Seketeli <dodji@redhat.com>
+
+       writer: Do not crash on ABI corpora that have no associated path
+       * src/abg-writer.cc (write_context::record_corpus_as_emitted):
+       Allow corpus without path.
+
+2024-10-01  Dodji Seketeli <dodji@redhat.com>
+
+       hash: Implement full recursive hashing of artifacts
+       * include/abg-hash.h (enum hashing_state): Add better comments for
+       the enumerators.
+       (hashing_state::HASHING_SUBTYPE_STATE): Add new enumerator.
+       * src/abg-hash.cc
+       (MAYBE_RETURN_EARLY_FROM_HASHING_TO_AVOID_CYCLES): Consider the
+       new state hashing::HASHING_SUBTYPE_STATE when detecting cycles.
+       ({typedef_decl, qualified_type_def, pointer_type_def,
+       reference_type_def, array_type_def, ptr_to_mbr_type,
+       enum_type_decl, function_type, method_type, class_decl::base_spec,
+       class_or_union, class_decl, union_decl}::hash::operator()): Invoke
+       type_or_decl_base::hash_decl on sub-types to compute their hash.
+       Prior to invoke that hashing function, set the state of the
+       artifact to the new hashing:HASHING_SUBTYPE_STATE so that
+       type_or_decl_base::hash_decl does *not* set the computed hash on
+       the sub-type.
+       * src/abg-ir-priv.h (type_or_decl_base::priv::set_hash_value): An
+       ABI artifact can now be in the hashing::HASHING_SUBTYPE_STATE
+       state.
+       * tests/data/test-annotate/PR29443-missing-xx.o.annotated.abi:
+       Adjust.
+       * tests/data/test-annotate/libtest23.so.abi: Likewise.
+       * tests/data/test-annotate/libtest24-drop-fns-2.so.abi: Likewise.
+       * tests/data/test-annotate/libtest24-drop-fns.so.abi: Likewise.
+       * tests/data/test-annotate/test-anonymous-members-0.o.abi:
+       Likewise.
+       * tests/data/test-annotate/test-pointer-to-member-1.o.annotated.abi:
+       Likewise.
+       * tests/data/test-annotate/test0.abi: Likewise.
+       * tests/data/test-annotate/test1.abi: Likewise.
+       * tests/data/test-annotate/test13-pr18894.so.abi: Likewise.
+       * tests/data/test-annotate/test14-pr18893.so.abi: Likewise.
+       * tests/data/test-annotate/test15-pr18892.so.abi: Likewise.
+       * tests/data/test-annotate/test17-pr19027.so.abi: Likewise.
+       * tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test2.so.abi: Likewise.
+       * tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test21-pr19092.so.abi: Likewise.
+       * tests/data/test-annotate/test4.so.abi: Likewise.
+       * tests/data/test-annotate/test6.so.abi: Likewise.
+       * tests/data/test-annotate/test7.so.abi: Likewise.
+       * tests/data/test-annotate/test8-qualified-this-pointer.so.abi:
+       Likewise.
+       * tests/data/test-diff-dwarf-abixml/PR25409-librte_bus_dpaa.so.20.0.abi:
+       Likewise.
+       * tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1.abi:
+       Likewise.
+       * tests/data/test-read-btf/test0.o.abi: Likewise.
+       * tests/data/test-read-ctf/PR27700/test-PR27700.abi: Likewise.
+       * tests/data/test-read-ctf/test-PR26568-1.o.abi: Likewise.
+       * tests/data/test-read-ctf/test-PR26568-2.o.abi: Likewise.
+       * tests/data/test-read-ctf/test-ambiguous-struct-A.o.hash.abi:
+       Likewise.
+       * tests/data/test-read-ctf/test-ambiguous-struct-B.o.hash.abi:
+       Likewise.
+       * tests/data/test-read-ctf/test-anonymous-fields.o.abi: Likewise.
+       * tests/data/test-read-ctf/test-array-mdimension.abi: Likewise.
+       * tests/data/test-read-ctf/test-array-of-pointers.abi: Likewise.
+       * tests/data/test-read-ctf/test-array-size.abi: Likewise.
+       * tests/data/test-read-ctf/test-bitfield-enum.abi: Likewise.
+       * tests/data/test-read-ctf/test-bitfield.abi: Likewise.
+       * tests/data/test-read-ctf/test-callback.abi: Likewise.
+       * tests/data/test-read-ctf/test-callback2.abi: Likewise.
+       * tests/data/test-read-ctf/test-conflicting-type-syms-a.o.hash.abi:
+       Likewise.
+       * tests/data/test-read-ctf/test-conflicting-type-syms-b.o.hash.abi:
+       Likewise.
+       * tests/data/test-read-ctf/test-const-array.abi: Likewise.
+       * tests/data/test-read-ctf/test-dynamic-array.o.abi: Likewise.
+       * tests/data/test-read-ctf/test-enum-many.o.hash.abi: Likewise.
+       * tests/data/test-read-ctf/test-enum-symbol.o.hash.abi: Likewise.
+       * tests/data/test-read-ctf/test-enum.o.abi: Likewise.
+       * tests/data/test-read-ctf/test-forward-type-decl.abi: Likewise.
+       * tests/data/test-read-ctf/test-functions-declaration.abi:
+       Likewise.
+       * tests/data/test-read-ctf/test-linux-module.abi: Likewise.
+       * tests/data/test-read-ctf/test-list-struct.abi: Likewise.
+       * tests/data/test-read-ctf/test0.abi: Likewise.
+       * tests/data/test-read-ctf/test0.hash.abi: Likewise.
+       * tests/data/test-read-ctf/test1.so.abi: Likewise.
+       * tests/data/test-read-ctf/test1.so.hash.abi: Likewise.
+       * tests/data/test-read-ctf/test2.so.abi: Likewise.
+       * tests/data/test-read-ctf/test2.so.hash.abi: Likewise.
+       * tests/data/test-read-ctf/test4.so.abi: Likewise.
+       * tests/data/test-read-ctf/test4.so.hash.abi: Likewise.
+       * tests/data/test-read-ctf/test5.o.abi: Likewise.
+       * tests/data/test-read-ctf/test7.o.abi: Likewise.
+       * tests/data/test-read-ctf/test9.o.abi: Likewise.
+       * tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise.
+       * tests/data/test-read-dwarf/PR24378-fn-is-not-scope.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Likewise.
+       * tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/PR26261/PR26261-exe.abi: Likewise.
+       * tests/data/test-read-dwarf/PR27700/test-PR27700.abi: Likewise.
+       * tests/data/test-read-dwarf/PR29443-missing-xx.o.abi: Likewise.
+       * tests/data/test-read-dwarf/libtest23.so.abi: Likewise.
+       * tests/data/test-read-dwarf/libtest24-drop-fns-2.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/libtest24-drop-fns.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test-PR26568-1.o.abi: Likewise.
+       * tests/data/test-read-dwarf/test-PR26568-2.o.abi: Likewise.
+       * tests/data/test-read-dwarf/test-libaaudio.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test-pointer-to-member-1.o.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test0.abi: Likewise.
+       * tests/data/test-read-dwarf/test0.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test1.abi: Likewise.
+       * tests/data/test-read-dwarf/test1.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test13-pr18894.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test14-pr18893.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test17-pr19027.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test2.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test2.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test21-pr19092.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test4.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test4.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test6.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test6.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test7.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test7.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test8-qualified-this-pointer.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test8-qualified-this-pointer.so.hash.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise.
+       * tests/data/test-read-write/test28-without-std-fns-ref.xml:
+       Likewise.
+       * tests/data/test-read-write/test28-without-std-vars-ref.xml:
+       Likewise.
+
+2024-09-30  Dodji Seketeli <dodji@redhat.com>
+
+       reader: Drop the hash values coming from older ABIXML files
+       * src/abg-reader.cc (reader::m_drop_hash_value): Define new data
+       member.
+       (reader::maybe_drop_hash_values): Define new function.
+       (reader::read_hash_and_stash): Make the static function
+       read_hash_and_stash a member function of reader.  Make it so that
+       if m_drop_hash_value is define, then no hash value is read from
+       the XML node.
+       (read_type_hash_and_cti): Move declaration of static function
+       before the new reader::read_hash_and_stash.
+       (reader::read_corpus): Call the new maybe_drop_hash_values.
+       (build_function_decl, build_type_decl, build_qualified_type_decl)
+       (build_pointer_type_def, build_reference_type_def)
+       (build_ptr_to_mbr_type, build_function_type, build_subrange_type)
+       (build_array_type_def, build_enum_type_decl, build_typedef_decl)
+       (build_class_decl, build_union_decl): Adjust call to
+       read_hash_and_stash to reader::read_hash_and_stash.
+
+2024-09-30  Dodji Seketeli <dodji@redhat.com>
+
+       big-tests: Update to latest version of libabigail-tests.git
+       * big-tests:
+
+2024-09-27  Dodji Seketeli <dodji@redhat.com>
+
+       ir: Don't strip typedefs when comparing pointers & references
+       * src/abg-ir.cc (equals): In the overload for pointer_type_def and
+       reference_type_def, do not peel typedefs from the pointed-to types
+       before comparing them.
+       * tests/data/test-annotate/test14-pr18893.so.abi: Adjust.
+       * tests/data/test-annotate/test15-pr18892.so.abi: Adjust.
+       * tests/data/test-annotate/test17-pr19027.so.abi: Adjust.
+       * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Adjust.
+       * tests/data/test-annotate/test21-pr19092.so.abi: Adjust.
+       * tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Adjust.
+       * tests/data/test-read-dwarf/test-libandroid.so.abi: Adjust.
+       * tests/data/test-read-dwarf/test11-pr18828.so.abi: Adjust.
+       * tests/data/test-read-dwarf/test12-pr18844.so.abi: Adjust.
+       * tests/data/test-read-dwarf/test14-pr18893.so.abi: Adjust.
+       * tests/data/test-read-dwarf/test15-pr18892.so.abi: Adjust.
+       * tests/data/test-read-dwarf/test16-pr18904.so.abi: Adjust.
+       * tests/data/test-read-dwarf/test17-pr19027.so.abi: Adjust.
+       * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Adjust.
+       * tests/data/test-read-dwarf/test21-pr19092.so.abi: Adjust.
+       * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi:
+       Adjust.
+       * tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Adjust.
+
+2024-09-27  Dodji Seketeli <dodji@redhat.com>
+
+       ir: Always use canonical types in comparison when possible
+       * src/abg-ir.cc (maybe_get_canonical_type): Define new function
+       template.
+       (try_canonical_compare): Use the above function to always use
+       canonical types in comparison.
+       * tests/data/test-diff-pkg/infinipath-psm-3.3-26_g604758e_open.6.fc36.5.x86_64-self-check-report.txt:
+       New test reference output.
+       * tests/data/test-diff-pkg/infinipath-psm-3.3-26_g604758e_open.6.fc36.5.x86_64.rpm:
+       Add new binary input.
+       * tests/data/test-diff-pkg/infinipath-psm-debuginfo-3.3-26_g604758e_open.6.fc36.5.x86_64.rpm:
+       Likewise.
+       * tests/data/Makefile.am: Add the new test material above to
+       source distribution.
+
+2024-09-17  Mark Wielaard <mark@klomp.org>
+
+       Use XXH_INLINE_ALL=1 to inline all xxhash functions
+       * configure: Don't AC_SUBST XXHASH_{VERSION,LIBS,CFLAGS}.
+       Remove XXHASH_LIBS from DEPS_LIBS. Add -DXXH_INLINE_ALL=1
+       to CFLAGS and CXXFLAGS.
+
+2024-09-15  Dodji Seketeli <dodji@redhat.com>
+
+       big-tests: Update to commit bd0c1f8909a7b2f5018d54b82f7d6829c4849b59
+       * big-tests: Update to latest commit bcec65b53b8332710f8d74adf4d6a060a91ab5ee
+
+2024-09-06  Dodji Seketeli <dodji@redhat.com>
+
+       ir: Use definition of decl-only parm type in function type names
+       * src/abg-ir.cc (stream_pretty_representation_of_fn_parms): Use
+       the definition of decl-only function parameter types in the
+       representation.
+
+2024-09-06  Dodji Seketeli <dodji@redhat.com>
+
+       corpus: Allow several variables with same ID to be exported
+       * include/abg-corpus.h (corpus::lookup_variables): Replace
+       corpus::lookup_variable with this one which returns the set of
+       variables associated with a given ID of variable.
+       * src/abg-corpus-priv.h (istr_var_ptr_set_map_type): Define new
+       typedef.
+       (corpus::exported_decls_builder::priv::id_vars_map_): Replace
+       id_var_map_ with this new data member of type
+       istr_var_ptr_set_map_type.
+       (corpus::exported_decls_builder::priv::id_fns_map): Fix comment.
+       (corpus::exported_decls_builder::priv::id_vars_map): Replace
+       previous id_var_map with this member function.
+       (corpus::exported_decls_builder::priv::var_id_is_in_id_vars_map):
+       Replace the var_id_is_in_id_var_map member function.
+       (corpus::exported_decls_builder::priv::var_is_in_vars): Define new
+       static member function.
+       (corpus::exported_decls_builder::priv::{var_is_in_id_vars_map, add_var_to_id_vars_map}):
+       Define new member functions.
+       (corpus::exported_decls_builder::priv::add_var_to_map): Remove.
+       (corpus::exported_decls_builder::priv::add_var_to_exported):
+       Adjust by using the new var_is_in_id_vars_map and
+       add_var_to_id_vars_map.
+       * src/abg-corpus.cc
+       (corpus::exported_decls_builder::maybe_add_var_to_exported_vars):
+       Adjust, use the new
+       corpus::exported_decls_builder::priv::var_is_in_id_vars_map.
+       (corpus::lookup_variables): Replace corpus::lookup_variable with
+       this one which returns the set of variables associated with a
+       given ID of variable.
+       * tools/abicompat.cc
+       (compare_expected_against_provided_variables): Adjust.
+
+2024-09-05  Dodji Seketeli <dodji@redhat.com>
+
+       ABIXML reader: Unconditionally map a pointer XML node to its decl
+       * src/abg-reader.cc (build_pointer_type_def): Unconditionally map
+       a pointer type XML node to its decl.
+
+2024-09-05  Dodji Seketeli <dodji@redhat.com>
+
+       ir: Improve the checks done by 'abidw --debug-tc'
+       * src/abg-ir.cc (compare_types_during_canonicalization): Disable
+       type comparison result caching during type canonicalization
+       debugging.
+
+2024-09-05  Dodji Seketeli <dodji@redhat.com>
+
+       ir: Strip typedefs from pointed-to-types during comparison
+       * src/abg-ir.cc (equals): In the overload for pointers and
+       reference types, strip typedefs off of pointed-to types before
+       comparing them.
+       * tests/data/test-annotate/test14-pr18893.so.abi: Adjust.
+       * tests/data/test-annotate/test15-pr18892.so.abi: Likewise.
+       * tests/data/test-annotate/test17-pr19027.so.abi: Likewise.
+       * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test21-pr19092.so.abi: Likewise.
+       * tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test14-pr18893.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test17-pr19027.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test21-pr19092.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise.
+
+2024-09-02  Dodji Seketeli <dodji@redhat.com>
+
+       hash,reader,writer: (De)Serialize hash values using the xxhash canonical form
+       * include/abg-hash.h (deserialize_hash, serialize_hash): Declare
+       new functions.
+       * src/abg-hash.cc (deserialize_hash, serialize_hash): Define them.
+       (char_to_int, int_to_char): Define static functions.
+       (hash): For the overload that hashes an integer, make it take a
+       second one as hashing seed.  Also, lay out the integer value to
+       hash in big endian format before passing it to XH64.
+       (combine_hashes): Use the amended hash function above.
+       * src/abg-reader.cc (read_type_hash_and_cti): Use the new
+       deserialize_hash function.
+       * src/abg-writer.cc (write_type_hash_and_cti): Use the new
+       serialize_hash function.
+       * tests/data/test-annotate/PR29443-missing-xx.o.annotated.abi:
+       Adjust.
+       * tests/data/test-annotate/libtest23.so.abi: Likewise.
+       * tests/data/test-annotate/libtest24-drop-fns-2.so.abi: Likewise.
+       * tests/data/test-annotate/libtest24-drop-fns.so.abi: Likewise.
+       * tests/data/test-annotate/test-anonymous-members-0.o.abi:
+       Likewise.
+       * tests/data/test-annotate/test-pointer-to-member-1.o.annotated.abi:
+       Likewise.
+       * tests/data/test-annotate/test0.abi: Likewise.
+       * tests/data/test-annotate/test1.abi: Likewise.
+       * tests/data/test-annotate/test13-pr18894.so.abi: Likewise.
+       * tests/data/test-annotate/test14-pr18893.so.abi: Likewise.
+       * tests/data/test-annotate/test15-pr18892.so.abi: Likewise.
+       * tests/data/test-annotate/test17-pr19027.so.abi: Likewise.
+       * tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test2.so.abi: Likewise.
+       * tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test21-pr19092.so.abi: Likewise.
+       * tests/data/test-annotate/test3.so.abi: Likewise.
+       * tests/data/test-annotate/test4.so.abi: Likewise.
+       * tests/data/test-annotate/test5.o.abi: Likewise.
+       * tests/data/test-annotate/test6.so.abi: Likewise.
+       * tests/data/test-annotate/test7.so.abi: Likewise.
+       * tests/data/test-annotate/test8-qualified-this-pointer.so.abi:
+       Likewise.
+       * tests/data/test-diff-dwarf-abixml/PR25409-librte_bus_dpaa.so.20.0.abi:
+       Likewise.
+       * tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1.abi:
+       Likewise.
+       * tests/data/test-read-btf/test0.o.abi: Likewise.
+       * tests/data/test-read-btf/test1.o.abi: Likewise.
+       * tests/data/test-read-ctf/PR27700/test-PR27700.abi: Likewise.
+       * tests/data/test-read-ctf/test-PR26568-1.o.abi: Likewise.
+       * tests/data/test-read-ctf/test-PR26568-2.o.abi: Likewise.
+       * tests/data/test-read-ctf/test-alias.o.abi: Likewise.
+       * tests/data/test-read-ctf/test-ambiguous-struct-A.o.hash.abi:
+       Likewise.
+       * tests/data/test-read-ctf/test-ambiguous-struct-B.o.hash.abi:
+       Likewise.
+       * tests/data/test-read-ctf/test-anonymous-fields.o.abi: Likewise.
+       * tests/data/test-read-ctf/test-array-mdimension.abi: Likewise.
+       * tests/data/test-read-ctf/test-array-of-pointers.abi: Likewise.
+       * tests/data/test-read-ctf/test-array-size.abi: Likewise.
+       * tests/data/test-read-ctf/test-bitfield-enum.abi: Likewise.
+       * tests/data/test-read-ctf/test-bitfield.abi: Likewise.
+       * tests/data/test-read-ctf/test-callback.abi: Likewise.
+       * tests/data/test-read-ctf/test-callback2.abi: Likewise.
+       * tests/data/test-read-ctf/test-conflicting-type-syms-a.o.hash.abi:
+       Likewise.
+       * tests/data/test-read-ctf/test-conflicting-type-syms-b.o.hash.abi:
+       Likewise.
+       * tests/data/test-read-ctf/test-const-array.abi: Likewise.
+       * tests/data/test-read-ctf/test-dynamic-array.o.abi: Likewise.
+       * tests/data/test-read-ctf/test-enum-many.o.hash.abi: Likewise.
+       * tests/data/test-read-ctf/test-enum-symbol.o.hash.abi: Likewise.
+       * tests/data/test-read-ctf/test-enum.o.abi: Likewise.
+       * tests/data/test-read-ctf/test-fallback.abi: Likewise.
+       * tests/data/test-read-ctf/test-forward-type-decl.abi: Likewise.
+       * tests/data/test-read-ctf/test-functions-declaration.abi:
+       Likewise.
+       * tests/data/test-read-ctf/test-linux-module.abi: Likewise.
+       * tests/data/test-read-ctf/test-list-struct.abi: Likewise.
+       * tests/data/test-read-ctf/test0.abi: Likewise.
+       * tests/data/test-read-ctf/test0.hash.abi: Likewise.
+       * tests/data/test-read-ctf/test1.so.abi: Likewise.
+       * tests/data/test-read-ctf/test1.so.hash.abi: Likewise.
+       * tests/data/test-read-ctf/test2.so.abi: Likewise.
+       * tests/data/test-read-ctf/test2.so.hash.abi: Likewise.
+       * tests/data/test-read-ctf/test3.so.abi: Likewise.
+       * tests/data/test-read-ctf/test3.so.hash.abi: Likewise.
+       * tests/data/test-read-ctf/test4.so.abi: Likewise.
+       * tests/data/test-read-ctf/test4.so.hash.abi: Likewise.
+       * tests/data/test-read-ctf/test5.o.abi: Likewise.
+       * tests/data/test-read-ctf/test7.o.abi: Likewise.
+       * tests/data/test-read-ctf/test8.o.abi: Likewise.
+       * tests/data/test-read-ctf/test9.o.abi: Likewise.
+       * tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise.
+       * tests/data/test-read-dwarf/PR24378-fn-is-not-scope.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Likewise.
+       * tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/PR26261/PR26261-exe.abi: Likewise.
+       * tests/data/test-read-dwarf/PR27700/test-PR27700.abi: Likewise.
+       * tests/data/test-read-dwarf/PR28584/PR28584-smv.clang.o.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/PR29443-missing-xx.o.abi: Likewise.
+       * tests/data/test-read-dwarf/libtest23.so.abi: Likewise.
+       * tests/data/test-read-dwarf/libtest24-drop-fns-2.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/libtest24-drop-fns.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test-PR26568-1.o.abi: Likewise.
+       * tests/data/test-read-dwarf/test-PR26568-2.o.abi: Likewise.
+       * tests/data/test-read-dwarf/test-fallback.abi: Likewise.
+       * tests/data/test-read-dwarf/test-libaaudio.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test-pointer-to-member-1.o.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test-suppressed-alias.o.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test0.abi: Likewise.
+       * tests/data/test-read-dwarf/test0.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test1.abi: Likewise.
+       * tests/data/test-read-dwarf/test1.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test13-pr18894.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test14-pr18893.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test17-pr19027.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test2.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test2.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test21-pr19092.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test3-alias-1.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test3-alias-2.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test3-alias-3.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test3-alias-4.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test3.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test3.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test4.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test4.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test5.o.abi: Likewise.
+       * tests/data/test-read-dwarf/test5.o.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test6.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test6.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test7.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test7.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test8-qualified-this-pointer.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test8-qualified-this-pointer.so.hash.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise.
+       * tests/data/test-read-write/test15.xml: Likewise.
+       * tests/data/test-read-write/test18.xml: Likewise.
+       * tests/data/test-read-write/test21.xml: Likewise.
+       * tests/data/test-read-write/test24.xml: Likewise.
+       * tests/data/test-read-write/test25.xml: Likewise.
+       * tests/data/test-read-write/test28-without-std-fns-ref.xml:
+       Likewise.
+       * tests/data/test-read-write/test28-without-std-vars-ref.xml:
+       Likewise.
+
+2024-08-30  Dodji Seketeli <dodji@redhat.com>
+
+       comparison: Sort anonymous types using their flat representation
+       * src/abg-comparison-priv.h (diff_comp::operator()): Use the
+       non-internal pretty representation for sorting.
+       * tests/data/test-abidiff-exit/test-anon-types-report-1.txt:
+       Adjust.
+       * tests/data/test-abidiff-exit/test-anonymous-enums-change-report-v1.txt:
+       Adjust.
+
+2024-08-30  Claudiu Zissulescu <claudiu.zissulescu-ianculescu@oracle.com>
+
+       abg-tools-utils: Fix memory corruption when using CTF option
+       * src/abg-tools-utils.cc
+       (build_corpus_group_from_kernel_dist_under): change the scope of
+       di_root_ctf_ptr variable.
+
+2024-08-28  Dodji Seketeli <dodji@redhat.com>
+
+       dwarf-reader,ir,writer: Better support for static member variables
+       * include/abg-ir.h (class_or_union::get_static_data_members):
+       Declare new method.
+       * src/abg-dwarf-reader.cc (add_or_update_class_type): Do not
+       create any IR for the /declaration/ of static data member here.
+       Wait for its definition from a concrete instance DIE to create the
+       IR for it.
+       (build_ir_node_from_die): In the DW_TAG_variable case, if we are
+       looking at the concrete instance of a static variable (one that
+       has a DW_AT_abstract_origin pointing to a static data member) then
+       build the IR from it and add it to its class scope.
+       * src/abg-ir-priv.h (class_or_union::priv::static_data_members_):
+       Define new data member.
+       (class_or_union::priv::priv): Stick the static data members that
+       are in class_or_union::priv::data_members_ into
+       class_or_union::priv::static_data_members_.
+       * src/abg-ir.cc (maybe_adjust_canonical_type): Make sure static
+       data members of the canonical type has the same symbols set as the
+       data members of the canonicalized type.
+       (class_or_union::add_data_member): Update the new
+       class_or_union::priv::static_data_members_ when a data member is
+       added.
+       (class_or_union::get_non_static_data_members): Fix comments.
+       (class_or_union::get_static_data_members): Define new member
+       functions.
+       (set_member_is_static): Update the new
+       class_or_union::priv::static_data_members_ when static-ness is
+       changed.
+       * src/abg-writer.cc (write_decl_in_scope): Support writing pure
+       declarations (not types).
+       (write_translation_unit): Don't forget to write remaining global
+       variables.
+       (write_class_decl): Make sure to write static data members first,
+       before writing the non-static data members.
+       * tests/data/test-abidiff-exit/test-ld-2.28-210.so--ld-2.28-211.so.txt:
+       Adjust.
+       * tests/data/test-annotate/libtest23.so.abi: Likewise.
+       * tests/data/test-annotate/libtest24-drop-fns-2.so.abi: Likewise.
+       * tests/data/test-annotate/libtest24-drop-fns.so.abi: Likewise.
+       * tests/data/test-annotate/test14-pr18893.so.abi: Likewise.
+       * tests/data/test-annotate/test15-pr18892.so.abi: Likewise.
+       * tests/data/test-annotate/test17-pr19027.so.abi: Likewise.
+       * tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi:
+       Likewise.
+       * tests/data/test-diff-dwarf-abixml/PR25409-librte_bus_dpaa.so.20.0.abi:
+       Likewise.
+       * tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1.abi:
+       Likewise.
+       * tests/data/test-diff-filter/test30-pr18904-rvalueref-report1.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test30-pr18904-rvalueref-report2.txt:
+       Likewise.
+       * tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise.
+       * tests/data/test-read-dwarf/libtest23.so.abi: Likewise.
+       * tests/data/test-read-dwarf/libtest24-drop-fns-2.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/libtest24-drop-fns.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test14-pr18893.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test17-pr19027.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise.
+       * tests/data/test-read-write/test10.xml: Likewise.
+
+2024-08-27  Dodji Seketeli <dodji@redhat.com>
+
+       dwarf-reader,reader.cc: Fix function virtuality setting
+       * include/abg-fwd.h (set_member_function_vtable_offset)
+       (set_member_function_is_virtual): Remove these function
+       declarations.
+       (set_member_function_virtuality): Declare new function.
+       * include/abg-ir.h (decl_base::get_context_rel): Make this public.
+       (set_member_function_is_virtual)
+       (set_member_function_vtable_offset): Remove these friend
+       declaration for the decl_base class.
+       * src/abg-dwarf-reader.cc (finish_member_function_reading): Use
+       the new set_member_function_virtuality in lieu of the previous
+       set_member_function_is_virtual and
+       set_member_function_vtable_offset.
+       * src/abg-ir.cc (set_member_function_vtable_offset)
+       (set_member_function_is_virtual): Make these functions static.
+       (set_member_function_virtuality): Define new functions.
+       (class_or_union::add_member_function): Use the new
+       set_member_function_virtuality in lieu of
+       set_member_function_is_virtual and
+       set_member_function_vtable_offset.
+       * src/abg-reader.cc (build_class_decl): Likewise.
+
+2024-08-27  Dodji Seketeli <dodji@redhat.com>
+
+       abipkgdiff: Extract devel and main packages in the same directory
+       * tests/data/test-diff-pkg/gcc-debuginfo-14.2.1-1.fc40.x86_64.rpm:
+       Add missing debug info package.
+       * tests/data/Makefile.am: Add it to source distribution.
+       * tests/test-diff-pkg.cc (in_out_specs): Add the debuginfo package
+       to the libgm2 test.
+       * tools/abipkgdiff.cc (main): Extract the devel packages into the
+       "package1" and "package2" directories.
+       (extract_package_and_map_its_content): Extract the main and devel
+       packages sequentially, not in parallel.
+       (self_compare_prepared_userspace_package): Add more logs.
+       * tests/data/test-fedabipkgdiff/test0-from-fc20-to-fc23-dbus-glib-report-0.txt:
+       Adjust.
+       * tests/data/test-fedabipkgdiff/test1-from-fc20-to-dbus-glib-0.106-1.fc23.x86_64-report-0.txt:
+       Likewise
+       * tests/data/test-fedabipkgdiff/test2-dbus-glib-0.100.2-2.fc20--dbus-glib-0.106-1.fc23-report-0.txt:
+       Likewise
+       * tests/data/test-fedabipkgdiff/test3-dbus-glib-0.100.2-2.fc20.i686--dbus-glib-0.106-1.fc23.i686-report-0.txt:
+       Likewise
+       * tests/data/test-fedabipkgdiff/test4-glib-0.100.2-2.fc20.x86_64.rpm-glib-0.106-1.fc23.x86_64.rpm-report-0.txt:
+       Likewise
+       * tests/data/test-fedabipkgdiff/test7-self-compare-from-fc23-dbus-glib-report-0.txt:
+       Likewise
+       * tests/data/test-fedabipkgdiff/vte291-0.39.1-1.fc22.x86_64--vte291-0.39.90-1.fc22.x86_64-report-0.txt:
+       Likewise
+
+2024-08-23  Dodji Seketeli <dodji@redhat.com>
+
+       dwarf-reader,ir: Fix endless loop while analyzing DWARF from Modula-2
+       * src/abg-dwarf-reader.cc (die_qualified_type_name)
+       (die_qualified_decl_name, die_qualified_type_name_empty)
+       (die_function_signature, die_pretty_print_type)
+       (die_pretty_print_decl, die_pretty_print)
+       (reader::{get_die_qualified_type_name}): Take a new guard
+       parameter.  Pass it to all the type name construction function,
+       all the way down to die_class_flat_representation and
+       die_return_and_parm_names_from_fn_type_die.
+       (die_qualified_name, die_type_name)
+       (die_class_or_enum_flat_representation)
+       (die_class_or_enum_flat_representation)
+       (reader::{get_die_pretty_type_representation,
+       get_die_pretty_representation}): Add an overload that takes a
+       guard parameter and rewrite the previous overload in terms of the
+       new one.
+       (die_class_flat_representation)
+       (die_return_and_parm_names_from_fn_type_die): Take a new guard
+       parameter.  Use it to detect and avoid cycles during the
+       construction of the type name.
+       * src/abg-ir-priv.h
+       (class_or_union::priv::is_printing_flat_representation_): Define
+       new data member.
+       (class_or_union::priv::{set,unset,is}_printing_flat_representation):
+       Define member functions.
+       (function_type::priv::is_pretty_printing_): Define new data
+       member.
+       (function_type::priv::{set,unset,}_is_pretty_printing): Define
+       member functions.
+       * src/abg-ir.cc (get_class_or_union_flat_representation)
+       (add_outer_pointer_to_fn_type_expr): Implement cycle detection and
+       avoidance for recursive classes and function types.
+       * tests/data/test-diff-pkg/libgm2-14.2.1-1.fc40.x86_64-self-check-report.txt:
+       New test reference output.
+       * tests/data/test-diff-pkg/libgm2-14.2.1-1.fc40.x86_64.rpm: New
+       input RPM.
+       * tests/data/test-read-dwarf/test-libandroid.so.abi: Adjust.
+       * tests/data/Makefile.am: Add the new test material to source
+       distribution.
+       * tests/test-diff-pkg.cc (in_out_specs): Add the new test inputs
+       to the test harness.
+
+2024-08-22  Dodji Seketeli <dodji@redhat.com>
+
+       abidw: Add a --kmi-stablelist option alongside existing --kmi-whitelist
+       * doc/manuals/abidw.rst: Update the documentation.
+       * tools/abidw.cc (display_usage): Add a help string for the new
+       --kmi-stablelist.
+       (parse_command): Parse it.
+
+2024-08-22  Dodji Seketeli <dodji@redhat.com>
+
+       dwarf-reader,tools-utils: Add statistics about built/suppressed functions
+       * src/abg-dwarf-reader.cc (reader::stats): Define new struct.
+       (reader::stats_): Define a new data member of type stats.
+       (build_or_get_fn_decl_if_not_suppressed)
+       (build_or_get_var_decl_if_not_suppressed): Increments the stats.
+       (reader::read_debug_info_into_corpus): Emit the stats about number
+       of suppressed/kept functions and variables at the end of the
+       corpus building.
+       * src/abg-tools-utils.cc (load_vmlinux_corpus): Emit the status
+       about the number of functions/variables in the corpus.
+
+2024-08-21  Dodji Seketeli <dodji@redhat.com>
+
+       big-tests: Update git sub-module
+       * big-tests: Update to git commit d84f5ef7b490ffcd466be20052fed87635e6e148
+
+2024-08-21  Dodji Seketeli <dodji@redhat.com>
+
+       abilint: Support --verbose option
+       * doc/manuals/abilint.rst: Document the new --verbose option.
+       * tools/abilint.cc (options::do_log): New data member.
+       (options::options): Initialize it.
+       (display_usage): Document it.
+       (set_reader_options): New static function to set the options of
+       the reader from user-provided options.
+       (main): Use the new set_reader_options.
+
+2024-08-21  Dodji Seketeli <dodji@redhat.com>
+
+       {btf,ctf,dwarf}-reader, ir: Fix self-comparison debugging for corpus groups
+       * src/abg-btf-reader.cc (reader::read_debug_info_into_corpus):
+       When reading an ELF binary, which is part of a corpus group, for
+       the purpose of self-comparison, set that corpus group as the
+       comparison input.  Otherwise, if the ELF binary is not part of the
+       corpus group, set its corpus as the comparison input.  This is
+       done only when we are debugging the self-comparison process by
+       doing abidw --debug-abidiff.
+       * src/abg-ctf-reader.cc (reader::read_corpus): Likewise.
+       * src/abg-dwarf-reader.cc (reader::read_debug_info_into_corpus):
+       Likewise.
+       * src/abg-ir-priv.h (type_originates_from_corpus): Declare ...
+       * src/abg-ir.cc (type_originates_from_corpus): ... new function.
+       (type_base::get_canonical_type_for): When debugging the
+       self-comparison process, use the new type_originates_from_corpus
+       to know if the current type being canonicalized originates from
+       the second corpus.
+
+2024-08-21  Dodji Seketeli <dodji@redhat.com>
+
+       {dwarf,btf,ctf}-reader: Set the origin of the corpus group
+       * src/abg-btf-reader.cc (reader::read_corpus): Set the origin of
+       the corpus group being read.
+       * src/abg-ctf-reader.cc (reader::read_corpus): Likewise.
+       * src/abg-dwarf-reader.cc (reader::read_debug_info_into_corpus):
+       Likewise.
+
+2024-08-21  Dodji Seketeli <dodji@redhat.com>
+
+       dwarf-reader: Fix building of void, void* and variadic parm types
+       * src/abg-dwarf-reader.cc (build_ir_node_for_void_type)
+       (build_ir_node_for_void_pointer_type)
+       (build_ir_node_for_variadic_parameter_type): Add the type node to
+       its scope just once.  Use
+       reader::schedule_type_for_late_canonicalization to canonicalize
+       it.
+
+2024-08-21  Dodji Seketeli <dodji@redhat.com>
+
+       tools-utils: Improve logging while reading a Linux kernel
+       * src/abg-tools-utils.cc (load_vmlinux_corpus)
+       (build_corpus_group_from_kernel_dist_under): Improve time logging.
+
+2024-08-21  Dodji Seketeli <dodji@redhat.com>
+
+       ir: Improve type logging during type canonicalization
+       * src/abg-ir-priv.h (canonicalize_types): Log the time taken by
+       type canonicalization.
+
+2024-08-13  Dodji Seketeli <dodji@redhat.com>
+
+       reader: Improve logging in the ABIXML reader
+       * src/abg-reader.cc (reader::read_corpus)
+       (reader::perform_type_canonicalization)
+       (read_corpus_group_from_input): Improve logging.
+
+2024-08-16  Dodji Seketeli <dodji@redhat.com>
+
+       dwarf-reader: Support LLVM's lingo of declaration-ness
+       * src/abg-dwarf-reader.cc (die_is_declaration_only): A DIE is a
+       declaration if it has the DW_AT_declaration property and if it
+       either has no size attribute or no children DIE.
+       (reader:: maybe_schedule_decl_only_type_for_resolution): Define
+       new function.
+       (build_enum_type, add_or_update_class_type)
+       (add_or_update_union_type): Do not schedule a declaration for
+       declaration-to-definition-resolution pass here.
+       (build_typedef_type): If the typedef is a naming typedef, schedule
+       the underlying type for the declaration-to-definition-resolution
+       pass here.
+       (build_ir_node_from_die): Schedule the declaration for
+       declaration-to-definition-resolution pass here, after it's been
+       added to its scope.
+       * tests/data/test-diff-filter/test41-report-0.txt: Adjust.
+       * tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise.
+
+2024-08-16  Dodji Seketeli <dodji@redhat.com>
+
+       ir: Fix name setting of a ptr-to-mbr-type
+       * include/abg-ir.h (decl_base::{g,s}et_name): Make these member
+       functions virtual.
+       (ptr_to_mbr_type::get_name): Add new virtual overload.
+       * src/abg-ir.cc (ptr_to_mbr_type::ptr_to_mbr_type): Do not set the
+       name of the type here.  Just say that it's not anonymous.
+       (ptr_to_mbr_type::get_name): Define new (virtual) member function.
+
+2024-08-14  Dodji Seketeli <dodji@redhat.com>
+
+       dwarf-reader: Speed-up decl-only resolution
+       * src/abg-dwarf-reader.cc
+       (reader::compare_before_canonicalisation): If the two types being
+       compared are of the same kind and name, and are declared at the
+       same source location, then they ought to be equivalent.
+       * tests/data/test-annotate/test14-pr18893.so.abi: Adjust.
+       * tests/data/test-read-dwarf/test14-pr18893.so.abi: Likewise.
+       * tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-2.txt:
+       Likewise.
+
+2024-08-13  Dodji Seketeli <dodji@redhat.com>
+
+       reader: Avoid duplicating recursive types
+       * src/abg-reader.cc (build_qualified_type_decl)
+       (build_pointer_type_def, build_reference_type_def)
+       (build_ptr_to_mbr_type, build_subrange_type, build_array_type_def)
+       (build_enum_type_decl, build_typedef_decl): After a sub-type is
+       built, check if the complex type we are looking at is built too.
+       If it is, then return it.
+
+2024-08-06  Dodji Seketeli <dodji@redhat.com>
+
+       dwarf-reader: Avoid duplicating anonymous member types
+       * include/abg-comp-filter.h (has_void_ptr_to_ptr_change)
+       (has_harmless_enum_to_int_change)
+       (has_benign_array_of_unknown_size_change): Declare new functions.
+       * include/abg-comparison.h (enum diff_category): Add
+       NON_COMPATIBLE_DISTINCT_CHANGE_CATEGORY,
+       NON_COMPATIBLE_NAME_CHANGE_CATEGORY enumerators.  Update the other
+       enumerator values.  Also, update the EVERYTHING_CATEGORY
+       enumerator value.
+       * include/abg-ir.h (class_decl::find_base_class): Document the
+       name of the parameter.
+       * src/abg-comp-filter.cc (type_diff_has_cv_qual_change_only)
+       (is_non_compatible_distinct_change, is_void_ptr_to_ptr): Define
+       new static functions.
+       (has_subtype_changes): Remove static function.
+       (class_diff_has_only_harmless_changes): Do not bother checking if
+       the class_diff has subtype changes.  If there are, the category of
+       those changes is going to be propagated upward to this current
+       diff node.  Update the comments.
+       (has_harmless_name_change): A diff node carrying compatible types
+       or types that differ only from their CV qualifiers should qualify
+       as having a harmless name change.
+       (has_harmless_enum_to_int_change): Make this function be
+       non-static.
+       (type_diff_has_cv_qual_change_only): Introduce an overload that
+       takes two ABI artifacts instead of one diff node.  Make the diff
+       node overload use the new one.  Simplify logic by essentially
+       peeling off qualified or typedefs first.  Then if what remain is
+       pointer or array types, look at their underlying types.  If the
+       remaining underlying types are equal then return true.
+       (has_void_ptr_to_ptr_change): Use the new is_void_ptr_to_ptr
+       function.  This allows the function to detect void* -> pointer and
+       pointer -> void* changes.  And it simplifies the logic.
+       * src/abg-comparison.cc (distinct_diff::compatible_child_diff):
+       Build a compatible child diff node iff the two diff subject are
+       actually compatible meaning, they are equal modulo a typedef.
+       (get_default_harmful_categories_bitmap): Add the new
+       abigail::comparison::{NON_COMPATIBLE_DISTINCT_CHANGE_CATEGORY,NON_COMPATIBLE_NAME_CHANGE_CATEGORY}
+       enumerators to the bitmap of harmful categories.
+       (operator<<(ostream& o, diff_category c)): Update this to support
+       emitting the new
+       abigail::comparison::{NON_COMPATIBLE_DISTINCT_CHANGE_CATEGORY,NON_COMPATIBLE_NAME_CHANGE_CATEGORY}
+       enumerators.
+       (class_or_union_diff::priv::count_filtered_{subtype_}changed_dm):
+       Fix logic for counting local changes.
+       diff::has_local_changes_to_be_reported is not reliable so do not
+       rely on it.  We might want to remove that function in the end.
+       (category_propagation_visitor::visit_end): If the current diff
+       node has a harmless void pointer to pointer, enum to int, or a
+       benign array of unknown size change, do not propagate the
+       NON_COMPATIBLE_{NAME,DISTINCT}_CHANGE_CATEGORY that have
+       necessarily bubbled up from some of their distant children nodes.
+       * src/abg-dwarf-reader.cc
+       (maybe_set_member_type_access_specifier)
+       (get_next_member_sibling_die): Declare this pre-existing static
+       function.
+       (get_internal_anonymous_die_name)
+       (lookup_class_typedef_or_enum_type_from_corpus)
+       (lookup_class_typedef_or_enum_type_from_corpus): Remove.
+       (die_return_and_parm_names_from_fn_type_die): Add is_method_type
+       and return_type_name parameters. Fix the representation of member
+       functions.
+       (die_function_signature): Add qualified_name parameter. Adjust
+       call to die_return_and_parm_names_from_fn_type_die.
+       (die_type_name, die_enum_flat_representation)
+       (die_class_flat_representation)
+       (die_class_or_enum_flat_representation): Define new static
+       functions.
+       (reader::get_die_qualified_type_name, die_qualified_type_name):
+       For anonymous class or enum types, use the new
+       die_class_or_enum_flat_representation.  Adjust the call to
+       die_return_and_parm_names_from_fn_type_die. For function types fix
+       the name representation.
+       (die_pretty_print_type): Adjust call to
+       die_return_and_parm_names_from_fn_type_die.
+       (die_pretty_print_decl): Take qualified_name and include_fns
+       parameters.  Use the new die_type_name for variable type names.
+       Adjust call to die_function_signature.
+       (die_pretty_print): Adjust call die_pretty_print_decl.
+       (get_member_child_die): Remove useless vertical space.
+       (build_enum_underlying_type): Sort this enum underlying type (and
+       potentially hash it) before canonicalizing it.
+       (add_or_update_class_type): If an anonymous type is in the global
+       scope, take that into account when building its internal anonymous
+       die name.  Lookup anonymous member types before adding them to the
+       class scope to avoid duplicating them in their scope.
+       (add_or_update_union_type): Likewise, lookup anonymous member
+       types before adding them to the union scope to avoid duplicating
+       them in their scope.
+       (build_subranges_from_array_type_die): Const-ify the input reader.
+       Adjust call to build_ir_node_from_die.  Associate the subrange DIE
+       to the IR node built.
+       (build_ir_node_from_die): Get the current corpus from the reader
+       because it might be set for scope passed to this function, or the
+       scope might be nullptr.  Schedule base types for canonicalization
+       like all the other types.  Also, lookup all class/union types
+       before adding them to their class scope.
+       * src/abg-leaf-reporter.cc (leaf_reporter::report): In the
+       overload for class_or_union_diff, report changed data members and
+       their sub-types.
+       * tests/Makefile.am: Do not XFAIL the test runtestabidiffexit.  No
+       more tests are XFAILED.  All tests should now pass.
+       * tests/data/test-abidiff-exit/PR30503/libsdl/libsdl-1.2.60-1.2.64-report.txt:
+       Adjust.
+       * tests/data/test-abidiff-exit/PR31513/reported/PR31513-reported-report-1.txt:
+       Likewise.
+       * tests/data/test-abidiff-exit/qualifier-typedef-array-report-1.txt:
+       Likewise.
+       * tests/data/test-annotate/libtest24-drop-fns-2.so.abi: Likewise.
+       * tests/data/test-annotate/libtest24-drop-fns.so.abi: Likewise.
+       * tests/data/test-annotate/test0.abi: Likewise.
+       * tests/data/test-annotate/test1.abi: Likewise.
+       * tests/data/test-annotate/test15-pr18892.so.abi: Likewise.
+       * tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test21-pr19092.so.abi: Likewise.
+       * tests/data/test-diff-dwarf/PR25058-liblttng-ctl-report-1.txt:
+       Likewise.
+       * tests/data/test-diff-dwarf/test4-report.txt: Likewise.
+       * tests/data/test-diff-dwarf/test5-report.txt: Likewise.
+       * tests/data/test-diff-filter/test-PR26739-2-report-0.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test30-pr18904-rvalueref-report0.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test30-pr18904-rvalueref-report1.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test30-pr18904-rvalueref-report2.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test31-pr18535-libstdc++-report-0.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test31-pr18535-libstdc++-report-1.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test35-pr18754-no-added-syms-report-0.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test41-report-0.txt: Likewise.
+       * tests/data/test-diff-filter/test5-report.txt: Likewise.
+       * tests/data/test-diff-pkg/libICE-1.0.6-1.el6.x86_64.rpm--libICE-1.0.9-2.el7.x86_64.rpm-report-0.txt:
+       Likewise.
+       * tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-2.txt:
+       Likewise.
+       * tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt:
+       Likewise.
+       * tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt:
+       Likewise.
+       * tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise.
+       * tests/data/test-read-dwarf/PR24378-fn-is-not-scope.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Likewise.
+       * tests/data/test-read-dwarf/libtest24-drop-fns-2.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/libtest24-drop-fns.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test-libaaudio.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test0.abi: Likewise.
+       * tests/data/test-read-dwarf/test0.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test1.abi: Likewise.
+       * tests/data/test-read-dwarf/test1.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test21-pr19092.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise.
+
+2024-08-08  Dodji Seketeli <dodji@redhat.com>
+
+       ir: Cache the result of scope_decl::get_sorted_member_types
+       * include/abg-ir.h
+       (environment::canonicalization_started): Define new member
+       functions.
+       * src/abg-ir-priv.h
+       (environment::priv::canonicalization_started_): Define new data
+       member.
+       (canonicalize_types): Call
+       environment::canonicalization_started(true) right before starting
+       type canonicalization and call
+       environment::canonicalization_started(false) right after type
+       canonicalization is done.
+       * src/abg-ir.cc (environment::canonicalization_started): Define
+       new methods.
+       (environment::canonicalization_is_done): Set the
+       new canonicalization_started flag to false when the
+       canonicalization is done.
+       (scope_decl::priv::clear_sorted_member_types_cache_): Declare new
+       data member.
+       (scope_decl::{add_member_decl, insert_member_type}): If we are
+       adding a type to the scope, then flag the scope as needing to
+       clear the sorted member types cache.
+       (scope_decl::get_sorted_member_types): If type canonicalization is
+       not yet started, then the sorted member types cache needs to be
+       cleared.  If the sorted member types cache is to be cleared, then
+       clear it.  If the cache is empty, fill it.  Then return the
+       content of the cache.
+
+2024-08-08  Dodji Seketeli <dodji@redhat.com>
+
+       reader: Avoid duplicating member types
+       * src/abg-reader.cc (read_name): New static function.
+       (build_class_decl, build_union_decl): If a member type already
+       exists in the class, do not add it.
+
+2024-05-14  Dodji Seketeli <dodji@redhat.com>
+
+       Don't strip typedefs in fn names when pretty-printing and comparing
+       * src/abg-ir.cc (get_function_type_name, get_method_type_name): Do
+       not peel typedef from return type.
+       (equals): In the overload for function_type, do not peel typedef
+       before comparing return types. In the overload for
+       function_decl::parameter, do not peel typedef before comparing the
+       parameter type.
+       (stream_pretty_representation_of_fn_parms): Do not strip typedef
+       from parameter types.
+       (add_outer_pointer_to_fn_type_expr): Likewise for return type.
+       * tests/Makefile.am: XFAIL the test runtestabidiffexit.
+       * tests/data/test-abidiff-exit/PR30503/libsdl/libsdl-1.2.60-1.2.64-report.txt:
+       Adjust.
+       * tests/data/test-abidiff-exit/PR31513/reported/PR31513-reported-report-1.txt:
+       Likewise.
+       * tests/data/test-abidiff-exit/pointer-to-member/test-ptr-to-mbr2-output-1.txt:
+       Likewise.
+       * tests/data/test-annotate/test13-pr18894.so.abi: Likewise.
+       * tests/data/test-annotate/test14-pr18893.so.abi: Likewise.
+       * tests/data/test-annotate/test15-pr18892.so.abi: Likewise.
+       * tests/data/test-annotate/test17-pr19027.so.abi: Likewise.
+       * tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test21-pr19092.so.abi: Likewise.
+       * tests/data/test-diff-dwarf-abixml/PR25409-librte_bus_dpaa.so.20.0.abi:
+       Likewise.
+       * tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1.abi:
+       Likewise.
+       * tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-2.txt:
+       Likewise.
+       * tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise.
+       * tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Likewise.
+       * tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test-libaaudio.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test13-pr18894.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test14-pr18893.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test17-pr19027.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test21-pr19092.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise.
+
+2023-12-17  Dodji Seketeli <dodji@redhat.com>
+
+       comp-filter: Ignore ptr size when detecting void ptr to ptr change
+       * src/abg-comp-filter.cc (has_void_ptr_to_ptr_change): Ignore
+       pointer size when detecting void pointer to pointer change.
+       * tests/data/test-diff-filter/test47-filter-void-ptr-change-report-0.txt:
+       Adjust.
+
+2023-12-17  Dodji Seketeli <dodji@redhat.com>
+
+       comp-filter: Consider lvalue-ness changes on references as harmful
+       * include/abg-comparison.h (enum diff_category): Add the new
+       REFERENCE_LVALUENESS_CHANGE_CATEGORY enumerator.  Adjust the value
+       of the other enumerators.
+       * src/abg-comparison.cc (get_default_harmful_categories_bitmap):
+       Consider the new REFERENCE_LVALUENESS_CHANGE_CATEGORY as being
+       part of the default harmful categories bitmap.
+       (operator<<(ostream& o, diff_category c)): Support the new
+       REFERENCE_LVALUENESS_CHANGE_CATEGORY for me.
+       * include/abg-comp-filter.h (has_lvalue_reference_ness_change):
+       Declare new function.
+       * src/abg-comp-filter.cc (has_lvalue_reference_ness_change):
+       Define new function.
+       (categorize_harmful_diff_node): Use the new
+       has_lvalue_reference_ness_change to set the new
+       REFERENCE_LVALUENESS_CHANGE_CATEGORY.
+       * tests/Makefile.am: XFAIL runtestabidiffexit.
+       * tests/data/test-diff-filter/test3-report.txt: Adjust.
+       * tests/data/test-diff-filter/test30-pr18904-rvalueref-report0.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test30-pr18904-rvalueref-report1.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test30-pr18904-rvalueref-report2.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test35-pr18754-no-added-syms-report-0.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test35-pr18754-no-added-syms-report-1.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test47-filter-void-ptr-change-report-0.txt:
+       Likewise.
+
+2024-03-27  Dodji Seketeli <dodji@redhat.com>
+
+       ir: decl-only classes don't equal fully defined classes under ODR
+       * src/abg-ir.cc (equals): In language supporting the ODR (just
+       like in all other languages), consider that a decl-only class is
+       different from its defined class counterpart.
+       * tests/data/test-diff-dwarf/test28-vtable-changes-report-0.txt:
+       Adjust.
+       * tests/data/test-diff-filter/test41-report-0.txt: Likewise.
+
+2024-08-21  Dodji Seketeli <dodji@redhat.com>
+
+       ir: Remove the now useless type propagation optimization
+       * configure.ac: Remove the now useless --enable-ct-propagation
+       option.
+       * include/abg-ir.h (environment::do_on_the_fly_canonicalization):
+       Remove member function declaration.
+       * src/abg-ir-priv.h (type_base::priv::{depends_on_recursive_type_,
+       canonical_type_propagated_,
+       propagated_canonical_type_confirmed_}): Remove data members.
+       (type_base::priv::priv): Update.
+       (type_base::priv::{depends_on_recursive_type,
+       set_depends_on_recursive_type,
+       set_does_not_depend_on_recursive_type, canonical_type_propagated,
+       set_canonical_type_propagated,
+       propagated_canonical_type_confirmed,
+       set_propagated_canonical_type_confirmed,
+       clear_propagated_canonical_type}): Remove member functions.
+       (environment::priv::{types_with_non_confirmed_propagated_ct_,
+       recursive_types_, types_with_cleared_propagated_ct_,
+       do_on_the_fly_canonicalization_}): Remove data members.
+       (environment::priv::priv): Adjust.
+       (environment::priv::{mark_dependant_types,
+       mark_dependant_types_compared_until}): Update comment.
+       (environment::priv::{mark_dependant_types,
+       mark_dependant_types_compared_until, is_recursive_type,
+       propagate_ct, confirm_ct_propagation_for_types_dependant_on,
+       confirm_ct_propagation, confirm_ct_propagation,
+       types_with_cleared_propagated_ct,
+       types_with_cleared_propagated_ct,
+       record_type_with_cleared_propagated_canonical_type,
+       erase_type_with_cleared_propagated_canonical_type,
+       collect_types_that_depends_on,
+       cancel_ct_propagation_for_types_dependant_on,
+       cancel_ct_propagation, clear_propagated_canonical_type,
+       add_to_types_with_non_confirmed_propagated_ct,
+       remove_from_types_with_non_confirmed_propagated_ct,
+       cancel_all_non_confirmed_propagated_canonical_types}): Remove.
+       (canonicalize_types): Remove canonical type propagation debugging
+       code.
+       * src/abg-ir.cc (mark_dependant_types_compared_until): Remove function.
+       (RETURN_TRUE_IF_COMPARISON_CYCLE_DETECTED): Adjust, do not use the
+       removed mark_dependant_types_compared_until.
+       (return_comparison_result): Remove handling of the canonical type
+       propagation optimization.
+       (environment::do_on_the_fly_canonicalization): Remove member
+       functions.
+       (maybe_propagate_canonical_type, maybe_propagate_canonical_type)
+       (maybe_cancel_propagated_canonical_type, ): Remove functions.
+       (compare_canonical_type_against_candidate, canonicalize): Remove
+       handling of the canonical type propagation optimization.
+       (equals): In the overload for class_or_union, adjust call to
+       return_comparison_result.  In the overload for class_decl, remove
+       call to maybe_cancel_propagated_canonical_type.
+       (OnTheFlyCanonicalization): Remove this doxygen documentation
+       module describing the canonical type propagation optimization.
+
+2024-03-26  Dodji Seketeli <dodji@redhat.com>
+
+       Implement type hashing
+       * configure.ac: Bump ABIXML version to 4.0.  Detect the new xxhash
+       dependency and require the 0.8.0 version at minimum.
+       * include/abg-fwd.h (look_through_decl_only_type): Declare new
+       functions.
+       (is_scope_decl): Const-ify the parameter and
+       the returned value.  Also, do not include "abg-hash.h" here.
+       * include/abg-hash.h: Make this include cstdint (for uint64_t) and
+       abg-ir.h, instead of stdint.h.
+       (enum hashing_state): Define new enum in the abigail::hashing
+       namespace.
+       (combine_hashes, fnv_has, hash, get_hashing_state)
+       (set_hashing_state, is_recursive_artefact): Declare new functions
+       in the abigail::hashing namespace.
+       (struct {decl_base, type_base, type_decl, qualified_type_def,
+       pointer_type_def, reference_type_def, ptr_to_mbr_type,
+       array_type_def, enum_type_decl, typedef_decl, function_type,
+       method_type, member_base, class_or_union, class_decl::base_spec,
+       class_decl, union_decl}::hash): Declare new hash functors in the
+       abigail::ir namespace.
+       * include/abg-ir.h: Remove the inclusion of abg-hash.h from this
+       header.
+       (typedef hash_t): Define new type.
+       (peek_hash_value): Declare new function.
+       (get_canonical_types): Return a pointer to const vector.
+       ({type_or_decl_base, type_base, qualified_type_def,
+       pointer_type_def, reference_type_def, ptr_to_mbr_type,
+       array_type_def::subrange_type, typedef_decl, function_type,
+       method_type, class_or_union, class_decl, class_decl::base_spec,
+       union_decl}::hash_value): Add new virtual member functions.
+       (type_or_decl_base::set_hash_value): Add new member function.
+       (type_or_decl_base::priv_): Make this data member public.
+       (peek_hash_value, set_or_get_cached_hash_value): Declare these
+       functions as friends of class type_or_decl_base.
+       ({decl_base, scope_decl, var_decl, function_decl,
+       function_decl::parameter}::get_hash): Remove member functions.
+       * src/abg-comparison-priv.h (types_or_decls_hash::operator()):
+       Adjust to using the new hash_t type.
+       * src/abg-ctf-reader.cc
+       (reader::{additional_types_to_canonicalize, types}): Add new data
+       members.
+       (reader::add_type(): Add new member function.
+       (reader::canonicalize_all_types): Use the new types vector data
+       member to stash types to be canonicalized and pass them to
+       ir::hash_and_canonicalize_types for canonicalization.
+       (process_ctf_base_type)
+       (build_ir_node_for_variadic_parameter_type)
+       (build_ir_node_for_void_type, build_ir_node_for_void_pointer_type)
+       (build_array_ctf_range, process_ctf_enum_type): Do not use
+       canonicalize anymore.  Rather, rely on reader::add_type to
+       schedule types for canonicalization, doing the generic sorting and
+       hashing before doing the actually canonicalization.
+       * src/abg-dwarf-reader.cc ({dwarf_offset_pair_hash,offset_hash,
+       offset_pair_hash}::operator()): Use the new hashing function.
+       (reader::read_debug_info_into_corpus): Improve logging.  Use
+       ir::hash_and_canonicalize_types in lieu of ir::canonicalize_types.
+       (reader::types_to_canonicalize): Add
+       non-const overload.
+       (reader::canonicalize_types_scheduled): Add better logs & misc
+       obvious cleanup.
+       (maybe_canonicalize_type): Force scheduling canonicalization of
+       all types at the end of the DWARF processing.
+       * src/abg-hash.cc (combine_hashes, hash, get_hashing_state)
+       (set_hashing_state, is_recursive_artefact): Define new functions.
+       (MAYBE_RETURN_EARLY_FROM_HASHING_TO_AVOID_CYCLES)
+       (MAYBE_FLAG_TYPE_AS_RECURSIVE)
+       (MAYBE_RETURN_EARLY_IF_HASH_EXISTS): Define new macros.
+       (struct {decl_base, type_base, type_decl, qualified_type_def,
+       pointer_type_def, reference_type_def, ptr_to_mbr_type,
+       array_type_def, ptr_to_mbr_type, enum_type_decl, typedef_decl,
+       function_decl, function_type, method_type, member_base,
+       class_or_union, class_decl::base_spec, class_decl,
+       union_decl}::hash::operator): Define new hash functors.
+       ({template_parameter, template_decl, non_type_tparameter,
+       template_tparameter, type_composition, type_composition,
+       function_tdecl}::{hash, dynamic_hash, shared_ptr_hash): Remove.
+       * src/abg-ir-priv.h: Don't include abg-ir.h anymore, rather
+       include abg-hash.h.
+       (struct type_or_decl_base::priv): Move this here, from abg-ir.cc.
+       (type_or_decl_base::priv::{hashing_state_, hash_value_,
+       is_recursive_artefact_}): Define new data members.
+       (type_or_decl_base::priv::{get_hashing_state, set_hashing_state,
+       set_hash_value, force_set_hash_value, is_recursive_artefact}):
+       Define new member functions.
+       (struct sort_for_hash_functor): Define new functor.
+       (do_hash_value, set_or_get_cached_hash_value)
+       (hash_and_canonicalize_types, sort_and_canonicalize_types): Define
+       new function templates.
+       (type_is_suitable_for_hash_computing)
+       (sort_types_for_hash_computing_and_c14n)
+       (get_canonical_type_index, get_decl_name_for_comparison): Declare
+       new functions.
+       (type_base::priv::canonical_type_index): New data member.
+       (type_base::priv::{priv, clear_propagated_canonical_type}):
+       Initialize it.
+       (uint64_t_pair_hash::operator()): Adjust.
+       (environment::priv::number_of_canonical_types): New data member.
+       (environment::priv::priv): Initialize it.
+       (environment::priv::get_new_canonical_type_index): New member
+       function.
+       (environment::priv::propagate_ct): Propagate the CTI too.
+       (environment::priv::{confirm_ct_propagation_for_types_dependant_on,
+       confirm_ct_propagation}): Assert that canonical type has been
+       propagated and thus we have a canonical type.
+       (struct type_topo_comp::operator()): Beef up sorting of types.
+       Take into account the absolute path of the TU, the hash value, the
+       CTI)
+       (struct sort_for_hash_functor): Define new functor.
+       (sort_types_for_hash_computing_and_c14n): Declare new function
+       template and new overload.
+       (canonicalize_types): Take new do_log and show_stats parameters.
+       Improve logging.  Do not sort types in here.
+       (hash_and_canonicalize_types): Define new function template.  This
+       one does the sorting before the hashing and the canonicalization.
+       (sort_and_canonicalize_types): Likewise, but this one does no
+       hashing.
+       (cache_type_comparison_result): Cache the result of the comparison
+       now, unconditionally.  As we don't do canonical type propagation
+       anymore, we should not get canonical types and equality to
+       disagree anymore.
+       (* src/abg-ir.cc (try_canonical_compare): If hash values are
+       present and different then the two types are different.
+       (environment::get_canonical_types): Constify return value.
+       (environment::get_canonical_type): Adjust.
+       (struct type_or_decl_base::priv): Move this to abg-ir-priv.h.
+       (type_or_decl_base::hashing_started): Remove.
+       ({decl_base, scope_decl, var_decl, function_decl,
+       function_decl::parameter, class_decl::base_spec,
+       non_type_tparameter, type_composition}::get_hash): Likewise.
+       ({template_parameter}::get_hashing_has_started)
+       (template_parameter::set_hashing_has_started): Likewise.
+       (type_or_decl_base::{hash_value, set_hash_value})
+       ({type_base, type_decl, qualified_type_def, pointer_type_def,
+       reference_type_def, ptr_to_mbr_type,
+       array_type_def::subrange_type, array_type_def, enum_type_decl,
+       typedef_decl, function_type, method_type, class_or_union,
+       class_decl::base_spec, class_decl, union_decl}::hash_value):
+       Define new member functions.
+       (type_or_decl_base::set_hash_value): Likewise.
+       (get_decl_name_for_comparison): Make this non-static.
+       (is_scope_decl): Constify.
+       (type_is_suitable_for_hash_computing)
+       (peek_hash_value, read_type_hash, read_hash_and_stash)
+       (look_through_decl_only_type)
+       (candidate_matches_a_canonical_type_hash)
+       (sort_types_for_hash_computing_and_c14n): Define new functions.
+       (lookup_pointer_type, lookup_reference_type)
+       (pointer_type_def::get_qualified_name)
+       (reference_type_def::get_qualified_name)
+       (reference_type_def::get_pretty_representation): Adjust.
+       (get_type_name):  Better handle naming of anonymous type decls,
+       used for enums.
+       (get_debug_representation): Adjust to emit hashes & CTI of types
+       as well as member types while debugging.
+       (look_through_decl_only_type): Rename look_through_decl_only into
+       this.
+       (lookup_pointer_type, lookup_reference_type)
+       (reference_type_def::get_qualified_name): Adjust.
+       (compare_canonical_type_against_candidate): Stop doing canonical
+       type propagation during type canonicalization.
+       (type_base::get_canonical_type_for): Use the new
+       candidate_matches_a_canonical_type_hash.  Set the canonical type
+       index for homophone canonical types.  In debug mode, check that if
+       a type equals a canonical type, their hash value must match.
+       (canonicalize): Take new do_log and show_stats parameter.  Improve
+       logging.  Also, a type must have the same CTI as its canonical
+       type.
+       (hash_type_or_decl): Adjust to use the new type
+       hash_t.
+       (type_topo_comp::operator()): Add an overload for type_base_wptr.
+       If the two pointers are equal, get out early.  Otherwise, if
+       everything else is equal, sort using the absolute path of the
+       containing translation unit.
+       (maybe_propagate_canonical_type): Propagate canonical type only if
+       their CTI match.
+       * src/abg-reader.cc (maybe_canonicalize_type): Improve logging.
+       Schedule all types for late canonicalization.
+       (reader::perform_type_canonicalization): Improve logging.  Call
+       hash_and_canonicalize_types to hash and canonicalize types.
+       (read_type_hash_and_cti, read_hash_and_stash): Define new static
+       functions.
+       (build_function_decl, build_type_decl)
+       (build_qualified_type_decl)
+       (build_pointer_type_def, build_reference_type_def)
+       (build_ptr_to_mbr_type, build_function_type, build_subrange_type)
+       (build_array_type_def, build_enum_type_decl, build_typedef_decl)
+       (build_class_decl, build_union_decl): Read and set the hash value
+       from ABIXML.
+       (build_function_decl, build_qualified_type_decl)
+       (build_pointer_type_def, build_reference_type_def)
+       (build_function_type, build_subrange_type, build_array_type_def)
+       (build_enum_type_decl, build_typedef_decl, build_class_decl)
+       (build_union_decl): Read the hash and CTI and set them to the
+       type.
+       (build_reference_type_def): Build the referenced type before-hand.
+       (build_class_tdecl, build_type_tparameter, build_type_composition)
+       (build_template_tparameter, build_type, handle_type_decl)
+       (handle_qualified_type_decl, handle_pointer_type_def)
+       (handle_reference_type_def, handle_function_type)
+       (handle_array_type_def, handle_enum_type_decl)
+       (handle_typedef_decl, handle_class_decl, handle_union_decl):
+       Adjust to the use of the new maybe_canonicalize_type signature.
+       * src/abg-btf-reader.cc (reader::canonicalize_types): Use the new
+       hash_and_canonicalize_types defined above.  Log the time taken by
+       type canonicalization.
+       * src/abg-ctf-reader.cc (reader::{types,
+       additional_types_to_canonicalize}): New data members
+       (reader::add_types): New member functions.
+       (reader::canonicalize_all_types): Use the new
+       hash_and_canonicalize_types defined above.
+       (process_ctf_base_type): Do not call canonicalize here.
+       (build_ir_node_for_variadic_parameter_type)
+       (build_ir_node_for_void_type)
+       (build_ir_node_for_void_pointer_type, process_ctf_enum_type):
+       Likewise, and call reader::add_type instead.
+       * src/abg-dwarf-reader.cc ({dwarf_offset_pair_hash, offset_hash,
+       offset_pair_hash}::operator()): Adjust to using the new hash_t
+       type.
+       (reader::canonicalize_types_scheduled): Use the new
+       hash_and_canonicalize_types above.
+       (maybe_canonicalize_type): Schedule all types for late
+       canonicalization.
+       * src/abg-writer.cc (reader::get_id_for_type): Constify the
+       parameter.
+       (write_type_hash_and_cti, write_common_type_info)
+       (write_fn_parm_and_return_types): Define new static functions.
+       (write_type_decl, write_qualified_type_def)
+       (write_pointer_type_def, write_reference_type_def)
+       (write_array_subrange_type, write_array_type_def)
+       (write_enum_type_decl, write_typedef_decl, write_function_decl)
+       (write_function_type, write_class_decl_opening_tag)
+       (write_union_decl_opening_tag): Emit hash value and CTI to the
+       ABIXML.
+       * tests/Makefile.am: XFAIL the tests runtestdifffilter and
+       runtestabidiffexit for now.
+       * tests/data/test-abidiff-exit/PR30329/PR30329-report-1.txt:
+       Adjust.
+       * tests/data/test-annotate/PR29443-missing-xx.o.annotated.abi:
+       Likewise.
+       * tests/data/test-annotate/libtest23.so.abi: Likewise.
+       * tests/data/test-annotate/libtest24-drop-fns-2.so.abi: Likewise.
+       * tests/data/test-annotate/libtest24-drop-fns.so.abi: Likewise.
+       * tests/data/test-annotate/test-anonymous-members-0.o.abi:
+       Likewise.
+       * tests/data/test-annotate/test-pointer-to-member-1.o.annotated.abi:
+       Likewise.
+       * tests/data/test-annotate/test0.abi: Likewise.
+       * tests/data/test-annotate/test1.abi: Likewise.
+       * tests/data/test-annotate/test13-pr18894.so.abi: Likewise.
+       * tests/data/test-annotate/test14-pr18893.so.abi: Likewise.
+       * tests/data/test-annotate/test15-pr18892.so.abi: Likewise.
+       * tests/data/test-annotate/test17-pr19027.so.abi: Likewise.
+       * tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test2.so.abi: Likewise.
+       * tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test21-pr19092.so.abi: Likewise.
+       * tests/data/test-annotate/test3.so.abi: Likewise.
+       * tests/data/test-annotate/test4.so.abi: Likewise.
+       * tests/data/test-annotate/test5.o.abi: Likewise.
+       * tests/data/test-annotate/test6.so.abi: Likewise.
+       * tests/data/test-annotate/test7.so.abi: Likewise.
+       * tests/data/test-annotate/test8-qualified-this-pointer.so.abi:
+       Likewise.
+       * tests/data/test-diff-dwarf-abixml/PR25409-librte_bus_dpaa.so.20.0.abi:
+       Likewise.
+       * tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1.abi:
+       Likewise.
+       * tests/data/test-diff-filter/test-PR26739-2-report-0.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test3-report.txt: Likewise.
+       * tests/data/test-diff-filter/test30-pr18904-rvalueref-report0.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test30-pr18904-rvalueref-report1.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test30-pr18904-rvalueref-report2.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test31-pr18535-libstdc++-report-0.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test31-pr18535-libstdc++-report-1.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test35-pr18754-no-added-syms-report-0.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test35-pr18754-no-added-syms-report-1.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test43-decl-only-def-change-leaf-report-0.txt:
+       Likewise.
+       * tests/data/test-diff-pkg-ctf/gmp-6.x.x86_64-report-0.txt:
+       Likewise.
+       * tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt:
+       Likewise.
+       * tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt:
+       Likewise.
+       * tests/data/test-read-btf/test0.o.abi: Likewise.
+       * tests/data/test-read-btf/test1.o.abi: Likewise.
+       * tests/data/test-read-ctf/PR27700/test-PR27700.abi: Likewise.
+       * tests/data/test-read-ctf/test-PR26568-1.o.abi: Likewise.
+       * tests/data/test-read-ctf/test-PR26568-2.o.abi: Likewise.
+       * tests/data/test-read-ctf/test-alias.o.abi: Likewise.
+       * tests/data/test-read-ctf/test-ambiguous-struct-A.o.hash.abi:
+       Likewise.
+       * tests/data/test-read-ctf/test-ambiguous-struct-B.o.hash.abi:
+       Likewise.
+       * tests/data/test-read-ctf/test-anonymous-fields.o.abi: Likewise.
+       * tests/data/test-read-ctf/test-array-mdimension.abi: Likewise.
+       * tests/data/test-read-ctf/test-array-of-pointers.abi: Likewise.
+       * tests/data/test-read-ctf/test-array-size.abi: Likewise.
+       * tests/data/test-read-ctf/test-bitfield-enum.abi: Likewise.
+       * tests/data/test-read-ctf/test-bitfield.abi: Likewise.
+       * tests/data/test-read-ctf/test-callback.abi: Likewise.
+       * tests/data/test-read-ctf/test-callback2.abi: Likewise.
+       * tests/data/test-read-ctf/test-conflicting-type-syms-a.o.hash.abi:
+       Likewise.
+       * tests/data/test-read-ctf/test-conflicting-type-syms-b.o.hash.abi:
+       Likewise.
+       * tests/data/test-read-ctf/test-const-array.abi: Likewise.
+       * tests/data/test-read-ctf/test-dynamic-array.o.abi: Likewise.
+       * tests/data/test-read-ctf/test-enum-many.o.hash.abi: Likewise.
+       * tests/data/test-read-ctf/test-enum-symbol.o.hash.abi: Likewise.
+       * tests/data/test-read-ctf/test-enum.o.abi: Likewise.
+       * tests/data/test-read-ctf/test-fallback.abi: Likewise.
+       * tests/data/test-read-ctf/test-forward-type-decl.abi: Likewise.
+       * tests/data/test-read-ctf/test-functions-declaration.abi:
+       Likewise.
+       * tests/data/test-read-ctf/test-linux-module.abi: Likewise.
+       * tests/data/test-read-ctf/test-list-struct.abi: Likewise.
+       * tests/data/test-read-ctf/test0.abi: Likewise.
+       * tests/data/test-read-ctf/test0.hash.abi: Likewise.
+       * tests/data/test-read-ctf/test1.so.abi: Likewise.
+       * tests/data/test-read-ctf/test1.so.hash.abi: Likewise.
+       * tests/data/test-read-ctf/test2.so.abi: Likewise.
+       * tests/data/test-read-ctf/test2.so.hash.abi: Likewise.
+       * tests/data/test-read-ctf/test3.so.abi: Likewise.
+       * tests/data/test-read-ctf/test3.so.hash.abi: Likewise.
+       * tests/data/test-read-ctf/test4.so.abi: Likewise.
+       * tests/data/test-read-ctf/test4.so.hash.abi: Likewise.
+       * tests/data/test-read-ctf/test5.o.abi: Likewise.
+       * tests/data/test-read-ctf/test7.o.abi: Likewise.
+       * tests/data/test-read-ctf/test8.o.abi: Likewise.
+       * tests/data/test-read-ctf/test9.o.abi: Likewise.
+       * tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise.
+       * tests/data/test-read-dwarf/PR24378-fn-is-not-scope.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Likewise.
+       * tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/PR26261/PR26261-exe.abi: Likewise.
+       * tests/data/test-read-dwarf/PR27700/test-PR27700.abi: Likewise.
+       * tests/data/test-read-dwarf/PR28584/PR28584-smv.clang.o.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/PR29443-missing-xx.o.abi: Likewise.
+       * tests/data/test-read-dwarf/PR29692-kdelibs3-libkjava.so.1.0.0.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/libtest23.so.abi: Likewise.
+       * tests/data/test-read-dwarf/libtest24-drop-fns-2.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/libtest24-drop-fns.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test-PR26568-1.o.abi: Likewise.
+       * tests/data/test-read-dwarf/test-PR26568-2.o.abi: Likewise.
+       * tests/data/test-read-dwarf/test-fallback.abi: Likewise.
+       * tests/data/test-read-dwarf/test-libaaudio.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test-pointer-to-member-1.o.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test-suppressed-alias.o.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test0.abi: Likewise.
+       * tests/data/test-read-dwarf/test0.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test1.abi: Likewise.
+       * tests/data/test-read-dwarf/test1.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test13-pr18894.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test14-pr18893.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test17-pr19027.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test2.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test2.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test21-pr19092.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test3-alias-1.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test3-alias-2.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test3-alias-3.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test3-alias-4.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test3.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test3.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test4.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test4.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test5.o.abi: Likewise.
+       * tests/data/test-read-dwarf/test5.o.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test6.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test6.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test7.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test7.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test8-qualified-this-pointer.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test8-qualified-this-pointer.so.hash.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise.
+       * tests/data/test-read-write/test-crc.xml: Likewise.
+       * tests/data/test-read-write/test0.xml: Likewise.
+       * tests/data/test-read-write/test1.xml: Likewise.
+       * tests/data/test-read-write/test10.xml: Likewise.
+       * tests/data/test-read-write/test11.xml: Likewise.
+       * tests/data/test-read-write/test12.xml: Likewise.
+       * tests/data/test-read-write/test13.xml: Likewise.
+       * tests/data/test-read-write/test14.xml: Likewise.
+       * tests/data/test-read-write/test15.xml: Likewise.
+       * tests/data/test-read-write/test16.xml: Likewise.
+       * tests/data/test-read-write/test17.xml: Likewise.
+       * tests/data/test-read-write/test18.xml: Likewise.
+       * tests/data/test-read-write/test19.xml: Likewise.
+       * tests/data/test-read-write/test2.xml: Likewise.
+       * tests/data/test-read-write/test20.xml: Likewise.
+       * tests/data/test-read-write/test21.xml: Likewise.
+       * tests/data/test-read-write/test22.xml: Likewise.
+       * tests/data/test-read-write/test23.xml: Likewise.
+       * tests/data/test-read-write/test24.xml: Likewise.
+       * tests/data/test-read-write/test25.xml: Likewise.
+       * tests/data/test-read-write/test26.xml: Likewise.
+       * tests/data/test-read-write/test27.xml: Likewise.
+       * tests/data/test-read-write/test28-without-std-fns-ref.xml:
+       Likewise.
+       * tests/data/test-read-write/test28-without-std-vars-ref.xml:
+       Likewise.
+       * tests/data/test-read-write/test3.xml: Likewise.
+       * tests/data/test-read-write/test4.xml: Likewise.
+       * tests/data/test-read-write/test5.xml: Likewise.
+       * tests/data/test-read-write/test6.xml: Likewise.
+       * tests/data/test-read-write/test7.xml: Likewise.
+       * tests/data/test-read-write/test8.xml: Likewise.
+       * tests/data/test-read-write/test9.xml: Likewise.
+
+2024-08-29  Dodji Seketeli <dodji@redhat.com>
+
+       abipkgdiff: Make --verbose enable the library's logging
+       * tools/abipkgdiff.cc (set_generic_options): Make --verbose
+       trigger the logs of the library.
+
+2024-08-28  Dodji Seketeli <dodji@redhat.com>
+
+       dwarf-reader: Do not fix ELF symbols for virtual destructors
+       * src/abg-dwarf-reader.cc (finish_member_function_reading): Do not
+       schedule virtual destructors for ELF symbol-related function
+       fixup.
+
+2024-08-29  Dodji Seketeli <dodji@redhat.com>
+
+       ctf-reader: Make logging more obvious
+       * src/abg-ctf-reader.cc (reader::read_corpus): Prefix the logs
+       with "CTF Reader".
+
+2024-08-22  Dodji Seketeli <dodji@redhat.com>
+
+       dwarf-reader: Fix support of suppression specifications
+       * src/abg-dwarf-reader.cc (function_is_suppressed)
+       (variable_is_suppressed): Do not return too early when the
+       function doesn't seem suppressed, yet.
+       * tests/data/test-diff-suppr/test31-report-0.txt: Adjust.
+       * tests/data/test-diff-suppr/test32-report-1.txt: Adjust.
+
+2024-08-21  Dodji Seketeli <dodji@redhat.com>
+
+       btf-reader: Add logging methods
+       * src/abg-btf-reader.cc (reader::{do_log, show_stats}): Add new
+       methods.
+
+2024-08-28  Dodji Seketeli <dodji@redhat.com>
+
+       dwarf-reader: Better support concrete instance functions DIEs
+       * src/abg-dwarf-reader.cc (build_ir_node_from_die):  If the DIE is
+       a concrete instance of an abstract one, then get the IR from the
+       abstract one as it has all the types right.
+       * tests/data/test-annotate/test14-pr18893.so.abi: Adjust.
+       * tests/data/test-diff-pkg/PR24690/PR24690-report-0.txt: Likewise.
+       * tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-2.txt:
+       Likewise.
+       * tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-3.txt:
+       Likewise.
+       * tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test14-pr18893.so.abi: Likewise.
+
+2024-08-08  Dodji Seketeli <dodji@redhat.com>
+
+       ctf-reader: Enumerate dicts in the archive rather than using their name
+       * src/abg-ctf-reader.cc (reader::process_ctf_archive):  Do not use
+       ctf_dict_open to open the dictionary by name.  Rather, enumerate
+       the dictionaries of the current archive by using ctf_archive_next
+       just like what lookup_symbol_in_ctf_archive does.  Set the
+       argument of the skip_parent parameter to "false" to ensure we get
+       the parent dictionary.
+       (lookup_symbol_in_ctf_archive): Clean this up to properly
+       initialize the parameters and to document the arguments to the
+       parameters of ctf_archive_next.  Use nullptr instead of NULL.
+       * tests/data/test-diff-pkg-ctf/test-rpm-report-1.txt: Adjust.
+       * tests/data/test-diff-pkg-ctf/test-rpm-report-2.txt: Adjust.
+
+2024-08-16  Dodji Seketeli <dodji@redhat.com>
+
+       ir: Handle ptr to fn type member with empty void return type
+       * src/abg-ir.cc (add_outer_ptr_to_mbr_type_expr): If the function
+       type has no return type, consider it as void type.
+
+2024-08-16  Dodji Seketeli <dodji@redhat.com>
+
+       reader: Avoid empty return type node for a function type IR
+       * src/abg-reader.cc (build_function_type): If the return type node
+       is empty, use a void type node.
+
+2024-08-16  Dodji Seketeli <dodji@redhat.com>
+
+       ir: Don't cache internal name of non-canonicalized function types
+       * src/abg-ir.cc (function_type::get_cached_name): Do not cache
+       internal name for non-canonicalized function types.
+
+2024-08-16  Dodji Seketeli <dodji@redhat.com>
+
+       ir: Improve legibility of set_member_function_is_virtual
+       * src/abg-ir.cc (set_member_function_is_virtual): Remove
+       useless white space and use clearer helper function.
+
+2024-08-06  Dodji Seketeli <dodji@redhat.com>
+
+       abidw: Make generic options like --verbose work with the ABIXML front-end
+       * tools/abidw.cc (set_generic_options): Take a fe_iface in
+       parameter, not an elf_based_reader.
+       (perform_self_comparison): Call set_generic_options.
+
+2024-08-13  Dodji Seketeli <dodji@redhat.com>
+
+       reader: Fix building of reference type
+       * src/abg-reader.cc (build_reference_type_def): Remove unnecessary
+       condition.
+
+2024-08-13  Dodji Seketeli <dodji@redhat.com>
+
+       reader: Avoid crashing on empty scopes in reader::push_decl_to_scope
+       * src/abg-reader.cc (reader::push_decl_to_scope): It's only if
+       there is a non-nil scope that the assert can be reached.
+
+2024-08-06  Dodji Seketeli <dodji@redhat.com>
+
+       ir: Fix comment for translation_unit::get_global_scope
+       * src/abg-ir.cc (translation_unit::get_global_scope): Fix comment.
+
+2024-08-06  Dodji Seketeli <dodji@redhat.com>
+
+       ir: Speed up enum comparison
+       * src/abg-ir.cc (equals): In the overload for enums, compare
+       enumerators naively for the case both enums are naively equal.
+
+2024-08-05  Dodji Seketeli <dodji@redhat.com>
+
+       ir: Support comparing a class_decl against a class_or_union
+       * src/abg-ir.cc (class_decl::operator==): Support comparing
+       against a class_or_union.
+
+2024-08-05  Dodji Seketeli <dodji@redhat.com>
+
+       ir: Support canonical type adjustments for decl-only class types
+       * src/abg-ir.cc (maybe_adjust_canonical_type): Look through
+       decl-only classes to get their definition.
+
+2024-08-01  Dodji Seketeli <dodji@redhat.com>
+
+       ir: Make odr_is_relevant support support artifacts with no TU set yet
+       * src/abg-ir.cc (odr_is_relevant): Consider that an artifact with
+       no associated TU is not relevant for ODR considerations.
+
+2024-08-01  Dodji Seketeli <dodji@redhat.com>
+
+       ir: add_decl_to_scope shouldn't abort on nullptr scopes
+       * src/abg-ir.cc (add_decl_to_scope): Do not abort on an empty
+       scope.
+
+2024-08-01  Dodji Seketeli <dodji@redhat.com>
+
+       ir: Fix getting the translation unit for an ABI artifact
+       * include/abg-fwd.h (get_translation_unit): Take a
+       type_or_decl_base parameter, not a decl_base.
+       * src/abg-ir.cc (get_translation_unit): Likewise.  If no
+       translation has yet been associated with the ABI artifact, get it
+       from its scope.
+       (type_or_decl_base::get_corpus): Use the new get_translation_unit.
+       (maybe_set_translation_unit): Assert that the translation unit is
+       non-nil.
+
+2024-07-31  Dodji Seketeli <dodji@redhat.com>
+
+       Use smart pointers for variables exported from the ABI corpus
+       * include/abg-comparison.h (string_var_ptr_map): Use a
+       var_decl_sptr rather than a var_decl*.
+       * include/abg-corpus.h (corpus::{variable, variables_set}):
+       Likewise.
+       (corpus::lookup_variable): Return a var_decl_sptr not a var_decl*.
+       (corpus::exported_decls_builder::maybe_add_var_to_exported_vars):
+       Take a var_decl_sptr, not a var_decl*.
+       * include/abg-fe-iface.h
+       (fe_iface::add_var_to_exported_or_undefined_decls): Likewise.
+       * include/abg-ir.h (istring_var_decl_ptr_map_type): Use a
+       var_decl_sptr rather than a var_decl*.
+       * src/abg-btf-reader.cc (reader::build_ir_node_from_btf_type):
+       Adjust call to add_var_to_exported_or_undefined_decls.
+       * src/abg-comparison-priv.h (var_comp::operator()()): Add a new
+       overload for var_decl_sptr.
+       (corpus_diff::priv::{deleted_variable_is_suppressed,
+       deleted_variable_is_suppressed}): Take a var_decl_sptr not a
+       var_decl*.
+       (sort_string_var_ptr_map): Take ...
+       * src/abg-comparison.cc (sort_string_var_ptr_map): ... a
+       vector<var_decl_sptr> rather than a vector<var_decl*>.
+       (corpus_diff::priv::ensure_lookup_tables_populated): Adjust.
+       (variable_is_suppressed): Likewise.
+       (corpus_diff::priv::{deleted_variable_is_suppressed,
+       added_variable_is_suppressed}): Likewise.
+       * src/abg-corpus-priv.h (str_var_ptr_map_type)
+       (istr_var_ptr_map_type): Use a var_decl_sptr rather than a
+       var_decl*.
+       (corpus::exported_decls_builder::priv::{add_var_to_map,
+       keep_wrt_id_of_vars_to_keep, keep_wrt_regex_of_vars_to_suppress,
+       keep_wrt_regex_of_vars_to_keep}): Likewise.
+       (corpus::exported_decls_builder::priv::vars): Likewise.
+       * src/abg-corpus.cc
+       (corpus::exported_decls_builder::maybe_add_var_to_exported_vars):
+       Likewise.
+       (var_comp::operator()()): Add an overload for var_decl_sptr.
+       (corpus::lookup_variable): Return var_decl_sptr rather than
+       var_decl*.
+       * src/abg-ctf-reader.cc (reader::process_ctf_archive): Adjust.
+       * src/abg-dwarf-reader.cc (build_ir_node_from_die): Adjust.
+       * src/abg-fe-iface.cc
+       (fe_iface::add_var_to_exported_or_undefined_decls): Take a
+       var_decl_sptr rather than a var_decl*.
+       * src/abg-reader.cc (build_class_decl, handle_var_decl): Adjust.
+       * src/abg-writer.cc (write_translation_unit): Likewise.
+       * tools/abicompat.cc (var_change::decl, var_change::var_change):
+       Likewise.
+       (compare_expected_against_provided_variables): Likewise.
+
+2024-08-07  Dodji Seketeli <dodji@redhat.com>
+
+       configure.ac: Fix typo triggered when --enable-big-tests is used
+       * configure.ac: It's "cd $ac_abs_top_srcdir/big-tests", not
+       "cd ac_abs_top_srcdir/big-tests"
+
+2024-07-04  Dodji Seketeli <dodji@redhat.com>
+
+       configure: Support the optional 'big-tests' sub-directory
+       * Makefile.am: Add big-tests,clean-big-tests and full-check
+       targets.
+       * configure.ac: Add an --enable-big-tests option.  For now, this
+       option is mandatory to handle the optional 'big-tests' support.
+       If the --enable-big-tests option is provided and if the
+       'big-tests' sub-directory is present, configure the big-tests/
+       sub-package.
+       * .gitmodules: New sub-module configuration to get
+       git://sourceware.org/git/libabigail-tests and stick into ...
+       * big-tests: ... this directory as a sub-module.
+       * CONTRIBUTING: Update this to explain how to get the Big Tests
+       going.
+       * tests/Makefile.am: Update the test summary for the
+       check-self-compare target.
+
+2024-07-09  Dodji Seketeli <dodji@redhat.com>
+
+       abidw: Support the --abidiff option for Linux Kernel trees
+       * include/abg-corpus.h (is_corpus_group): Declare ...
+       * src/abg-corpus.cc (is_corpus_group): ... new function.
+       * src/abg-ctf-reader.cc (create_reader): Support --debug-abidiff
+       when the package is configured with --enable-debug-self-comparison.
+       * tools/abidw.cc (load_corpus_and_write_abixml): Factorize self
+       comparison code out into ...
+       (perform_self_comparison): ... this.
+       (load_kernel_corpus_group_and_write_abixml): Use the new
+       perform_self_comparison to perform self comparison when the
+       --abidiff option is provided.  Also, support --debug-abidiff when
+       the package is configured with --enable-debug-self-comparison.
+
+2024-07-09  Dodji Seketeli <dodji@redhat.com>
+
+       ir,comparison,default-reporter: Consider sub-ranges in array diffs
+       * include/abg-comparison.h (array_diff::array_diff): Take a vector
+       of sub-range diffs as children diff nodes.
+       (array_diff::{subrange_diffs, any_subrange_diff_to_be_reported}):
+       Declare new methods.
+       (is_anonymous_subrange_diff): Declare new function.
+       * src/abg-comp-filter.cc (integral_type_has_harmless_name_change):
+       Define new function.
+       (has_harmless_name_change): Use the new
+       integral_type_has_harmless_name_change.
+       * src/abg-comparison-priv.h (array_diff::priv::subrange_diffs_):
+       Define new data member.
+       * src/abg-comparison.cc (is_anonymous_class_or_union_diff): Fix
+       comment.
+       (is_anonymous_subrange_diff): Define new function.
+       (array_diff::chain_into_hierarchy): Append sub-range diffs as
+       children nodes of the array_diff node.
+       (array_diff::array_diff): Take a vector of sub-range diffs as
+       children diff nodes.
+       (array_diff::{subrange_diffs, any_subrange_diff_to_be_reported}):
+       Define new methods.
+       (array_diff::has_changes): Take sub-range diffs into account.
+       (compute_diff): In the overload for array_type_def, compute diffs
+       for sub-ranges as part of the diff for array_type_defs.
+       (leaf_diff_node_marker_visitor::visit_begin): Do not consider an
+       anonymous sub-range diff node as being a leaf diff node to report
+       about.
+       (redundancy_marking_visitor::visit_end): Report all sub-range diff
+       nodes changes; do not propagate their (potential) redundancy to
+       their array_diff node parent.
+       * src/abg-default-reporter.cc (default_reporter::report): In the
+       overload for array_diff, if there is a sub-range change to be
+       reported, then report it.
+       * src/abg-ir-priv.h (real_type::base_type): Add SIZE_BASE_TYPE,
+       SSIZE_BASE_TYPE, BIT_SIZE_BASE_TYPE, SBIT_SIZE_BASE_TYPE,
+       ARRAY_SIZE_BASE_TYPE enumerators to this enum.
+       * src/abg-ir.cc (parse_base_real_type): Support parsing real type
+       names that are __ARRAY_SIZE_TYPE__, sizetype, ssizetype,
+       bitsizetype and sbitsizetype.
+       (real_type::to_string): Support IZE_BASE_TYPE, SSIZE_BASE_TYPE,
+       BIT_SIZE_BASE_TYPE, SBIT_SIZE_BASE_TYPE and ARRAY_SIZE_BASE_TYPE
+       enumerators.
+       (equals): In the overload for array_type_def::subrange_type,
+       compare the underlying types of the sub-ranged.  In the overload
+       for array_type_def, consider sub-range changes mismatch as a local
+       non-type change.  This is so that changes to sub-ranges don't get
+       filtered out because changes to element types are redundant.
+       * src/abg-reporter-priv.cc (represent): In the overload for
+       subrange_diff, clean up reporting of change of bound values.
+       Also, add reports of changes from non-finite to finite size.
+       * tests/data/test-abidiff-exit/ada-subrange/test1-ada-subrange/test1-ada-subrange-report-1.txt:
+       Adjust.
+       * Tests/data/test-abidiff-exit/ada-subrange/test1-ada-subrange/test1-ada-subrange-report-2.txt:
+       Likewise.
+       * tests/data/test-abidiff-exit/ada-subrange/test2-ada-subrange-redundant/test2-ada-subrange-redundant-report-1.txt:
+       Likewise.
+       * tests/data/test-abidiff-exit/ada-subrange/test2-ada-subrange-redundant/test2-ada-subrange-redundant-report-2.txt:
+       Likewise.
+       * tests/data/test-abidiff-exit/test-allow-type-array-v0--v1-report-1.txt:
+       Likewise.
+       * tests/data/test-abidiff-exit/test-allow-type-array-v0--v3-report-1.txt:
+       Likewise.
+       * tests/data/test-abidiff/test-PR27985-report.txt: Likewise.
+       * tests/data/test-diff-dwarf/test10-report.txt: Likewise.
+       * tests/data/test-diff-dwarf/test11-report.txt: Likewise.
+       * tests/data/test-diff-dwarf/test35-pr19173-libfoo-long-clang-report-0.txt:
+       Likewise.
+       * tests/data/test-diff-dwarf/test35-pr19173-libfoo-long-gcc-report-0.txt:
+       Likewise.
+       * tests/data/test-diff-filter/PR24430-fold-qualified-array-report-0.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test-PR29811-0-report-1.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test30-pr18904-rvalueref-report0.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test30-pr18904-rvalueref-report1.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test30-pr18904-rvalueref-report2.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test35-pr18754-no-added-syms-report-0.txt:
+       Likewise.
+       * tests/data/test-diff-pkg/libICE-1.0.6-1.el6.x86_64.rpm--libICE-1.0.9-2.el7.x86_64.rpm-report-0.txt:
+       Likewise.
+       * tests/data/test-diff-pkg/nss-3.23.0-1.0.fc23.x86_64-report-0.txt:
+       Likewise.
+       * tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt:
+       Likewise.
+       * tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt:
+       Likewise.
+       * tests/data/test-diff-suppr/test-has-data-member-inserted-at-1-report-1.txt:
+       Likewise.
+       * tests/data/test-diff-suppr/test-has-strict-flexible-array-data-member-conversion-report-2.txt:
+       Likewise.
+
+2024-07-08  Dodji Seketeli <dodji@redhat.com>
+
+       ir: Rename integral_type into real_type
+       * include/abg-fwd.h (is_real_type): Declare new function.
+       * src/abg-ctf-reader.cc (process_ctf_base_type): Adjust.
+       * src/abg-dwarf-reader.cc (die_qualified_type_name)
+       (build_type_decl): Adjust.
+       * src/abg-ir-priv.h (class real_type): Rename class integral_type
+       into this.
+       * src/abg-ir.cc (get_internal_real_type_name, operator|)
+       (operator&, operator~, operator|=, operator&=)
+       (parse_real_type_modifier, parse_base_real_type, parse_real_type)
+       (real_type::{real_type, get_base_type, get_modifiers,
+       set_modifiers, to_string, operator string()}):
+       s/integral_type/real_type.
+       (type_decl::{type_decl, get_qualified_name,
+       get_pretty_representation}): Adjust.
+       (is_real_type): Define new function.
+       (is_integral_type): Use the new is_real_type.
+
+2024-07-08  Dodji Seketeli <dodji@redhat.com>
+
+       ir: Don't strip typedefs from parms and return type when comparing fns
+       * src/abg-ir.cc (equals): In the overloads from function_type and
+       function_decl::parameter, do not strip typedefs off of types
+       becore comparing them.
+       * tests/data/test-abidiff-exit/PR30329/PR30329-report-1.txt:
+       Adjust.
+       * tests/data/test-abidiff-exit/PR30503/libsdl/libsdl-1.2.60-1.2.64-report.txt:
+       Adjust.
+       * tests/data/test-abidiff-exit/PR31513/reported/PR31513-reported-report-1.txt:
+       Adjust.
+       * tests/data/test-abidiff-exit/PR31513/reported/PR31513-reported-report-2.txt:
+       Adjust.
+       * tests/data/test-annotate/test14-pr18893.so.abi: Adjust.
+       * tests/data/test-annotate/test15-pr18892.so.abi: Adjust.
+       * tests/data/test-annotate/test17-pr19027.so.abi: Adjust.
+       * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Adjust.
+       * tests/data/test-diff-dwarf/test2-report.txt: Adjust.
+       * tests/data/test-diff-filter/test3-report.txt: Adjust.
+       * tests/data/test-diff-pkg-ctf/gmp-6.x.x86_64-report-0.txt:
+       Adjust.
+       * tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Adjust.
+       * tests/data/test-read-dwarf/test-libandroid.so.abi: Adjust.
+       * tests/data/test-read-dwarf/test14-pr18893.so.abi: Adjust.
+       * tests/data/test-read-dwarf/test15-pr18892.so.abi: Adjust.
+       * tests/data/test-read-dwarf/test17-pr19027.so.abi: Adjust.
+       * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Adjust.
+       * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi:
+       Adjust.
+
+2024-07-05  Dodji Seketeli <dodji@redhat.com>
+
+       reader: Fix building of variadic parameter type
+       * src/abg-ir-priv.h (type_topo_comp::operator()): Do not compare
+       types using their location anymore.  It's unnecessary (now that
+       types are sorted before canonicalization) and it wreaks havoc with
+       the new properly constructed variadic parameter types.
+       * src/abg-reader.cc (build_ir_node_for_variadic_parameter_type):
+       Define new function.  Add variadic parameter type to the global
+       scope of the current translation unit.
+       (build_function_parameter, build_type_decl): Use the new
+       build_ir_node_for_variadic_parameter_type.
+       * tests/data/test-read-write/test17.xml: Adjust.
+       * tests/data/test-read-write/test19.xml: Likewise.
+       * tests/data/test-read-write/test20.xml: Likewise.
+       * tests/data/test-read-write/test21.xml: Likewise.
+       * tests/data/test-read-write/test22.xml: Likewise.
+       * tests/data/test-read-write/test23.xml: Likewise.
+       * tests/data/test-read-write/test25.xml: Likewise.
+       * tests/data/test-read-write/test26.xml: Likewise.
+       * tests/data/test-read-write/test28-without-std-fns-ref.xml:
+       Likewise.
+       * tests/data/test-read-write/test28-without-std-vars-ref.xml:
+       Likewise.
+
+2024-07-05  Dodji Seketeli <dodji@redhat.com>
+
+       reader: Fix building of void and void pointer types
+       * src/abg-reader.cc (build_ir_node_for_void_pointer_type)
+       (build_ir_node_for_void_type): Add the type to its scope and
+       schedule it for canonicalization just once.
+
+2024-07-05  Dodji Seketeli <dodji@redhat.com>
+
+       reader: Simplify logic of get_or_read_and_add_translation_unit
+       * src/abg-reader.cc (get_or_read_and_add_translation_unit):
+       Simplify logic.
+
+2024-07-05  Dodji Seketeli <dodji@redhat.com>
+
+       reader: Simplify type canonicalization invocation
+       * src/abg-reader.cc (reader::maybe_canonicalize_type): Remove.
+       (reader::schedule_type_for_canonicalization): Do not schedule
+       nullptr types for canonicalization.
+       (reader::perform_type_canonicalization): Rename
+       perform_late_type_canonicalizing into this.
+       (reader::{read_corpus, build_or_get_type_decl}): Adjust call to
+       maybe_canonicalize_type into schedule_type_for_canonicalization.
+       (read_translation_unit_from_file)
+       (read_translation_unit_from_buffer, read_translation_unit)
+       (build_function_decl, build_ir_node_for_void_type)
+       (build_array_type_def, build_ir_node_for_void_pointer_type)
+       (build_class_decl, build_union_decl)
+       (build_class_tdecl, build_type_tparameter, build_type_composition)
+       (build_template_tparameter, build_type, handle_type_decl)
+       (handle_qualified_type_decl, handle_pointer_type_def)
+       (handle_reference_type_def, handle_function_type)
+       (handle_array_type_def, handle_enum_type_decl)
+       (handle_typedef_decl, handle_class_decl, handle_union_decl):
+       Likewise.
+
+2024-07-05  Dodji Seketeli <dodji@redhat.com>
+
+       reader: Fix corpus group reading
+       * src/abg-fe-iface.cc (fe_iface::priv::initialize): Do not clear
+       the corpus group upon initialization.
+       * src/abg-reader.cc (reader::initialize): Define new function.
+       Make it call fe_iface::initialize.
+       (reader::clear_per_corpus_data): Remove.
+       (reader::read_corpus): Remove call to clear_per_corpus_data.
+       (reader::read_corpus_group_from_input): After calling
+       reader::read_corpus and adding the resulting corpus to the group,
+       get the next sibling XML element node.  If it's an "abi-corpus"
+       node then re-initialize the reader by invoking the new
+       reader::initialize and move on to read it by invoking
+       reader::read_corpus again.
+       * tests/data/test-diff-suppr/test45-abi-report-1.txt: Adjust.
+
+2024-07-10  Dodji Seketeli <dodji@redhat.com>
+
+       ctf-reader: Fix analyzing single kernel binaries
+       * src/abg-ctf-reader.cc (reader::slurp_elf_info): Do not crash on
+       a kernel binary that has no CTF section because the CTF
+       information is in a .ctfa file in the same directory.
+       (reader::read_corpus): Support loading a CTF archive for a single
+       kernel binary.  Also, support loading the CTF archive from the CTF
+       sections in the binary itself not necessarily from a .ctfa file in
+       the same directory.
+
+2024-06-28  Dodji Seketeli <dodji@redhat.com>
+
+       ctf-reader: During re-initialization, only clear canonicalize-able types
+       * src/abg-ctf-reader.cc (reader::types_to_canonicalize): Add data
+       member.
+       (reader::add_type): Add the new type to the vector of types to be
+       canonicalized.  Update comment.
+       (reader::canonicalize_all_types): Now that the reader maintains
+       the vector of types to be canonicalized, just pass that vector to
+       canonicalize_types.  reader::types_map contains all the types that
+       have been created in all the binaries processed by this reader so
+       far.  Many of these types have already been canonicalized at the
+       end of the analysis of binaries that have already been processed.
+       Only the types created during the processing of the current binary
+       have not yet be canonicalized and reader::types_to_canonicalize is
+       where they are maintained.  So reader::types_map should be left
+       alone by this function.
+       (reader::initialize): Do not close the CTF archive here.  Do not
+       clear reader::{types_map, corpus_group} either.
+       (reader::read_corpus): Use nullptr, not NULL.  Make sure to not
+       re-open an archive that has already been opened.
+       (reader::~reader): Mark a closed archive.  This is more cosmetic
+       than anything else.
+
+2024-07-15  Dodji Seketeli <dodji@redhat.com>
+
+       ctf-reader: Do not set data member offsets for unions
+       * src/abg-ctf-reader.cc (process_ctf_sou_members): Do not set any
+       union data member offset.
+
+2024-07-09  Dodji Seketeli <dodji@redhat.com>
+
+       corpus: Support adding translation units with empty path
+       * src/abg-corpus.cc (corpus::add): Do not require that the path of
+       the translation unit be non-empty.
+
+2024-07-15  Dodji Seketeli <dodji@redhat.com>
+
+       tools-utils,btf-reader: Take modules into account for corpus group
+       *type* with libabigail IR artifact.
+       With this changes, abidw can now analyze and emit the ABIXML for a
+       linux kernel tree in 28 seconds, using BTF.  It can self-compare a
+       kernel tree in 36 seconds.
+       * src/abg-btf-reader.cc (btf_type_to_abi_artifact_map_type):
+       Rename btf_type_id_to_abi_artifact_map_type into this.  Make it
+       associate a btf_type* to a libabigail IR, rather than a type ID to
+       a libabigail IR.
+       (reader::{base_btf_handle_, base_btf_file_name_,
+       split_btf_handle_, split_btf_file_name_, split_btfs_to_free_}):
+       Define new data members.
+       (reader::{btf_handle_}): Remove.
+       (reader::base_btf_handle): Renamed btf_handle into this.  Create
+       the BTF object using btf__parse.  Store the name of the binary
+       into reader::base_btf_file_name_.
+       (reader::read_split_btf): Define new member function.
+       (reader::btf_handle): This is new code for an existing member
+       function name.  Return the current split BTF object handle if
+       applicable, otherwise create the base BTF object handle.
+       (reader::btf_type_to_artifacts_): Renamed
+       btf_type_id_to_artifacts into this.
+       (reader::associate_artifact_to_btf_type): Renamed
+       associate_artifact_to_btf_type_id into this.
+       (reader::schedule_type_for_canonicalization): Do not schedule a
+       type that has already been canonicalized.
+       (reader::nr_btf_types): Take a BTF* parameter.
+       (reader::~reader): Free all the allocated split BTF objects.
+       (reader::read_debug_info_into_corpus): If we are looking at a
+       split BTF, then set the first type ID as the one right after the
+       last type ID of the base BTF.
+       (reader::build_ir_node_from_btf_type): Clean-up the logic for
+       building type void type.
+       (reader::{build_ir_node_for_void_type,
+       build_ir_node_for_void_pointer_type,
+       build_ir_node_for_variadic_parameter_type,
+       build_enum_underlying_type, build_array_type}): Schedule type for
+       canonicalization at the end of the IR construction, not right
+       away.
+       * src/abg-tools-utils.cc (create_best_elf_based_reader): Pass
+       show_all_types and linux_kernel_mode arguments to
+       btf::create_reader.
+
+2024-07-09  Dodji Seketeli <dodji@redhat.com>
+
+       elf-based-reader: Clean up logic of elf_based_reader::read_and_add_corpus_to_group
+       * src/abg-elf-based-reader.cc
+       (elf_based_reader::read_and_add_corpus_to_group): Fix logic.
+
+2024-07-09  Dodji Seketeli <dodji@redhat.com>
+
+       ir: Fix a potential crash in canonicalize_types
+       * src/abg-ir-priv.h (canonicalize_types): Avoid crashing when
+       de-referencing an iterator to a nullptr type.
+
+2024-07-10  Ross Burton <ross.burton@arm.com>
+
+       configure.ac: improve fts checks
+       * configure.ac: Use AC_SEARCH_LIBS to look for fts_open in libc
+       and in libfts if necessary.  Remove the use of FTS_LIBS which is
+       now unnecessary.
+       * src/Makefile.am: Do not use FTF_LIBS as it's now unnecessary.
+       * tools/Makefile.am: Likewise.
+
+2024-06-21  Dodji Seketeli <dodji@redhat.com>
+
+       btf-reader: Add missing data members reset to reader::initialize
+       * src/abg-btf-reader.cc (btf::reader::initialize): Clear
+       types_to_canonicalize_, btf_type_id_to_artifacts_ and cur_tu_.
+
+2024-06-21  Dodji Seketeli <dodji@redhat.com>
+
+       dwarf-reader: Fix reader::initialize to clear per corpus data
+       * src/abg-dwarf-reader.cc (reader::initialize):  Call
+       clear_per_corpus_data.
+       (reader::read_debug_info_into_corpus): Remove the call to
+       clear_per_corpus_data from here.
+
+2024-06-21  Dodji Seketeli <dodji@redhat.com>
+
+       ir: Cache the pretty representation used during pre-canonicalization type sorting
+       * include/abg-ir.h (decl_base::get_cached_pretty_representation):
+       Declare new member function.
+       * src/abg-ir-priv.h ({type,decl}_topo_comp::operator()): Use
+       {type,decl}_base::get_cached_pretty_representation instead of
+       get_pretty_representation.:
+       * src/abg-ir.cc (decl_base::priv::{internal_cached_repr_,
+       cached_repr}): Define new data members.
+       (decl_base::get_cached_pretty_representation):
+       Define new member function.
+       (type_base::get_cached_pretty_representation): Cache pretty
+       representation even for non-canonicalized types.  Fix comments.
+
+2024-06-21  Dodji Seketeli <dodji@redhat.com>
+
+       ctf-reader: Fix re-initialization of the CTF reader
+       * src/abg-ctf-reader.cc (reader::reader): Initialize ctfa,
+       ctf_sect, symtab_sect and strtab_sect data members.
+       (reader::initialize): In the overload taking no argument, make
+       sure to free the ctfa data member before setting it to nullptr.
+       In the overload that takes arguments, make sure to invoke
+       reader::initialize() to really free the data used.  Also, improve
+       the comments.
+
+2024-06-19  Claudiu Zissulescu <claudiu.zissulescu-ianculescu@oracle.com>
+
+       ctf-reader: Add time logging to CTF reader
+       * src/abg-ctf-reader.cc (do_log()): Getter of the do_log flag.
+       (read_corpus()): Add time logging.
+
+2024-06-19  Claudiu Zissulescu <claudiu.zissulescu-ianculescu@oracle.com>
+
+       ctf-reader: Optimize calling sorting function for functions and variables.
+       * abg-ctf-reader.cc (process_ctf_archive()): Move
+       canonicalize_all_types(), sort_functions() and sort_variables()...
+       (read_corpus()): ...here, just after calling process_ctf_archive().
+
+2024-06-12  Romain Geissler <romain.geissler@amadeus.com>
+
+       leaf-reporter: Fix build with gcc 4.9.
+       * src/abg-leaf-reporter.cc (leaf_reporter::report): In the
+       overload for corpus_diff, avoid using auto type deduction in
+       for-each loop.
+
+2024-05-31  Dodji Seketeli <dodji@redhat.com>
+
+       btf-reader: Fix re-use of the BTF reader for several binaries in a row
+       * src/abg-btf-reader.cc (reader::initialize): Free the btf handle
+       first thing as part of the re-initialization.
+       (reader::~reader): Once the BTF handle has been freed, set it to
+       nil to show that it's been deleted.
+       (reader::read_debug_info_into_corpus): If no BTF handle could be
+       retrieved then it means no BTF data was found on the binary.
+       Thus, return an empty corpus.
+
+2024-05-31  Dodji Seketeli <dodji@redhat.com>
+
+       abidw: make the --lt option support --btf
+       * tools/abidw.cc (load_kernel_corpus_group_and_write_abixml):
+       Support --btf.
+
+2024-05-31  Dodji Seketeli <dodji@redhat.com>
+
+       tools-utils.cc: Support collecting kernel binary paths build from sources
+       * src/abg-tools-utils.cc (get_binary_paths_from_kernel_dist): Look
+       for kernel modules under the root directory by default.
+
+2024-05-31  Dodji Seketeli <dodji@redhat.com>
+
+       Bug 31793 - tools-utils: Avoid endless loop in is_regular_file for directories
+       * src/abg-tools-utils.cc (is_regular_file): Loop on symbolic links
+       only.
+
+2024-05-15  Dodji Seketeli <dodji@redhat.com>
+
+       {btf,dwarf,ctf,abixml}-reader: Fix size of subrange type
+       * by the size of the base type designated by the DW_AT_type
+       attribute.
+       * or by the DW_AT_byte_size or DW_AT_bit_size attribute that might
+       be present on the DIE.
+       That is different from the length property carried by the subrange
+       type.
+       The patch updates the four front-rends (DWARF, BTF, CTF and ABIXML) to
+       fix the setting process of the size of the subrange type and adjusts
+       the testsuite accordingly.
+       * src/abg-btf-reader.cc (reader::build_array_type): The size of
+       the subrange is not defined specifically.  Let's set it to the
+       default address size of the translation unit.
+       * src/abg-ctf-reader.cc (build_array_ctf_range): If no basis type
+       was found, then set the size of the subrange type to the default
+       address size of the translation unit.
+       * src/abg-dwarf-reader.cc (build_subrange_type): Consider the
+       DW_AT_byte_size and DW_AT_bit_size attribute of
+       DW_TAG_subrange_type if present.  Otherwise, if the basis type is
+       present, its size as the size of the subrange type.  Otherwise,
+       use the default address size of the translation unit as the size
+       of the subrange type.
+       * src/abg-ir.cc (array_type_def::subrange_type::subrange_type): If
+       the underlying (basis) type is present, then use its size as the
+       size of the subrange type.  Otherwise the size is zero.
+       (array_type_def::subrange_type::set_underlying_type): Update the
+       size of the subrange when setting a new underlying (basis) type.
+       * src/abg-reader.cc (build_subrange_type): Read and set the size
+       of the subrange.
+       * tests/data/test-abidiff-exit/ada-subrange/test1-ada-subrange/test1-ada-subrange-report-1.txt:
+       Adjust.
+       * tests/data/test-abidiff-exit/ada-subrange/test1-ada-subrange/test1-ada-subrange-report-2.txt:
+       Likewise.
+       * tests/data/test-abidiff-exit/ada-subrange/test2-ada-subrange-redundant/test2-ada-subrange-redundant-report-1.txt:
+       Likewise.
+       * tests/data/test-abidiff-exit/ada-subrange/test2-ada-subrange-redundant/test2-ada-subrange-redundant-report-2.txt:
+       Likewise.
+       * tests/data/test-diff-pkg/GtkAda-gl-2.24.2-29.fc29.x86_64--2.24.2-30.fc30.x86_64-report-0.txt:
+       Likewise.
+
+2024-05-15  Dodji Seketeli <dodji@redhat.com>
+
+       configure: Fix detection of BTF header to enable the BTF front-end
+       * configure.ac: Use a new HAS_BTF_HEADERS to store the detection
+       status for the btf.h header.  Emit a better notice message when
+       the BTF header file is found.
+       Tested-by: Cestmir Kalina <ckalina@redhat.com>
+
+2024-05-10  Dodji Seketeli <dodji@redhat.com>
+
+       btf-reader: Ignore BTF nodes that ought to be ignored
+       * src/abg-btf-reader.cc (build_ir_node_from_btf_type): Ignore and
+       return nil for node of kind BTF_KIND_DECL_TAG, BTF_KIND_DATASEC,
+       and BTF_KIND_UNKN.  For all other nodes, abort.
+       # Veuillez saisir le message de validation pour vos
+       modifications. Les lignes # commençant par '#' seront ignorées, et
+       un message vide abandonne la validation.  # # Sur la branche
+       master # Votre branche est à jour avec 'origin/master'.  # #
+       Modifications qui seront validées : # modifié :
+       src/abg-btf-reader.cc # # Fichiers non suivis: #
+       doc/api/libabigail.doxy.bak # patches/ # prtests/ # #
+       ------------------------ >8 ------------------------ # Ne touchez
+       pas à la ligne ci-dessus.  # Tout ce qui suit sera éliminé.
+       diff --git a/src/abg-btf-reader.cc b/src/abg-btf-reader.cc
+       index f22e92bf..67206bb4 100644
+       --- a/src/abg-btf-reader.cc
+       +++ b/src/abg-btf-reader.cc
+       @@ -486,12 +486,16 @@ public:
+       #ifdef WITH_BTF_KIND_TYPE_TAG
+       case BTF_KIND_TYPE_TAG/* Type Tag */:
+       +           break;
+       #endif
+       #ifdef WITH_BTF_KIND_DECL_TAG
+       case BTF_KIND_DECL_TAG/* Decl Tag */:
+       +           break;
+       #endif
+       case BTF_KIND_DATASEC/* Section */:
+       +           break;
+       case BTF_KIND_UNKN/* Unknown    */:
+       +           break;
+       default:
+       ABG_ASSERT_NOT_REACHED;
+       break;
+
+2024-05-07  Dodji Seketeli <dodji@redhat.com>
+
+       dwarf-reader,ir: Unify type sorting & sort types before c14n
+       * src/abg-ctf-reader.cc (reader::canonicalize_all_types): Use a
+       temporary vector as input for ir::canonicalize_types because it
+       needs an ordered container as it now sorts types before
+       canonicalizing them.
+       * src/abg-dwarf-reader.cc (reader::types_to_canonicalize): Add a
+       non-const overload for this accessor.
+       * src/abg-ir-priv.h (compare_using_locations)
+       (is_ptr_ref_or_qual_type): Add a declaration for these functions
+       defined in abg-ir.cc.
+       (struct decl_topo_comp, struct type_topo_comp): Move these here,
+       from abg-ir.cc.
+       (canonicalize_types): Sort the types before canonicalizing them.
+       * src/abg-ir.cc (compare_using_locations): Turn this from static
+       to non-static, now that it's declared in abg-ir-priv.h.
+       (struct decl_topo_comp, struct type_topo_comp): Move these into
+       abg-ir-priv.h.
+       * src/abg-reader.cc: Include abg-ir-priv.h.
+       (reader::perform_late_type_canonicalizing): Use
+       ir::canonicalize_types, rather than canonicalizing types one by
+       one.
+       * src/abg-writer.cc: Include abg-ir-priv.h.
+       (struct type_topo_comp): Remove.
+       (write_context::sort_types): Use type_topo_comp from abg-ir-priv.h
+       instead of type_topo_comp that was removed.
+       * tests/data/test-annotate/test13-pr18894.so.abi: Adjust.
+       * tests/data/test-annotate/test14-pr18893.so.abi: Likewise.
+       * tests/data/test-annotate/test15-pr18892.so.abi: Likewise.
+       * tests/data/test-annotate/test17-pr19027.so.abi: Likewise.
+       * tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test21-pr19092.so.abi: Likewise.
+       * tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise.
+       * tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Likewise.
+       * tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test13-pr18894.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test14-pr18893.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test17-pr19027.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test21-pr19092.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise.
+       * tests/data/test-read-write/test28-without-std-fns-ref.xml:
+       Likewise.
+       * tests/data/test-read-write/test28-without-std-vars-ref.xml:
+       Likewise.
+
+2024-05-09  Dodji Seketeli <dodji@redhat.com>
+
+       elf-reader: Avoid crashing when looking at non-existing variable symbol
+       * src/abg-elf-reader.cc (reader::variable_symbol_is_exported): Do
+       not crash when the symbol we are looking at is non-present.
+
+2024-05-06  Dodji Seketeli <dodji@redhat.com>
+
+       Suppress patch file that was wrongly added to the repository
+       * patches/0001-WIP-Emit-read-undefined-interfaces-to-from-ABIXML.patch:
+       Remove from the repository.
+
+2024-03-26  Dodji Seketeli <dodji@redhat.com>
+
+       test-read-common: Fix error message
+       * tests/test-read-common.cc (test_task::run_abidw): Fix error
+       message and emit it to stderr directly.
+
+2024-03-27  Dodji Seketeli <dodji@redhat.com>
+
+       dwarf-reader,ir: Merge member fns of classes
+       * src/abg-dwarf-reader.cc (reader::{copy_missing_member_functions,
+       contains_anonymous_class, merge_member_functions_of_classes,
+       merge_member_functions_in_classes_of_same_names}): Define new
+       member functions.
+       (reader::read_debug_info_into_corpus): Call the reader::new
+       merge_member_functions_in_classes_of_same_names.
+       * src/abg-ir.cc (maybe_adjust_canonical_type): When looking at the
+       canonical type C of a type T, if they both come from the same
+       corpus, assert that C has all the member functions of T.  This
+       because the DWARF reader now ensures that all types have the same
+       name in a given corpus have the same member functions.
+       * tests/data/test-annotate/test14-pr18893.so.abi: Adjust.
+       * tests/data/test-annotate/test15-pr18892.so.abi: Likewise.
+       * tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test14-pr18893.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise.
+
+2024-05-03  Dodji Seketeli <dodji@redhat.com>
+
+       dwarf-reader,ir: Improve detection of method types & implicit parms
+       * include/abg-ir.h (method_type::get_is_for_static_method): Add
+       new method.
+       * src/abg-dwarf-reader.cc (fn_die_first_parameter_die)
+       (member_fn_die_has_this_pointer, die_peel_typedef): Define new
+       static functions.
+       (die_this_pointer_is_const): Make this support DIEs representing
+       const pointers.
+       (die_function_type_is_method_type): Use the new
+       member_fn_die_has_this_pointer function rather than (wrongly) open
+       coding its functionality.  If the (member) function DIE has no
+       this pointer DIE and if the function is at class scope, then we
+       are looking a static member function.
+       (finish_member_function_reading): Use the new
+       method::get_is_for_static_method method rather than open-coding
+       its functionality.
+       * src/abg-ir.cc (method_type::get_is_for_static_method): Define
+       new method.
+       (type_topo_comp::operator()): In this comparison
+       operator for types, if two method types have the same string
+       representation then if one method type is for a static method,
+       then make the non-static method type come first.
+       (function_type::get_first_non_implicit_parm): The first parameter
+       of a function can only carry the "this pointer" if it's
+       artificial.
+       * tests/data/test-abidiff-exit/PR31513/reported/PR31513-reported-report-1.txt:
+       Adjust.
+       * tests/data/test-abidiff/test-struct1-report.txt: Likewise.
+       * tests/data/test-abidiff/test-struct1-v0.cc.bi: Likewise.
+       * tests/data/test-abidiff/test-struct1-v1.cc.bi: Likewise.
+       * tests/data/test-annotate/test14-pr18893.so.abi: Likewise.
+       * tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi:
+       Likewise.
+       * tests/data/test-diff-dwarf-abixml/PR25409-librte_bus_dpaa.so.20.0.abi:
+       Likewise.
+       * tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1.abi:
+       Likewise.
+       * tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test30-pr18904-rvalueref-report0.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test30-pr18904-rvalueref-report1.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test30-pr18904-rvalueref-report2.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test35-pr18754-no-added-syms-report-0.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test35-pr18754-no-added-syms-report-1.txt:
+       Likewise.
+       * tests/data/test-diff-filter/test41-report-0.txt: Likewise.
+       * tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test14-pr18893.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise.
+
+2024-03-26  Dodji Seketeli <dodji@redhat.com>
+
+       writer: Fix control of emitting parm names in function types
+       * src/abg-writer.cc (write_function_type): Control emitting of
+       parameter names with the write_context::get_write_parameter_names
+       property.
+       * tests/test-annotate.cc (main): Do not emit function parameter
+       names.
+       * tests/test-read-dwarf.cc (main): Likewise.
+       * tests/data/test-annotate/libtest23.so.abi: Adjust.
+       * tests/data/test-annotate/libtest24-drop-fns-2.so.abi: Likewise.
+       * tests/data/test-annotate/libtest24-drop-fns.so.abi: Likewise.
+       * tests/data/test-annotate/test0.abi: Likewise.
+       * tests/data/test-annotate/test1.abi: Likewise.
+       * tests/data/test-annotate/test13-pr18894.so.abi: Likewise.
+       * tests/data/test-annotate/test14-pr18893.so.abi: Likewise.
+       * tests/data/test-annotate/test15-pr18892.so.abi: Likewise.
+       * tests/data/test-annotate/test17-pr19027.so.abi: Likewise.
+       * tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test2.so.abi: Likewise.
+       * tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi:
+       Likewise.
+       * tests/data/test-annotate/test21-pr19092.so.abi: Likewise.
+       * tests/data/test-annotate/test4.so.abi: Likewise.
+       * tests/data/test-annotate/test6.so.abi: Likewise.
+       * tests/data/test-annotate/test8-qualified-this-pointer.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise.
+       * tests/data/test-read-dwarf/PR24378-fn-is-not-scope.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Likewise.
+       * tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/PR26261/PR26261-exe.abi: Likewise.
+       * tests/data/test-read-dwarf/PR27700/test-PR27700.abi: Likewise.
+       * tests/data/test-read-dwarf/libtest23.so.abi: Likewise.
+       * tests/data/test-read-dwarf/libtest24-drop-fns-2.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/libtest24-drop-fns.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test-PR26568-1.o.abi: Likewise.
+       * tests/data/test-read-dwarf/test-PR26568-2.o.abi: Likewise.
+       * tests/data/test-read-dwarf/test-libaaudio.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test0.abi: Likewise.
+       * tests/data/test-read-dwarf/test0.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test1.abi: Likewise.
+       * tests/data/test-read-dwarf/test1.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test13-pr18894.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test14-pr18893.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test17-pr19027.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test2.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test2.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test21-pr19092.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test4.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test4.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test6.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test6.so.hash.abi: Likewise.
+       * tests/data/test-read-dwarf/test8-qualified-this-pointer.so.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test8-qualified-this-pointer.so.hash.abi:
+       Likewise.
+       * tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise.
+
+2024-05-03  Dodji Seketeli <dodji@redhat.com>
+
+       ir: Make IR node visitor aware of non-canonicalized types
+       * src/abg-ir.cc (ir_node_visitor::{mark_type_node_as_visited,
+       type_node_has_been_visited}): Invoke is_non_canonicalized_type to
+       know if we should expect a type to have a canonical type or not.
+
+2024-04-26  Dodji Seketeli <dodji@redhat.com>
+
+       ir,writer: Fix function type naming & fn type annotation in ABIXML
+       * src/abg-ir.cc (get_function_type_name, get_method_type_name):
+       Use get_type_name in lieu of get_pretty_representation.
+       * src/abg-writer.cc (annotate): In the overload for function_type,
+       use get_function_name instead of open coding function type
+       representations.
+       * tests/data/test-annotate/test-pointer-to-member-1.o.annotated.abi: Adjust.
+       * tests/data/test-annotate/test13-pr18894.so.abi: Likewise.
+       * tests/data/test-annotate/test14-pr18893.so.abi: Likewise.
+       * tests/data/test-annotate/test15-pr18892.so.abi: Likewise.
+       * tests/data/test-annotate/test17-pr19027.so.abi: Likewise.
+       * tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: Likewise.
+       * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi: Likewise.
+       * tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi: Likewise.
+       * tests/data/test-annotate/test21-pr19092.so.abi: Likewise.
+       * tests/data/test-diff-dwarf/PR25058-liblttng-ctl-report-1.txt: Likewise.
+       * tests/data/test-diff-pkg-ctf/gmp-6.x.x86_64-report-0.txt: Likewise.
+       * tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-2.txt:
+       Likewise.
+       * tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Likewise.
+       * tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise.
+       * tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise.
+
+2024-04-19  Sam James <sam@gentoo.org>
+
+       tests/runtestabidb?.sh.in: Use bash shebang
+       * tests/runtestabidb[1-2].sh.in: Use bash shebang.
+
+2024-04-29  Dodji Seketeli <dodji@redhat.com>
+
+       fedabipkgdiff: Cleanup output of ABI comparison
+       * tools/fedabipkgdiff: Adjust copyright year
+       (abipkgdiff): Strip out trailing spaces from the stdout
+       string.  Emit a clear message when no ABI change was found.
+       * tests/data/test-fedabipkgdiff/test0-from-fc20-to-fc23-dbus-glib-report-0.txt:
+       Adjust.
+       * tests/data/test-fedabipkgdiff/test1-from-fc20-to-dbus-glib-0.106-1.fc23.x86_64-report-0.txt:
+       Adjust.
+       * tests/data/test-fedabipkgdiff/test2-dbus-glib-0.100.2-2.fc20--dbus-glib-0.106-1.fc23-report-0.txt:
+       Adjust.
+       * tests/data/test-fedabipkgdiff/test3-dbus-glib-0.100.2-2.fc20.i686--dbus-glib-0.106-1.fc23.i686-report-0.txt:
+       Adjust.
+       * tests/data/test-fedabipkgdiff/test4-glib-0.100.2-2.fc20.x86_64.rpm-glib-0.106-1.fc23.x86_64.rpm-report-0.txt:
+       Adjust.
+       * tests/data/test-fedabipkgdiff/test5-same-dir-dbus-glib-0.100.2-2.fc20.x86_64--dbus-glib-0.106-1.fc23.x86_64-report-0.txt:
+       Adjust.
+       * tests/data/test-fedabipkgdiff/test6-nss-util-3.12.6-1.fc14.x86_64--nss-util-3.24.0-2.0.fc25.x86_64-report-0.txt:
+       Adjust.
+       * tests/data/test-fedabipkgdiff/test7-self-compare-from-fc23-dbus-glib-report-0.txt:
+       Adjust.
+
+2024-04-26  Frank Ch. Eigler <fche@redhat.com>
+
+       configure,abidb: Make the libarchive python module optional for abidb
+       * configure.ac: Detect the libarchive python module as an optional
+       dependency for the abidb program.  So far, only the git python
+       module remains a hard dependency.
+       * tools/abidb (main): Do not support the '--archive' command line
+       option if the libarchive python module is not present.
+
+2024-04-26  Dodji Seketeli <dodji@redhat.com>
+
+       Update Copyright for year 2024
+       * update-copyright.sh: Update the date in this script.  Running
+       the script then yields the changes below.
+       * include/abg-btf-reader.h: Update copyright year as a result of
+       running update-copyright.sh above.
+       * include/abg-comp-filter.h: Likewise.
+       * include/abg-comparison.h: Likewise.
+       * include/abg-config.h: Likewise.
+       * include/abg-corpus.h: Likewise.
+       * include/abg-ctf-reader.h: Likewise.
+       * include/abg-cxx-compat.h: Likewise.
+       * include/abg-diff-utils.h: Likewise.
+       * include/abg-dwarf-reader.h: Likewise.
+       * include/abg-elf-based-reader.h: Likewise.
+       * include/abg-elf-reader.h: Likewise.
+       * include/abg-fe-iface.h: Likewise.
+       * include/abg-fwd.h: Likewise.
+       * include/abg-hash.h: Likewise.
+       * include/abg-ini.h: Likewise.
+       * include/abg-interned-str.h: Likewise.
+       * include/abg-ir.h: Likewise.
+       * include/abg-libxml-utils.h: Likewise.
+       * include/abg-reader.h: Likewise.
+       * include/abg-regex.h: Likewise.
+       * include/abg-reporter.h: Likewise.
+       * include/abg-sptr-utils.h: Likewise.
+       * include/abg-suppression.h: Likewise.
+       * include/abg-tools-utils.h: Likewise.
+       * include/abg-traverse.h: Likewise.
+       * include/abg-viz-common.h: Likewise.
+       * include/abg-viz-dot.h: Likewise.
+       * include/abg-viz-svg.h: Likewise.
+       * include/abg-workers.h: Likewise.
+       * include/abg-writer.h: Likewise.
+       * src/abg-btf-reader.cc: Likewise.
+       * src/abg-comp-filter.cc: Likewise.
+       * src/abg-comparison-priv.h: Likewise.
+       * src/abg-comparison.cc: Likewise.
+       * src/abg-config.cc: Likewise.
+       * src/abg-corpus-priv.h: Likewise.
+       * src/abg-corpus.cc: Likewise.
+       * src/abg-ctf-reader.cc: Likewise.
+       * src/abg-default-reporter.cc: Likewise.
+       * src/abg-diff-utils.cc: Likewise.
+       * src/abg-dwarf-reader.cc: Likewise.
+       * src/abg-elf-based-reader.cc: Likewise.
+       * src/abg-elf-helpers.cc: Likewise.
+       * src/abg-elf-helpers.h: Likewise.
+       * src/abg-elf-reader.cc: Likewise.
+       * src/abg-fe-iface.cc: Likewise.
+       * src/abg-hash.cc: Likewise.
+       * src/abg-ini.cc: Likewise.
+       * src/abg-internal.h: Likewise.
+       * src/abg-ir-priv.h: Likewise.
+       * src/abg-ir.cc: Likewise.
+       * src/abg-leaf-reporter.cc: Likewise.
+       * src/abg-libxml-utils.cc: Likewise.
+       * src/abg-reader.cc: Likewise.
+       * src/abg-regex.cc: Likewise.
+       * src/abg-reporter-priv.cc: Likewise.
+       * src/abg-reporter-priv.h: Likewise.
+       * src/abg-suppression-priv.h: Likewise.
+       * src/abg-suppression.cc: Likewise.
+       * src/abg-symtab-reader.cc: Likewise.
+       * src/abg-symtab-reader.h: Likewise.
+       * src/abg-tools-utils.cc: Likewise.
+       * src/abg-traverse.cc: Likewise.
+       * src/abg-viz-common.cc: Likewise.
+       * src/abg-viz-dot.cc: Likewise.
+       * src/abg-viz-svg.cc: Likewise.
+       * src/abg-workers.cc: Likewise.
+       * src/abg-writer.cc: Likewise.
+       * tests/print-diff-tree.cc: Likewise.
+       * tests/test-abicompat.cc: Likewise.
+       * tests/test-abidiff-exit.cc: Likewise.
+       * tests/test-abidiff.cc: Likewise.
+       * tests/test-alt-dwarf-file.cc: Likewise.
+       * tests/test-core-diff.cc: Likewise.
+       * tests/test-cxx-compat.cc: Likewise.
+       * tests/test-diff-dwarf-abixml.cc: Likewise.
+       * tests/test-diff-dwarf.cc: Likewise.
+       * tests/test-diff-filter.cc: Likewise.
+       * tests/test-diff-pkg.cc: Likewise.
+       * tests/test-diff-suppr.cc: Likewise.
+       * tests/test-diff2.cc: Likewise.
+       * tests/test-dot.cc: Likewise.
+       * tests/test-elf-helpers.cc: Likewise.
+       * tests/test-ini.cc: Likewise.
+       * tests/test-ir-walker.cc: Likewise.
+       * tests/test-kmi-whitelist.cc: Likewise.
+       * tests/test-lookup-syms.cc: Likewise.
+       * tests/test-read-btf.cc: Likewise.
+       * tests/test-read-ctf.cc: Likewise.
+       * tests/test-read-dwarf.cc: Likewise.
+       * tests/test-read-write.cc: Likewise.
+       * tests/test-svg.cc: Likewise.
+       * tests/test-symtab-reader.cc: Likewise.
+       * tests/test-symtab.cc: Likewise.
+       * tests/test-tools-utils.cc: Likewise.
+       * tests/test-types-stability.cc: Likewise.
+       * tests/test-utils.cc: Likewise.
+       * tests/test-utils.h: Likewise.
+       * tools/abicompat.cc: Likewise.
+       * tools/abidiff.cc: Likewise.
+       * tools/abidw.cc: Likewise.
+       * tools/abilint.cc: Likewise.
+       * tools/abipkgdiff.cc: Likewise.
+       * tools/abisym.cc: Likewise.
+       * tools/binilint.cc: Likewise.
+       * tools/fedabipkgdiff: Likewise.
+       * tools/kmidiff.cc: Likewise.
+
+2024-04-22  Dodji Seketeli <dodji@redhat.com>
+
+       configure.ac: Update version to 2.6
+       * configure.ac:
+
+2024-04-18  Dodji Seketeli <dodji@redhat.com>
+
+       {ctf,btf}-reader: Document the namespace for nicer apidoc
+       * include/abg-btf-reader.h (namespace btf): Add doxygen comment.
+       Just adding it to the *.cc won't cut it, I am not sure why.
+       * include/abg-ctf-reader.h (namespace ctf): Likewise.
+       * src/abg-btf-reader.cc (namespace btf): Add doxygen comment.
+       * src/abg-ctf-reader.cc (namespace ctf): Add doxygen commit.
+       (create_reader, reset_reader): Fix doxygen comments.
+
+2024-04-18  Dodji Seketeli <dodji@redhat.com>
+
+       doc/api/libabigail.doxy: Update to newer version.
+       * doc/api/libabigail.doxy: Update using doxygen -u.
+
+2024-04-18  Dodji Seketeli <dodji@redhat.com>
+
+       doc/website/mainpage.txt: Update for 2.5 release
+       * doc/website/mainpage.txt:
+
 2024-04-17  Dodji Seketeli <dodji@redhat.com>
 
        ChangeLog: Update for 2.5 release
This page took 0.123765 seconds and 5 git commands to generate.