1.0 ===== Ben Woodard: Fix some clang compile problems Fix more clang build warnings Chenxiong Qi: More document for local RPMs comparison Follow moved packages when download Read Koji config via Koji API Warn properly when cannot find peer RPM Fix wrong variable name Bug 20380 - Compare two local RPMs Bug 20087 - Clean cache before or after ABI comparison Dodji Seketeli: Forgot to consider libtest33-v{0,1}.so in test-diff-suppr.cc A suppressed diff node implies suppressing all equivalent nodes too Make bash completion files non-executable Allow pretty printing function decls for internal purposes Setup per-corpus type maps indexed by type names Implement de-duplication for types and decls at DWARF loading time Support naming typedef and use them to speed up type canonicalization Fix pretty representation of array types Introduce on-the-fly type canonicalization Very light speed improvements Add tests/data/test-diff-suppr/test33-report-0.txt to tarball Rename tests/update-test-read-dwarf-output.py Fix aborting when reading .foo symbols from a ppc64 binary Fix template_decl::hash::operator() Don't early-canonicalize function types when reading abixml Naming typedefs of classes are not read properly from abixml make is_anonymous_type work for unions and classes Misc style cleanup Make abg-fwd.h use *_sptr typedefs Handle per translation unit and per corpus types maps [dwarf-reader] Handle per translation-unit type de-duplication Update tests/data/test-read-write/test27.xml Update 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 Fix a typo in method name computation Cleanup ODR-based type canonicalization optimization gating logic Fix qualified name caching for some types [dwarf-reader] Don't early canonicalize function types [abixml writer] Fix comparison of pointer to types [abixml writer] Make sure all function types are emitted Update tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1.abi Update tests/data/test-read-dwarf/*.abi files Avoid unnecessary updates to type lookup maps Speedup set_member_is_static Misc comments and apidoc fixes Misc style fixes [apidoc] Allow brief description at the top of class description pages Update copyright year on a bunch of files Adjust some reference outputs of the test-read-dwarf test harness Better de-duplicate classes, unions, enums in non-odr contexts Add debug routines to dump locations to a stream Support Linux Kernel binaries Support Linux Kernel ABI whitelist files Remove unused functions from abg-ir.cc Update copyright notice for abg-fwd.h, abg-ir.h and test-abidiff.cc Fix performance regression while analyzing libjvm.so Add missing deep comparison operators for {function, method}_decl_sptr Speed up pretty representing (function) types Handle several virtual member functions having the same vtable offset [dwarf reader] Fix pretty printing static methods from DWARF [dwarf reader] Do not over de-duplicate function *definitions* [dwarf reader] Allow updating and de-duplicating member functions [dwarf reader] properly separate function decls and types in lookup [dwarf reader] Don't abort when trying to canonicalize a non-type [comparison engine] Don't crash when the context is null Support virtual member functions with vtable offset not yet set Fix some include logic in abg-suppression.cc Fix suppression category propagation in diff node graph Add --harmless option to abipkgdiff Fix test-diff-pkg after commit 2dcc606 Make abidw --headers-dir work with the --out-file option Fix help string for --header-dirs Adjust reference output of test-annotate Fix indentation in src/abg-writer.cc Misc style fixes Fix silent failure of tests/runtestfedabipkgdiff.py Add missing new line to an error message of runtestfedabipkgdiff.py Add missing tests input files to distribution files fedabipkgdiff refuses to compare packages with the same release number Fix typo in help string of abipkgdiff Several fixes and enhancements to abigail::workers Add a "make check-valgrind-helgrind-recursive" target Do not ignore valgrind checks returning an error Make abipkgdiff.cc use the abigail::workers interface Display the command that failed the runtestfedabipkgdiff.py test Move test-read-dwarf.cc to abigail::workers Make the helgrind suppressions less specific Silence Helgrind reports about exception stack unwinding More Helgrind suppressions Make Helgrind suppressions less specific to libgcc_s version Fix virtual members sorting to unbreak the build on EL6 Consider file path when sorting virtual member functions Fix data race on worker::queue::priv::bring_workers_down Shut down a helgrind false positive in the "system" libc call Launch fedabipkgdiff tests first Fix some random deadlock while running fedabipkgidiff in tests Fix a race condition in queue::priv::do_bring_workers_down Fix buffer overrun in 'equals' function for arrays Fix array subranges (wrongly) having the same lower bound Ensure build_qualified_type can return non-qualified types Remove useless overloads of is_type Invalidate function and variable ID cache when invoking ::set_symbol Rename fn_parm_diff::get_type_diff into fn_parm_diff::type_diff Don't consider changes to basic types as being redundant Misc cleanups in abg-writer.cc Update the description of what abipkgdiff does Speedup comparison of decl-only classes Speed up access to the definition of a class declaration-only type Avoid building DIE -> parent DIE map when analyzing a C binary Do not forget to erase temporary directories in abipkgdiff Avoid comparing kernel.img file from the grub2 package Fix some typos in abidiff.cc Create a Corpus Group API extension Initial support to lookup types per location Support loading and comparing two kernel trees Avoid loading a translation unit twice from abixml Make abipkgdiff compare two kernel packages Make abidw support the --kmi-whitelist option Introduce the --kmi-whitelist option to abidiff Update the reference output of regression tests after kabidiff work Rename write_corpus_to_native_xml into write_corpus Avoid emitting duplicated decls in abixml Avoid emitting some empty translation units to abixml Fix indentation glitch before the tag in abixml Adjust test reference outputs after changes in abg-writer.cc Initial support of the serialization of the KMI of a Linux Kernel Tree Initial support of de-serializing the KMI of a Linux Kernel Tree Speedup access to unreferenced symbols when loading corpus_group Avoid de-duplicating different C types that have identical name Allow selective resolution of class declaration Speedup DIE representation computing esp function signature in C Do not report about voffset when it's not set in debug info Fix innacurate test condition when reading an enum type from abixml Cache function type name computation results Add --vmlinux{1,2} option to abidw and kmidiff Allow re-using the ELF/DWARF read_context when loading a corpus group Add documentation for the kmidiff tool Allow selective resolution of class declaration Do not report about voffset when it's not set in debug info Filter top cv qualifier changes on function parameter types Support ELF symbol visibility property Symbols with the same zero value are not aliases Fix doc glitch in abidiff.rst Misc style fixes Don't add empty translation unit to corpus Better handle decl-only classes being different from their definition Fix a typo when reporting size change wrt a decl-only class Fix typo in comments speed up class type lookup in a corpus Replace --lkaw with -w and --lkaw-pkg with --wp Add missing space in abipkgdiff error message Use shorter lines in abipkgdiff.cc Fix support of the --wp option of abipkgdiff Support up to two --wp options for abipkgdiff Avoid crashing when the elf file could not be read Fix some make distcheck failures Misc style fixes Finer detection of local changes of var_decl type Avoid adding the same data member twice in the DWARF reader Don't crash on classes that differ in their virtual member fn count 22160 - Annotate state flag unitialized in abidw Add missing newlines to kmidiff's usage strings Renamed offset_offset_map type name into offset_offset_map_type Remove redundant (useless) typedef declaration Use an unordered map for canonical DIE offsets [abixml writer] Store pointers to emitted types rather than type-ids [abixml writer] Use an unordered set when appropriate Initialize naked canonical type Misc style fixes in abg-writer.cc Add missing comment to type declaration Update copyright year to tools/abidiff.cc Allow several kinds of reports to be emitted Initial implementation of a --leaf-changes-only option to abidiff Add a --leaf-changes-only option to abipkgdiff Add --full-impact option to kmidiff Add --impacted-changes option to kmidiff Cleanup a switch-case logic to avoid a GCC 7.2.1 warning Fix a indentation warning from GCC 7.2.1 Handle exceptions when global_config is not yet set in fedabipkgdiff Add a --suppressions option to fedabipkgdiff Remove useless vertical space from src/abg-writer.cc Allow setting options to instances of xml_writer::write_context Wire the --no-show-locs option to abidw Bug 20670 - abipkgdiff aborts if $XDG_CACHE_HOME does not exist Bug 20887 - Show relative change of offsets Bug 20927 - Segfault when $HOME is not set Bug 21058 - abipkgdiff wrongly drops non-public types Bug 20476 - Compare virtual member functions when comparing classes Bug 21228 - Handle cloning union member functions Bug 21296 - Reporting diff of const ref against non-const ref aborts Bug 21567 - Fedabipkgdiff matches build distro names too tightly Bug 21627 - Libabigail doesn't consider translation unit compile dir Bug 21629 - equivalent DIEs must be of the same DIE source Bug 21630 - A this pointer DIE can be const Bug 21631 - Forgot a "break" statement in stv_to_elf_symbol_visibility Bug 21153 - abipkgdiff reports undetermined interface subtype changes Bug 21644 - abipkgdiff does not emit diagnostics about comparison errors Bug 21730 - Make abipkgdiff compare Linux Kernel packages as expected Bug 22015 - Failing to return global scope of a DIE in certain cases Bug 22122 - Fail to represent 'const array' Bug 22190 - crash in read_context::get_or_compute_canonical_die Mark Wielaard: Declare eval_last_constant_dwarf_sub_expr with [u]int64_t not [s]size_t. readdir_r() is deprecated, use readdir(). Fix -Wmisleading-indentation warning in abg-leaf-reporter.cc. Bug 22075 - data_member_diff_comp forgets data members names Ondrej Oprala: Fix a few remarks made by cppcheck abipkgdiff doesn't mention --no-default-suppression in help Check --enable-rpm dependencies more rigorously Properly report missing files for abipkgdiff Fix comparison used instead of an assignment Clean up scripts/* Fix cppcheck error: "Same iterator is used with different containers" cppcheck: mitigate performance warnings Bug 19272 - abipkgdiff doesn't report arch change Bug 18754 - Add the "--no-added-syms" option to abidiff Bug 20970 - Add a --annotate option to abidw Sinny Kumari: Add --self-compare option in fedabipkgdiff Check if return_codes list is empty in fedabipkgdiff Slava Barinov: Fix types in header to meet sources 1.0.rc6 ======= Chenxiong Qi: Update bash completion for fedabipkgdiff Add fedabipkgdiff bash completion to dist Add --abipkgdiff option in manual and bash completion Make fedabipkgdiff consistent with Libabigail's other tests Dodji Seketeli: Bug 20332 - too many ...'s counted as parameters Bug 20194 - Fail to recognize void type represented by DW_TAG_base_type Bug 20199 - Consider integral type synonyms as being equal Bug 20420 - Wrong ODR-based type comparison optimization on qualified type Bug 20534 - abipkgdiff wrongly displays the name of added binary files Bug 20740 - Broken check for dwarf_getalt in configure.ac Add a new overload for is_type_decl Better recognize qualified void type Fix spurious type size change report for distinct_diff Prepare support for symbol visibility control Add ABG_ASSERT_NOT_REACHED macro Cleanup is_class and is_compatible_with_class_type Generalize DIE source concept in DWARF reader Support DW_TAG_type_unit Control symbols exported from libabigail.so Don't walk diff trees indefinitely when applying suppressions Fix misleading indentation issues Do not emit empty namespaces in abixml Add new helper functions Pimplify the abigail::ir::scope_decl type Drop suppressed ABI artifacts from the IR Add default suppression specification for webkitgtk Add default suppression specifications for C++ binaries Better handle fedabipkgdiff dependencies detection Update reference output of runtestreaddwarf Define a new interned_string_set_type typedef Prevent infinite loops while comparing two function_type Apply ODR-based type comparison optimization to function types Cleanup class_decl inifite comparison detection Cleanup functions to detect infinite comparison of class_decl Cleanup namespace importing in abg-interned-str.h Canonicalize function types when reading from DWARF Fix abigail::ir::get_type_scope() Cleanup some entry points in abg-fwd.h Cleanup void and variadic parameter type interfaces Consider a method_decl as always being a member decl Factorize out parsing of integral types Factorize out string representation of array_type_def::subrange_type Avoid stripping typedefs too much Apply harmless and harmful filters in one pass Rename config::property_vector into config::properties_type Support empty properties in INI files Support union types Better diagnostics when wget is missing Lexicographically sort union data members in change reports Support reading data member offset from DW_AT_bit_offset Fix indentation in abg-writer.cc Fix offset type mismatch Fix a compiler warning issued by GCC 6.2.1 Avoid using size_t to get DWARF data Matthias Klose: Fix typo in abipkgdiff 1.0.rc5 ======= Chenxiong Qi: Bug 19428 - New fedabipkgdiff utility Bug 20085 - Add --dso-only option to fedabipkgdiff Bug 20135 - Make fedabipkgdiff compare ABIs using devel packages Add integration tests for fedabipkgdiff Fix package NVR comparison in fedabipkgdiff Use consistent string format in fedabipkgdiff Fix pep8 error in fedabipkgdiff Dodji Seketeli: Bug 19964 - Cannot load function aliases on ppc64 Bug 20015 - support file_name_not_regexp and soname_not_regexp in suppr specs Bug 20180 - Support system-wide suppression specifications Bug 19967 - System-level suppressions for glibc Fix python interpreter path for el6 Add doc, info, man and html-doc targets to top-level Makefile Update documentation to require doxygen and python-sphinx for building Make API documentation of thread pools visible Show SONAME of removed/added libraries in abipkgdiff Fix indentation in concepts manual Fix typo in concept manual Doc not show classes' inherited members in apidoc Fix mention of tool's name in abidiff error message Add several shortcuts to options for abicompat Fix indentation for abidiff manual Split suppression engine off of abg-comparison.{cc,h} Implement a [suppress_file] suppression directive Remove config.h.in from the repository Do not run fedabipkgdiff tests if --enable-fedabipkgdiff is turned off Update the COMMIT-LOG-GUIDELINES file Update the CONTRIBUTING file Support running "make check-valgrind" Fix a read passed-the-end in abg-dwarf-reader.cc Plug leak of diff_context_sptr after calling compute_diff Plug leak of regex_t in suppression engine Remove circular ref from class_decl::priv::definition_of_declaration Plug leak of shared private data of class_diff type Plug leak of debug info handles Fix invocation of delete operator in test-read-dwarf.cc Speedup diff node child insertion Plug leak of diffs of member variables of class type Avoid unnecessary computation of type name in suppression evaluation Minimize number of string::length calculation Light optimizations by passing reference to smart pointers around Optimize out some shared_ptr use Add missing API doc strings Enhance API doc for diff_context::add_diff Fix bash completion configure status Fix white space in abg-comparison.cc Fix whitespaces in autotools files Document how to handle regression tests in CONTRIBUTING Fix the number of removed functions in change report Make abi{pkg}diff filter out changes about private types Add a 'check-valgrind' target to the top-most Makefile.am Add test data for tests/runtestfedabipkgdiff.py Fix some wording in the Libabigail overview manual page Update reference to tools in libabigail-concepts manual Fix suppr spec wording in abipkgdiff manual Better diagnostics when abipkgdiff has an extra argument Add --abipkgdiff option to fedabipkgdiff Don't require all version symbol sections to present Escape all characters when reading a string in ini files Improve python modules detection Cleanup function_decl::parameter::get_pretty_representation Misc white space and comment cleanups Use ODR-based optimization on C/C++ translation unit only Misc cleanup in abg-reader.cc Sinny Kumari: Bug 19961 - Distinguish between PI executable and shared library Change parent directory for keeping extracted packages in abipkgdiff 1.0.rc4 ======= Dodji Seketeli: Bug 19844 - Cannot try to canonicalize a type that is being constructed Bug 19846 - variable decl associated with the wrong debug info section Bug 19867 - abipkgdiff skips symbolic links Bug 19885 - Cannot associate a function DIE to a symbol on powerpc64 Ease use of soname_regexp/file_name_regexp in suppr specs More docs about ABIDIFF_ABI_INCOMPATIBLE_CHANGE Update copyright dates for the manuals Fix typos on the web page Fix typos in the manual of abidiff Fix typos in the suppression specifications manual Fix a typo in include/abg-tools-utils.h Fix typos in comments in src/abg-dwarf-reader.cc Fix comments in tests/test-diff-pkg.cc Fix logs in abipkgdiff and add some more Roland McGrath: Fix typo in configure --enable-deb help text 1.0.rc3 ======= Dodji Seketeli: Upate build instructions on the website Bug 19138 - Failure to relate variables address from DWARF and ELF Include missing to abg-dwarf-reader.cc Make enum values take 64 bits on all platforms Use worker threads pattern to speed up some tests Sort the tests run in tests/ by running the slowest ones first Bug 19434 - invalid character in attribute value Bug 19141 - Libabigail doesn't support common ELF symbols Pass parm of elf_symbol::add_alias by reference Bug 19204 - libabigail aborts on DWARF referencing non-existing DIE Comparing aliases of the same symbol must be done by pointer Do not crash when looking up a type from global scope Fix abicompat's handling of library types not used by the application Fix synthesizing of pointer type Fix synthesizing of reference type Bug 19596 - Incorrect exit status for incompatible ABI change Use proper WIFEXITED and WEXITSTATUS macros to get exit code Bug 19604 - abidiff --suppressions doesn't complain about invalid file name Make abipkgdiff return correct exit code on usage error Make abipkgdiff check for the presence of suppression spec files Talk about mandatory properties in suppress_* directives Add a comment about libabigail needing elfutils 0.159 at least. Bug 19606 - Need better error message for invalid options Prefix abidiff error message with the 'abidiff' program name Emit more informational messages on unrecognized options Bug 19619 - failing to suppress added aliased function reports for C++ Add function lookup by linkage name to libabigail::corpus Bug 19638 - DWARF reader fails to link clone function to its declaration Add --verbose option to abidiff Bug 19658 - Type canonicalization slow for the 2nd binary loaded Add missing inequality operators for ABI artifacts Fix crash when handling templates with empty patterns Implement string interning for Libabigail Some small speed optimizations Bug 19706 - Core dump from abidiff with suppression Update mentions to the build dependencies in the doc Make libabigail link with pthread Add --verbose to abidw Fixup virtual member functions with linkage and no underlying symbol Bug 19596 - Suppressed removed symbol changes still considered incompatible Bug 19778 - diff_has_ancestor_filtered_out() loops forever Bug 19780 - abipkgdiff doesn't support parallel execution Fix reference to test file in Makefile.am Walk function_type_diff tree in a deterministic way Mark Wielaard: Fix GCC6 -Wmisleading-indentation warnings. Make make more silent. Remove defined but not used functions pointed out by GCC6. Ondrej Oprala: Escape the value of the filepath attribute. 1.0.rc2 ====== Dodji Seketeli: Fix regression on the support for alternate debug info files Lexicographically sort added/removed base classes in change report 1.0.rc1 ======= Dodji Seketeli: Bug 19336 - Better handle redundantly qualified reference types Bug 19126 - abidw segv on a dwz compressed version of r300_dri.so Bug 19355 - Libabigail slow on r300_dri.so Do not use designated initializers in abipkgdiff.cc Read enum values in the size_t and write them in ssize_t Do not abort when there is no binary to compare in a package Add missing new line to abidiff help message Constify is_qualified_type() Find more spots where to discriminate internal and non-internal names Do not forget to peel qualified type off when peeling types Fix comparison in qualified_type_diff::has_changes Avoid try/catch code paths when that is possible Fix internal name for pointers, typedefs and arrays Filter out harmless diagnostics glitches due to some ODR violation [PERF] Pass a bunch of perf-sensitive smart pointers by reference [PERF] Turn some pimpl pointers into naked pointers [PERF] Access naked pointers for canonical types and function types [PERF] Speedup comparing declaration-only class_decls Speed up class_decl::find_base_class Avoid adding the same base class twice Support two different variables having the same underlying symbol Add a NEWS file Fix abidw -v Ondrej Oprala: Add bash-completion scripts for the libabigail tools Abidiff: Remove doubled line in help. Fix a function doc Support printing the file, line and column information in change reports