libabigail/NEWS
Dodji Seketeli cdf3f8e237 NEWS: Update for 2.3 release
* NEWS: Update using "git shortlog libabigail-2.2..HEAD".

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2023-04-27 11:55:38 +02:00

1581 lines
80 KiB
Plaintext

2.3
===
Aleksei Vetrov (1):
symtab: fix getting CRC in relocatable modules
Ben Woodard (1):
Have fedabipkgdiff sleep while waiting for abipkgdiff
Dodji Seketeli (92):
ir: Improve get_debug_representation
ir: Add a debug_comp_stack debugging function
Bug 29857 - Don't pop comparison operands that haven't been pushed
Bug 29857 - dwarf-reader: Resolve decl-only unions
Bug 29857 - Better detect comparison cycles in type graph
ir: Cache more aggregate type comparison results
NEWS: Update for 2.2 release
ChangeLog: Update for 2.2 release
configure: Bump version number to 2.3
Update website documentation for 2.2
Bug 29901 - abidiff hangs when comparing libgs.so.10 with itself
Bug 29934 - Handle buggy data members with empty names
dwarf-reader: Bug 29932 - Handle function DIE as type as needed
elf-reader: Don't free CTF resources too early
ir: misc cleanups
ir: Bug 29934 - Fix propagated canonical type confirmation
ir: Add sanity checking to canonical type propagation confirmation
Update copyright year for 2023
Don't use the "infinite" keyword for arrays of unknown size
dwarf-reader: Bug 29811 - Support updating of variable type
Bug 29811 - Better categorize harmless unknown array size changes
fix comparing array subrange DIEs
configure: Enable the CTF front-end by default
Add support for BTF
Update the copyright notice for the BTF reader
btf-reader: Use abigail::ir::canonicalize_types to canonicalize types
Better detect suitable libctf version
Update CTF's ctf_dict_t detection
fe-iface: Add missing virtual destructor
dwarf-reader: Remove unused code
corpus: Handle empty symbol table cases
{dwarf,elf_based}-reader,writer: Avoid duplicating corpora in corpus_group
default-reporter: Fix source location in functions change report
PR30048 - wrong pretty representation of qualified pointers
configure: Bump the CURRENT library number
ir: Add missing virtual methods overloads
ctf-reader: Fix GCC 13 warnings
abipkgdiff: Emit better logs in verbose mode
abipkgdiff: Emit error when no vmlinux is found in debug package
ini: Fix parsing list property values
suppr: Support has_data_member and has_data_member_regexp properties
suppression: Factorize out is_data_member_offset_in_range
suppression: Support the has_size_change property for suppress_type
suppression: Support offset_of_{first,last}_data_member_regexp offset selectors
comparison, suppression: Support [allow_type] directive
Misc white space fixes
abidiff: Add extensive logging
tools-utils: Support kernel stablelist
comp-filter: Don't re-visit node while applying filters to diff nodes
comparison: Add a mode to not apply filters on interface sub-graphs
comparison: When marking leaf nodes don't do unnecessary impact analysis
comp-filter: Speed up harmless/harmful categorization
tools-utils: Improve logging in build_corpus_group_from_kernel_dist_under
ir: Fix cycle detection for union types
Bug 29977 - dwarf-reader: Fix canonical DIE propagation canceling
dwarf-reader,abidiff: Fix compilation with --enable-debug-type-canonicalization
Bug 29912 - Better support an ELF symbol alias that designates several functions
Bug 29911 - fedabipkgdiff forgets to provide some debuginfo RPMs to abipkgdiff
Bug 29692 - Support binaries with empty symbol table
abipkgdiff: Fix a typo
test-symtab: Update after support for empty symtabs
Bug 29690 - Out of range exception in add_or_update_class_type
Bug 29686 - Fix testing the presence of anonymous data member in a struct
Bug 29345 - abipkgdiff is confused by symlinked binaries in RPMs
Bug 29340 - Add support for Ada range types
Fix redundancy filtering of range types
Bug rhbz#2182807 -- abipkgdiff crashes on missing debuginfo package
dwarf-reader: Support Ada subranges having upper_bound < lower_bound
abipkgdiff: Don't use user-specific filesystem info in error msg
reader: Make reader::get_scope_for_node handle subranges at array scope.
dwarf-reader: Support DW_OP_GNU_variable_value
dwarf-reader: Fix typo in comment
dwarf-reader: Support indirectly referenced subrange_type DIEs
fedabipkgdiff: Add timing data in debug logs
fedabipkgdiff: Remove busy loop when forking abipkgdiff
Bug 29339 - elf-helpers: Don't crash on unexpected ELF file
abi{dw,diff}: Better error messages when alternate debuginfo not found
abidiff,reader: Fix compilation with --debug-self-comparison
ir: Add new environment::get_type_id_from_type
ir: Recognize "void* as being equal to all other pointers in C
tests/update-test-output.py: Adapt to some broken test output
Improve self-comparison debug mode
ir: Improve debugging type_base::get_canonical_type_for
writer: Annotate pointer representation
comparison: Fix index error when interpreting scope comparison
ir: fix canonical type propagation canceling error
reader: Recognize variadic parameter type from abixml
Bug 30309 - Support absolute path to alt debug info file in DWARF
Fix the test of the patch for Bug 30309
test-abidiff-exit: Fix the command line passed to abidiff
ini: Do not crash on incorrect property value
test-ini: Fix a typo
Giuliano Procida (1):
DWARF reader: avoid C++20 operator!= overload ambiguity
Guillermo E. Martinez (4):
ctf-front-end: Add test for alias symbols
ctf-reader: Fix missing initializer for member in test suite
abipkgdiff: Fix kernel package detection when comparing kABIs
tools-utils: Fix looking for vmlinux binary in debuginfo package
Mark Wielaard (1):
doc: Fix some typos and add some missing references
Petr Pavlu (2):
Fix de-initialization of elf::reader::priv
abidiff: Fix handling of linux-kernel-mode
Xiaole He (1):
elf-reader: reclaim fd and mem before break
2.2
===
Aleksei Vetrov (1):
symtab: add support for CRC values from __kcrctab
Dodji Seketeli (20):
Bump version number to 2.2
Update website for 2.1 release.
ir: Fix documentation of canonical type propagation
abidiff: add a --debug-tc option
Bug 29650 - Caching class comparison result potentially too early
ir: remove redundant cycle detection code in equals
ir: Fix a wrong comment in canonicalize()
ir: Properly indent overload of equals() for class_decl
dwarf-reader: Fix class size setting bug
rhbz2114909 - Refer to changed base classes using their non-qualified names
ir: Don't crash when looking at corpus-less translation units
kmidiff: Fix spacing in the help string
Use environment by reference.
Make Front Ends first class citizens
test-read-ctf: Update tests for fixing size and name for underlying types
Fix spurious deleted/added virtual destructor change report
dwarf-reader: Leverage ODR & DWZ
dwarf-reader: Avoid duplicating member functions
dwarf-reader: Make die_peel_{qual_ptr,typedef} always set peeled type
Bug 29829 - dwarf-reader: Allow DIEs to be in a lexical block
Giuliano Procida (1):
Narrow Linux symbol CRCs to 32 bits
Guillermo E. Martinez (6):
Use the CTF reader by default when applicable
ctf-reader: Set alignment-in-bits property to 0
ctf-reader: Fix size and name for underlying types
ctf-reader: Strip qualification from a qualified array type
ctf-reader: Fix representation of multidimensional arrays
ctf-reader: Fix array size representation
Sam James (1):
Use xz as the default tarball compression format
Xiaole He (3):
abg-ir: add missing else
abg-reader: optimize if construction
abg-diff-utils: fix typo in comments
2.1
===
Ben Woodard (7):
Fix typo in abipkgdiff manpage
Add an option ignore SONAME differences in libraries
Add github actions to support workflows
abicompat: Add missing space
abidiff: Remove redundant code
abicompat: Support reading CTF and abixml
Bug 28669 - Increment Library version
David Cantrell (1):
Include <libgen.h> in tools/abisym.cc for basename(3)
David Seifert (1):
Find fts-standalone on musl
Dodji Seketeli (90):
Fix tarball upload directory
Update libabigail web page for 2.0 release
Bump to 2.1 version
Improve type (de)serialization instability debugging
Add --enable-debug-type-canonicalization to configure
tests/Makefile.am: Fix warning
ir: Avoid canonicalizing types that are not meant to
writer: Don't forget to emit types referenced by function types
writer: Don't forget when emitting array subrange types
writer: Don't forget that a naming typedef is referenced
Bug 28364 - libwiretap fails self comparison
Add debug info package for wireshark-cli-3.4.9-1.fc36.x86_64.rpm
Update licensing information on the web page after 2.0
PR28365 - Assert on empty typedef on webkit2gtk3-jsc-2.32.3-1.fc34.x86_64
Bug 28450 - Fix cloned member function handling in DWARF
abidw: Add --abixml-version
abg-config.{cc,h}: Misc comment cleanups
Bug 28584 - Don't drop global variables that lack DW_AT_external
test-utils: Define colors for test status messages
test-utils: Define test status reporting functions
ctf-reader: Remove useless parameter from fill_ctf_section
suppression: Fix has_data_member_inserted_between = {offset_of(), offset_of()}
reader: Build array types with their element type "a priori"
suppression: Fix compilation warning on el7
Bug 28319 - re-fix of rhbz1951526 - SELF CHECK FAILED for 'gimp-2.10'
writer: small compilation error fix
symtab-reader: Fix typo in comment
symtab-reader: Remove an over-agressive assertion
Bug 26646 - unexpected declaration-only types
configure: Remove use of obsolete AC_CONFIG_HEADER
abilint: add the --show-type-use option
abilint --show-type-use: Show results for global decls that have no symbols
reader: Fix a compilation warning
ir: Remove obsolete comment from enumerator equal operator
Bug 26646 - unexpected declaration-only types (part 2)
dwarf-reader: Don't propagate canonical type upon aggregate redundancy
Bug 28013 - Acknowledge variadic parameter type is not canonicalized
comparison: Describe the "generic view" of a diff node
comparison: Factorize the code that inserts diff nodes to the graph
comparison: Avoid sorting diff nodes with wrong criteria
comparison: Fix leaf report summary
Bug 29144 - abidiff doesn't report base class re-ordering
abicompat: Properly guard inclusion of abg-ctf-reader.h
ir, test-read-ctf: Remove uncertainty in sorting anonymous types
Add better error messaging to several tests
test-read-dwarf: Use abidw rather than using the library
abidw, dwarf-reader: Add an option to debug DIE canonicalization
dwarf-reader: compare_dies sometimes compares empty formal parms
Canonicalize DIEs w/o assuming ODR & handle typedefs transparently
dwarf-reader: Fix DWARF string comparison optimization
reporter-priv: Passing a string parm by reference
Update year in copyright notice
ir: Make canonicalization stable wrt typedefs in fn return types
test-alt-dwarf: Add missing dwz alt-debug file
dwarf-reader: Avoid long comparisons when resolving C++ decl-only classes
dwarf-reader: Don't consider top-level types as private
Bug 29303 - Cache the result of structural aggregate comparison
ir: Add some debugging facilities for the comparison machinery
dwarf-reader,ir: Don't canonicalize enums too early & too naively
Bug 29302 - Don't edit fn linkage name when not appropriate
dwarf-reader: Fix a thinko when building vars
Better Handle naming typedefs on anonymous enums
dwarf-reader: Support DWARF incomplete class types
tests-diff-{filter,pkg,pkg-ctf}: Fix tests broken by the previous commit
ir: Make pointers name stable wrt decl-only-ness of pointed-to types
ir: Disambiguate sorting of array element types
dwarf-reader: Remove redundant qualifiers from qualified types
ir: Consider integral types of same kind and size as equivalent
writer: Make sorting referenced typedefs types stable in abixml
ir: Don't consider different int types of same kind and size as equivalent
Update test-read-ctf reference output
dwarf-reader: Better handle the absence of a die->parent map
Add test-abidiff-exit/ld-2.28-21{0,1}.so to source distribution
ir: Don't overdo canonical type propagation control when comparing classes
ir: translation_unit::is_empty should work without environment.
dwarf-reader: Simplify the canonicalization decision of types added to IR
Bug PR29443 - Global variables not emitted to abixml in some cases
test-annotate: Don't emit architecture data
Fix butchered tests/data/Makefile.am
dwarf-reader: Revamp the canonical type DIE propagation algorithm
Allow restricting analyzed decls to exported symbols
Fix IR comparison result caching and canonical type propagation tracking
ir, writer: Go back to canonicalizing typedefs in the IR
test-read-ctf: Update test output files after typedef canonicalization
comparison: Ensure that fn parms with basic types can't be redundant
Better support for golang programs
ir: Support cloning data members of unions
dwarf-reader: Accept SHT_PROGBITS sections in .dynamic segment
ir: Avoid cancelling a "confirmed" propagated canonical type
Update ChangeLog for 2.1 release.
Frederic Cambus (1):
Fix numbering error in the abidiff manual.
George Rawlinson (1):
Bug 28663 - generate man page for kmidiff
Giuliano Procida (22):
Tweak clang-format configuration
Bug 28191 - Interpret DWARF 5 addrx locations
symtab reader: fix up alternative addresses
DWARF reader: use size_t for DWARF expression length
abidiff: include ABI XML versions when reporting a mismatch
abidiff: include ABI XML versions when reporting a mismatch cont.
XML writer: remove type_hasher and remaining comment
XML writer: drop write_elf_symbols_table variable emitted_syms
XML writer: improve slightly emission of top-level declarations
XML writer: do not create extra temporary referenced type shared_ptr
symtab: refactor ELF symbol value tweaks
symtab: fix up 64-bit ARM address which may contain tags
test-annotate.cc: ignore whitespace during diff
XML writer: unify type emission tracking
limit repeated DIE comparisons
crc_changed: eliminate copying of shared_ptr values
optional: minor improvements
Linux symbol CRCs: support 0 and report presence changes
add Linux kernel symbol namespace support
abidw: fix --stats output for resolved classes and enums
abidw: remove always true test in resolve_declaration_only_classes
abidw: resolve declaration-only enums the same as classes
Guillermo E. Martinez (20):
ctf-reader: Use argument by reference reading the context
ctf-reader: Make create_read_context return a smart pointer.
ctf-reader: Use ABG_ASSERT instead of assert
ctf-reader: Fix memory leak reported by valgrind
ctf-reader: Fix length in dynamic array definition
Add regression tests for ctf reading
ctf-reader: Assert on ir::hash_as_canonical_type_or_constant
ctf-reader: Add support to undefined forward declaration types
tools-utils: `entry_of_file_with_name' returns incorrect result
ctf-reader: Fix multiple var-decl in anonymous struct/uninons
ctf-reader: Add support to read CTF information from the Linux Kernel
ctf-reader: shows incomplete summary changes
ctf-reader: CTF debug info for some symbols is not found
abipkgdiff: Add support to compare packages with CTF debug format
ctf-reader: add support to looking debug information in external path
kmidiff: Add CTF support to comparing Kernel trees
Add regression tests for abipkgdiff using ctf info
ctf-reader: add support to looks for debug information to extract kABI
ctf-reader: looks for debug information in out-of-tree modules
ctf-reader: Lookup debug info for symbols in a non default archive member
Jose E. Marchesi (7):
Add support for the CTF debug format to libabigail.
ctf: make libabigail::ctf_reader::read_corpus reentrant
elf_helpers: new utility function find_strtab_for_symtab_section
abg-ctf-reader: use the right string table for CTF data
Move dwarf_reader::status facilities to an abigail::elf_reader namespace
ctf: ctf_reader::read_corpus now sets a status
abidw: add support for CTF
Mark Wielaard (4):
dwarf-reader: Workaround libdw dwarf_location_expression bug
DWARF reader: use size_t for DWARF expression length cont.
symtab-reader: Setup aliases before checking ppc64 opd function entries
Handle zero sh_entsize in get_soname_of_elf_file
Matthias Maennich (8):
XML writer: adjust tracking of emitted declarations
XML writer: use consistent type pointers for type ids and emission tracking
XML writer: use exemplar types for tracking referenced types
XML writer: track emitted types by bare pointer
XML writer: map type ids by bare pointer
XML writer: resolve declaration-only enum definitions
abidiff: improve whitespace generation in symbol diff report
tests: Update Catch2 library to v2.13.9
Randy MacLeod (1):
Improve some grammar
Thomas Schwinge (13):
Better highlight 'make distcheck-fast'
CONTRIBUTING: Move "Coding language and style" section
configure: Tune fedabipkgdiff dependencies detection
Add '.mailmap'
Further update 'make distcheck-fast'
configure: Instead of for rpm 4.15+ version, test actual rpm/zstd support
abipkgdiff: Respect 'create_abi_file_path' interface
abipkgdiff: Use 'convert_path_to_relative' in 'create_abi_file_path'
fedabipkgdiff: Enable testing without proper Koji installation
Replace use of deprecated Python 'imp' module with 'importlib'
fedabipkgdiff: Also accept MIME type 'application/x-redhat-package-manager' for RPM files
Replace Python 'import importlib' with 'import importlib.machinery'
Handle several variants of Python 'imp', 'importlib' modules
Vanessa Sochat (2):
Fixing incorrect symbol
Adding missing newline to build-container workflow
Xiaole He via Libabigail (1):
abg-reader: fix comment of function
tangmeng (8):
Fix trivial typo when printing help information
abilint: fix trivial typo when using abilint
abicompat: Add prompt message for abnormal operation
Fix trivial typo when printing message
abilint: Add prompt message for abnormal operation
abicompat: Add prompt message for abnormal operation
test-abicompat: Make the test output more pleasant
Standardize and improve the output of several tests
vsoch (1):
Add Logic to detect file type by extension
2.0
===
Ben Woodard via Libabigail (5):
Fix declaratons of conditionally defined functions
Fix declaratons of conditionally defined functions
Bug 27512 - Remove broken zip-archive support
Fix trivial typo when printing version string
Fix trivial typo when printing version string
Dodji Seketeli (90):
configure: add --enable-rpm415 option
Add check-self-compare to release regression testing
Bump version number to 2.0
Add missing SPDX headers to source files not specifying any license
Add has-spdx-header.sh script
Add replace-spdx-license.sh script
Add helper files to perform the re-licensing
Re-license the project to Apache v2 With LLVM Exception
Add the LICENSE.txt file
Delete COPYING* files
Add a license-change-2020.txt file
Teach Automake that COPYING* files are gone from sources
CONTRIBUTING: Update instructions about regression tests
Use C++11 for the code base
ir: Add better comments to types_have_similar_structure
mainpage: Update web page for 1.8 release
Bug 26992 - Try harder to resolve declaration-only classes
Bug 27204 - potential loss of some aliased ELF function symbols
Ignore duplicated functions and those not associated with ELF symbols
Bug 27236 - Pointer comparison wrongly fails because of typedef change
Bug 27233 - fedabipkgdiff fails on package gnupg2 from Fedora 33
Bug 27232 - fedabipkgdiff fails on gawk from Fedora 33
dwarf-reader: Support fast DW_FORM_line_strp string comparison
Bug 27255 - fedabipkgdiff fails on nfs-utils on Fedora 33
Bug 26684 - Support DW_AT_data_bit_offset attribute
Bump ABIXML format version to 2.0
Bug 27165 - Better support multi-language binaries
Bug 27331 - Data member offset change not considered local
Bug 27267 - Better support for opaque enum types
dwarf-reader: Use DW_FORM_line_strp only if it's present
Use generic internal type name to canonicalize anonymous enums
Don't consider type name when comparing typedefs
tests: Update to catch.hpp v2.13.4 and fix #2178
Better sorting of (anonymous) types in ABIXML files
dwarf-reader: Keep stable order when de-duplicating class definitions
tests/catch.hpp: Add SPDX header back
Revert "Fix declaratons of conditionally defined functions"
dwarf-reader: Support more DWARF-5 type DIEs
Bug 27569 - abidiff misses a function parameter addition
Bug 27598 - abidiff mishandles union member functions
dwarf-reader: Canonicalize opaque enums and classes
dwarf-reader: properly set artificial-ness in opaque types
reader: Handle 'abi-corpus' element being possibly empty
reader: Use xmlFirstElementChild and xmlNextElementSibling rather than xml::advance_to_next_sibling_element
reader: Use xmlFirstElementChild/xmlNextElementSibling to iterate over children elements
Fix thinko in configure.ac
Miscellaneous indentation and comments cleanups
Fix DWARF type DIE canonicalization
Peel array types when peeling pointers from a type
Add primitives callable from the command line of the debugger
Detect failed self comparison in type canonicalization of abixml
Detect abixml canonical type instability during abidw --debug-abidiff
Introduce artificial locations
abixml reader: Fix recursive type definition handling
xml reader: Fix recursive qualified & reference type definition
ir: Enable setting breakpoint on first type inequality
Add environment::{get_type_id_from_pointer,get_canonical_type_from_type_id}
location:expand() shouldn't crash when no location manager available
ir: make 'debug(artefact)' support showing enums
reader: Canonicalizing a type once is enough
rhbz1951526 - SELF CHECK FAILED for 'gimp-2.10'
Fix recursive array type definition
abidw: Remove temporary .typeid files when using --debug-abidiff
abg-reader: Fix typo
doc: Fix typo
Revert "Fix trivial typo when printing version string"
Bug 27980 - Fix updating of type scope upon type canonicalization
ir: Improve the debugging facilities
ir: Tighten the test for anonymous data member
ir: Tighten type comparison optimization for Linux kernel binaries
Bug 27995 - Self comparison error from abixml file
Bug 27236 - Fix the canonical type propagation optimization
Bug 27236 - Allow updating classes from abixml
Bug 27236 - Don't forget to emit some referenced types
RHBZ 1925886 - Compare anonymous types without qualified names
Bug 27985 - abidiff: bad array types in report
RHBZ-1944096 - assertion failure during self comparison of systemd
writer: escape enum linkage name in abixml
ir: Avoid infinite loop during type canonicalization
ir: Fix canonical type propagation cancelling
xml-reader: Get back to original way of building qualified types
writer: Avoid sigsev on types with no translation unit
RHBZ1951496 - ir: Acknowledge that "void type" is not canonicalized
RHBZ1944102 - self comparing ABI of protobuf-3.14.0-2.el9 failed
abipkgdiff: Fix showing added/removed files
Bug 28316 - Failure to represent typedef named anonymous enums
abipkgdiff: Do not erase working dirs before we are done using them
Bug 27970 - Duplicated member functions cause spurious self comparison changes
dwarf-reader: Indent
Bug 27086 - Consider all C++ virtual destructors when there are many
Giuliano Procida (17):
abidiff: support --dump-diff-tree with --leaf-changes-only
ir: Arrays are indirect types for type structure similarity purposes
Add qualifier / typedef / array / pointer test
Refresh ABI cross check test files
abidiff: do not qualify member names in diff report
abg-dwarf-reader: Fix typo in compare_dies_string_attribute_value
DWARF reader: Interpret ARM32 ELF addresses correctly
DWARF reader: Comment ARM32 ELF address interpretation
dwarf-reader: Treat union members as public by default.
abg-writer.cc: fix write_elf_symbol_reference loop
dwarf-reader: Create new corpus unconditionally
abg-reader: Ensure corpus always has a symtab reader
abg-reader: Create a fresh corpus object per corpus
ir: remove "is Linux string constant" property from elf_symbol
abg-ir.h: add declaration of operator<< for elf_symbol::visibility
PR28060 - Invalid offset for bitfields
abg-writer: faster referenced type emission tests
Matthias Maennich (34):
Replace individual license references with SPDX Identifiers
Drop C++03 compatibility layer
Remove <functional> usages from abg_compat
Remove <memory> usages from abg_compat
Remove <unordered_map> usages from abg_compat
Remove <unordered_set> usages from abg_compat
Drop unneccessary includes of abg-cxx-compat.h
clang-format: define C++ standard to improve formatting
Update catch2 testing framework: v1.12.2 -> v2.13.3
abg-ir: Optimize calls to std::string::find() for a single char.
abipkgdiff: Address operator precedence warning
abg-cxx-compat: add simplified version of std::optional
abg-ir: elf_symbol: add is_in_ksymtab field
abg-ir: elf_symbol: add is_suppressed field
dwarf-reader split: create abg-symtab-reader.{h,cc} and test case
clang-format: Minor correction to not break parameters on the first line
Refactor ELF symbol table reading by adding a new symtab reader
Integrate new symtab reader into corpus and read_context
corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab
corpus: make get_unreferenced_(function|variable)_symbols use the new symtab
abg-reader: avoid using the (var|function)_symbol_map
dwarf-reader: read_context: use new symtab in *_symbols_is_exported
Switch kernel stuff over to new symtab and drop unused code
abg-elf-helpers: migrate ppc64 specific helpers
symtab_reader: add support for ppc64 ELFv1 binaries
abg-corpus: remove symbol maps and their setters
dwarf reader: drop (now) unused code related to symbol table reading
test-symtab: add tests for whitelisted functions
symtab/dwarf-reader: allow hinting of main symbols for aliases
dwarf-reader/writer: consider aliases when dealing with suppressions
symtab: Add support for MODVERSIONS (CRC checksums)
elf-helpers: refactor find_symbol_table_section
symtab-reader: add support for binaries compiled with CFI
Consistently use std::unique_ptr for private implementations (pimpl)
1.8
===
Dodji Seketeli (62):
Bump version number to 1.8
Update fedabipkgdiff tests according to commit b602f46c
abipkgdiff: fix documentation of --impacted-interface
dwarf-reader: Fix bloom filter access in GNU_HASH section
Update tests/data/test-abidiff-exit/test-leaf-peeling-report.txt
Update the mailing list registration form on the web page
abipkgdiff: Fix race condition while using private types suppr specs
Fix compilation with g++ 4.8.5 on el7
Bug 25977 - runtestabidiffexit regression on EL7
Bug 25986 - Wrong name of function type used in change report
Add -g back to ABIGAIL_DEVEL
{default,leaf}-reporter: group data members changes reports together
dwarf-reader: support several anonymous data members in a given class
Bug 25661 - Support data member replacement by anonymous data member
Bug 25989 - type_topo_comp doesn't meet irreflexive requirements
abigail.m4: Fix copyright notice
Bug 26127 - abidw --annotate emits incomplete function types
Bug 26135 - Wrong linkage name causes anonymous classes miscomparison
Support declaration-only enums in DWARF reader.
reader: Remove useless support for WIP types
Pimpl-ify traversable_base and remove its unused traverse method
dwarf-reader: re-indent a block of code
Bug 26261 - Fix logic for canonicalizing DW_TAG_subroutine_type DIEs
Use flat representation to canonicalize anonymous classes and unions
writer: Avoid using dynamic hashing in type maps
Fix thinko in get_vmlinux_path_from_kernel_dist
Bug 26309 - Wrong leaf reporting of changes to typedef underlying type
Make abidiff and abidw support several --headers-dir{1,2} options
Bug 26568 - Union should support more than one anonymous member
Consider the implicit 'this' parameter when comparing methods
Fix redundancy detection in the diff graph
Structurally compare the few non-canonicalized types in general
configure: Support ABIGAIL_NO_OPTIMIZATION_DEBUG environment variable
abg-tools-utils: Fix comment
Bug 26770 - Spurious declaration-only-ness induces spurious type changes
update-test-output.py: Update syntax
Update test-libandroid.so.abi
Bug PR26739 - Handle qualified typedef array types
writer: Sort decls and fix topological sorting for types
ir: Add equality op to array_type_def::subrange_type::bound_value
Make sure to canonicalize all types but decl-only classes
Bug 26769 - Fix missing types in abixml output
abipkgdiff: Add a new --self-check option
fedabipkgdiff: make --self-compare use abipkgdiff --self-check
dwarf-reader: support artificially generated translation units
tests/data/test-fedabipkgdiff: Update reference output
abipkgdiff: Avoid uncertainty when sorting worker tasks
reader: Read array subrange length into an uint64_t
Bug 26780 - Fix array subrange bounds (de)serialization
writer: Emit definitions of declarations when they are present
ir: Introduce internal pretty representation for anonymous classes
reader: Don't lose anonymous-ness of decl-only classes
dwarf-reader: Avoid having several functions with the same symbol
abidw: make --abidiff report any change against own ABIXML
abipkgdiff: make --self-check to fail on any change against own ABIXML
writer: fix off-by-one error in assertion
reader: Fix off-by-one error in assert
dwarf-reader: Bug 26908 - don't crash on empty DW_TAG_partial_unit
configure: add --enable-rpm415 option
Add check-self-compare to release regression testing
Update the Changelog for 1.8
Update NEWS file for 1.8
Giuliano Procida (112):
Correct spelling of "alignment".
Correct various inconsequential typos.
Add space missing between "[C]" tag and description of changed item.
Fix the reporting of leaf change statistics.
abisym: Remove leading space in output.
abg-comparison.cc: Remove stray function declaration.
Fix spurious new lines after diff sections.
Add more leaf change reporting.
Fix interaction of --redundant and --leaf-changes-only options.
abg-leaf-reporter.cc: Fix indentation of function parameter diffs.
Eliminate some unnecessary blank lines in diff output.
Output 2-space indentation consistently.
Treat function type changes as local.
Tag add/remove/change lines unconditionally with [A], [D], [C].
dwarf-reader: Use all bits of Bloom filter words.
Ensure change_kind enum values are used consistently.
Eliminate redundancy in representation of local change kinds.
abg-ir.cc: Fix peel_typedef_type(const type_base*).
abg-ir.cc: Remove always-true check.
abg-ir.cc: Improve types_have_similar_structure.
abidiff: Remove some more unnecessary blank lines.
abg-reader.cc: Fix code indentation and tabify.
abg-ir.cc: Add types_have_similar_structure tests.
abidiff: Clean up new lines between sections.
abidiff: Remove blank line after base class diffs.
abidiff: Fix enum impacted interfaces blank line.
abidiff: Remove member function diff blank lines.
abidiff: Fix variable declaration formatting.
abidiff: Eliminate leaf mode double blank lines.
abidiff: Remove new lines after parameter diffs.
Fix size calculations for multidimensional arrays.
abidiff: Remove blank line after typedef changes.
test-diff-suppr.cc: Add missing tests.
abidiffpkg: Remove stray test report file.
abg-dwarf-reader.cc: Avoid division by zero.
Rename test-abidiff-exit/test-leaf[0-3] files.
test-abidiff-exit.cc: Drop redundant --redundant.
abidiff: More compact references to prior diffs.
abg-reporter-priv.cc: Fix anonymous member size change reports.
abg-reporter-priv.cc: Improve readability of represent helper function.
abidiff: Document and refresh tests.
Fix variable suppression name_not_regex.
test35-leaf.suppr: fix regex typo.
test24-soname-suppr*txt: Fix suppression syntax.
Add tests for declaration-only struct diffs.
abidiff: Blank line after declaration-only diff.
abidiff: Omit declaration-only type size 0 diffs.
Move regex definitions to own files.
Move libxml bits out of abg-sptr-utils.h.
Simplify generation of symbol whitelist regex.
Remove excess whitespace.
Remove stray semicolons.
Eliminate redundant conditional operators.
Make set_drops_artifact_from_ir non-const.
Hoist some common expressions evaluating offsets.
Tidy #includes in a few files.
Document ^_^ regex in generate_from_strings.
Escape names used in symbol whitelisting regex.
abg-suppression.cc: More uniform variable naming.
Add POSIX regex wrapper functions.
Use regex::compile wrapper instead of regcomp.
Tidy checks for sufficient suppression properties.
Use regex::match wrapper instead of regexec.
Refactor read_parameter_spec_from_string logic.
abg-reader.cc: Remove key_replacement_type_map.
Let std::unordered_map::operator[] insert keys.
doc: Fix sufficient suppression property lists.
Tidy get_pretty_representation qualified_name.
clang-format: set continuation indentation to 2
Fix HARMLESS_SYMBOL_ALIAS_CHANGE_CATEGORY spelling
Eliminate non-ASCII characters.
abg-writer: Add support for stable hash type ids.
Fix leaf-mode formatting of decl <-> defn diffs.
Fix bug that suppressed DWARF read tests.
get_canonical_type_for: restore environment better
Improve code comments and whitespace.
Refactor d.context() as ctxt in report(enum_diff).
Tidy build_enum_type state variables.
Rename declaration-definition change category.
abg-ir.cc: Remove unused re_canonicalize function.
Support incomplete enums in core and diff code.
Add declaration-only enums to XML reader/writer.
Add tests for declaration-only enums.
Use pointers not strings in type graph comparison.
abg-writer.cc: Clean up new line emission.
reporter: Fix report whitespace typos.
Fix corpus_diff::has_net_changes for --leaf-changes-only mode
abg-ir.cc: Tidy some operator== definitions
Fix --type-id-style hash for empty internal names.
abg-comparison.cc: Tidy some corpus_diff code
abg-ir.cc: Refactor operator== methods with helper function
abg-comparison.h: Remove stray declaration
Remove unused is_reference_or_pointer_diff.
Simplify peel_typedef_pointer_or_reference_type
Fix inheritance of scope_decl::insert_member_decl
Enable Clang's -Werror-overloaded-virtual.
abg-ir.cc: Fix incorrect pop of compared types.
Remove ABI XML test data file blank lines
abg-writer.cc: Fix indentation of XML output
abg-ir.cc: Remove duplicated line of code
Make decl_names_equal more accurate
Fix decl_base comparison function
Fix maybe_report_data_members_replaced_by_anon_dm
Improve documentation of abidiff --type-id-style
DWARF: look up DW_AT_declaration non-recursively
DWARF: track chained DIE declaration-only status
abg-corpus.cc: report architecture discrepancies
Add missing newlines to end of test files.
Fix two wrongs in test suppression regex
Stabilise sort of canonical types
Improve and stabilise sort of member functions
Improve enum synthetic type names
Mark Wielaard (10):
Add --header-file option to add individual public header files.
Add --drop-private-types to abidw.
Add --drop-undefined-syms to abidw.
Add no-parameter-names to drop function parameter names.
Add --no-elf-needed option to drop DT_NEEDED list from corpus.
Rename read_elf_symbol_binding to read_elf_symbol_visibility.
Add --no-write-default-sizes option.
Don't iterate before the start of a RandomAccessOutputIterator.
dwarf-reader: get subrange_type bounds signedness from underlying type
Assume subrange bounds types are unsigned if no underlying type is given.
Matthias Maennich (38):
dwarf-reader: gnu_hash_tab lookup: fix overflow in bloom hash calculation
configure: add support for thread sanitizer (--enable-tsan)
abg-workers: guard bring_workers_down to avoid dead lock
abidiff: fix documentation of --impacted-interfaces
configure: add support for memory sanitizer (--enable-msan)
test-read-dwarf: ensure in_elf_path exists and add missing test files
dwarf-reader: remove superfluous ABG_ASSERT
make: add distcheck-fast target
abg-dwarf-reader: simplify symbol map update
tests: parallelize diff-suppr test
abg-dwarf-reader split: create abg-elf-helpers.{h,cc} and test case
abg-elf-helpers: move some elf helpers from abg-dwarf-reader
abg-elf-helpers: move some versioning helpers from abg-dwarf-reader
abg-elf-helpers: move some kernel helpers from abg-dwarf-reader
abg-elf-helpers: consolidate the is_linux_kernel* helpers
abg-dwarf-reader: migrate more ELF helpers to elf-helpers
abg-elf-helpers: migrate more elf helpers (architecture specific helpers)
abg-elf-helpers: migrate maybe_adjust_et_rel_sym_addr_to_abs_addr
test-types-stability: parallelize test case alternatives
tests: reorder test execution to optimize 'make check' runtime
corpus/writer: sort emitted translation units by path name
configure: set -Wno-error-overloaded-virtual for clang builds
tests/.gitignore: ignore all files starting with runtest*
dwarf-reader: read_context: drop some unused accessor methods
cxx-compat: add test suite for cxx-compat
configure: add ABIGAIL_DEBUG options
configure: add more diagnostic options when ABIGAIL_DEVEL is set
tests: Add symtab test suite
tests: Add kernel symtab test suite
dwarf-reader: Remove unused code
dwarf-reader: read_context: drop unused symbol versioning code
abg-reporter: fully qualify std::string and std::ostream
abipkgdiff: remove unused includes of elfutils/libdw.h and elf.h
dwarf-reader: get_die_source: always initialize return value
cleanup: std::weak_ptr use: replace manual lock by std::weak_ptr::lock
dwarf-reader: fix lookup for repeated translation unit paths
dwarf-reader: Ignore zero length location expressions from DW_AT_location
abipkgdiff: minor cleanups
1.7
==
Dodji Seketeli:
Internal pretty repr of union cannot be flat representation
Fix anonymous union constructed under the wrong context
Propagate private type diff category through refs/qualified type diffs
Add test for the fix for PR24410
Fix "Add test for the fix for PR24410"
Bug 24430 - Fold away const for array types
Bug 24431 - ELF reader can't interpret ksymtab with Kernel 4.19+
Bug 24431 - ELF reader fails to determine __ksymtab format
Enable building with AddressSanitizer activated
Fix a memory leak in real_path
Delay canonicalization for array and qualified types
abg-tools-utils.cc: Plug a leak in find_file_under_dir
Add --enable-{asan,ubsan} configure options
Canonicalize types non tied to any DWARF DIE
Don't try to de-duplicate all anonymous struct DIEs
Use canonical types hash maps for type IDs in abixml writer
Handle several member anonymous types of the same kind
Better handle several anonymous types of the same kind
Fix logic of get_binary_load_address
Handle Linux kernel binaries with no __ksymtab section
Bug 24560 - Assertion failure on an abixml with an anonymous type
Bug 24552 - abidiff fails comparing a corpus against a corpus group
Take anonymous scopes into account when comparing decls
[dwarf-reader] const-ify Dwarf_Die* use in many places
[dwarf-reader] Re-use function types inside a given TU
[dwarf-reader] Better use of linkage name for fn decl de-duplication
[dwarf-reader] Optimize speed of compare_as_decl_dies
[dwarf-reader] Fix indentation in compare_dies_string_attribute_value
Fully account for anonymous-ness of scopes when comparing decl names
Bug 24731 - Wrongly reporting union members order change
Make abidiff --harmless show harmless changes in unions
[dwarf-reader] Constify the first parameter of maybe_canonicalize_type
[dwarf-reader] Make sure to canonicalize anonymous types
Implement a poor-man's RTTI for performance
[xml-writter] Avoid using RTTI when dynamically hashing types
[xml-writter] Speedup function_type::get_cached_name
[xml-writer] Remove a useless kludge
Misc indent cleanup
Implement fast comparison of Linux Kernel types when applicable
[ir] Fix indentation and add comments
Add timing to the verbose logs of abidw
Bug 24787 - Filter out enum changes into compatible integer types
Serialize canonical types to avoid testing if types have been emitted
Detect the presence of R_AARCH64_{ABS64, PREL32} macros
Bug 25007 - Don't use section-relative symbol values on ET_REL binaries
Remove the elf_symbol::get_value property
Guard testing v4.19+ AARCH64 kernel module loading for EL6 support
Fix reading of relocation sections when endianness mismatches
[has_type_change] Better detect type size changes
Better propagation of suppressed-ness to function types
Support the "name_not_regexp" property in the [suppress_type] section
PR25042 - Support string form DW_FORM_strx{1,4} from DWARF 5
Fix a typo in a comment of abg-dwar-reader.cc
Fix thinkos in DW_FORM_strx detection in configure.ac
PR25058 - Support decl DIEs referring to symbols using DW_AT_ranges
PR25058 - Better support fn DIEs referring to symbols using DW_AT_ranges
[abg-comparison.cc] Fix comments typo
Support symbol_name_not_regexp in [suppress_{function, variable}]
Bug 25095 - Apply symbol white lists to ELF symbols
Bug 25128 - Leaf diff reporter shouldn't compare decl-only classes
Bug 25128 - Handle decl-only classes that differ only in size
Small style fix in abg-default-reporter.cc
Bug 24690 - Support comparing non-reachable types of a binary
Misc typo fixes
Bug 25409 - Fix reading layout-offset-in-bits attribute of data-member
suppression: Better handle soname/filename properties evaluation
abixml-reader: Support SONAME related properties on file suppression
tools-utils: Drop redefinition of fopen when BAD_FTS is defined
gen-changelog.py: Update the script for python3
Giuliano Procida:
Remove redundant mention of libtool in COMPILING documentation.
Fix typo in COMPILING.
Don't ignore options when diffing translation units (.bi files).
Sort kernel module object files before processing them.
Fix stray comma in leaf-changes-only mode.
Jessica Yu:
Support pre and post v4.19 ksymtabs for Linux kernel modules
Mark Wielaard:
Fix an undefined behaviour in has_var_type_cv_qual_change
Don't try to read a build_id as string in find_alt_debug_info_link.
Matthias Maennich:
dwarf-reader: fix undefined behaviour in get_binary_load_address
Add .clang-format approximation
abg-writer: Simplify 'annotate' propagation
Add deprecation facilities
abg-writer: Refactor write_translation_unit API
abg-writer: Refactor write_corpus API
abg-writer: Refactor write_corpus_group API
write_context: allow mutating the ostream used
abidw: Consolidate setting options
Make write_architecture and write_corpus_path flags in the write_context
abidw: add option to omit the compilation directory
abidw: add option to only emit file names (--short-locs)
abg-writer: drop deprecated API
.gitignore: Add libabigail-?.* *.orig files
.clang-format: Add more options for match existing coding style
abg-reporter.h: add missing includes / using declarations
Drop requirement to compile with GNU extensions
Update tests/.gitignore to ignore runtesttoolsutils
Add compatibility layer for C++11 mode
abg-tools-utils: add missing header include guards
Ensure a consistent C++ standard use
abg-dwarf-reader: detect kernel modules without exports as such
dwarf-reader: read_corpus_from_elf: unconditionally load elf properties
kmidiff: fix help message
dwarf-reader: refactor try_reading_first_ksymtab_entry_using{pre,}_v4_19_format
dwarf-reader: add support for symbol namespaces in ksymtab entries
abg-dwarf-reader: resolve relocation sections by index
dwarf-reader: relax restriction about relocation sections in try_reading_first_ksymtab_entry
Add (undocumented) support for version suffixes
abidiff/kmidiff: do not default-suppress added symbols
abg-reader: handle empty corpus nodes in xml representation
corpus: is_empty: consider actual translation unit contents
writer: completely skip over empty corpora
KMI Whitelists: Add functionality to make whitelists additive
KMI Whitelists: Drop old whitelist extraction methods
clang-format: Better approximation for binary operators and assignments
dwarf-reader: handle symtab.section_header.sh_entsize == 0
dwarf-reader: handle binaries with missing symtab
Fix / add include guards
abg-fwd: drop duplicate forward declaration for corpus_sptr
Testing: add Catch Unit test framework
Fix some parameter name inconsistencies
abg-comparison: prefer .empty() over implicit bool conversion of .size()
abg-dwarf-reader: zero initialize local Dwarf_Addr values
abg-workers: Rework the worker queue to improve concurrent behaviour
abg-fwd.h: fix mismatched tags for ir_node_visitor
abilint: fix return types bool -> int
abg-reader: clarify boolean use of assignment
diff-utils: point: fix postfix decrement/increment operator
add missing virtual destructors
viz-dot: remove unused members from dot
suppressions: drop unused parameter from type_is_suppressed
ir: drop unused data members from {environment,qualified_name}_setter
distinct_diff: avoid expression with side effects within typeid
dwarf-reader: fix recursion in expr_result::operator&
Update .gitignore files to ignore typical dev side products
dwarf-reader: Fix comments for try_reading_first_ksymtab_entry_using_{pre_,}v4_19_format
dwarf-reader: templatize read_int_from_array_of_bytes
Bug 24431 Read 32bit values when testing for the v4.19 symbol table format
Bug 24431 Treat __ksymtab as int32_t for v4.19+ kernels
1.6
===
Dodji Seketeli:
Bump version number to 1.6
Update website for 1.5
Support having several debuginfo search dirs for a binary
Add a --fail-no-debug-info to abidiff
Some light style change in abidiff.cc
Add basic support for Fortran binaries
Update copyright for 2019
Bug 23044 - Assertions with side effects
Separate public types of first binary from those of the second
Add (very) basic support for Rust
Support some new DWARF language encoding for C and C++
Fix a thinko
Overhaul detection the DW_LANG_* enumerators from dwarf.h
Fix a typo in the recent Rust support and update regression tests
Conditionalize the Rust support regression test
Properly add the new rust tests to EXTRA_DIST
Bug 20175 - Classify CV qual changes in variable type as harmless
Better comments in the comparison engine
Bug 24139 - Support suppressing some enumerator changes
Small apidoc fix
Bug 24157 - Wrong support of Ada ranges
Bug 24188 - Assertion failed while analysing a Fortran binary
Avoid over-suppressing fns & vars when analysing the Kernel
Do not build DIE -> parent map just because we see an asm TU
PR24257 - Handle DW_TAG_typedef with no underlying type
Better detection of void* to something* change
Add ir::{lookup_data_member, get_function_parameter}
Better pointer name equality optimization in DIE de-duplication code
Misc cleanups
Bug 24378 - DW_TAG_subroutine_type as a DIE scope causes infinite loop
Add missing assignment operators
Mark Wielaard:
Conditionalize the use of DW_LANG_C_plus_plus_03 and DW_LANG_Rust
Xiao Jia via libabigail:
Some documentation fixes
1.5
===
Dodji Seketeli:
Bug 23533 - Accept '=' in ini property values
PR23641 - Type definition DIE matched by a supprspec but not its decl
PR23641 - confusion when a type definition DIE is matched by a supprspec and its decl DIEs aren't
Bug 23708 - categorize void* to pointer change as harmless
Bug rhbz1638554 - assertion failed in is_mostly_distinct_diff
Bump version number to 1.5
Allow use of python even when fedabipkgdiff is disabled
Make test-ir-walker work on ELF binaries directly
Fix apidoc of dwarf_reader::get_soname_of_elf_file
Add option to avoid walking abigail::ir nodes twice
Fix propagation of private type suppression category
Categorize CV qualifier changes on fn return types as harmless
Misc comment fix
Add default suppression specification for the krb5 project
Add default suppression specification for the libvirt project
Better support array with unknown upper bound
Define UINT64_MAX when it's not defined
1.4
===
Dodji Seketeli:
Fix typo in tests/runtestdefaultsupprs.py
Remove references, arrays and fn parms from leaf diff nodes
Improve detection of local *type* changes
Better detect when diff nodes only carry local type changes
Better detect when pointer and qualified types carry local changes
Use the flat representation for anonymous struct/unions
Add test44-anon-struct-union-v{0,1}.o to source distribution
Explicitely detect anonymous data member changes
Identify a function using its symbol name and version
Fix indentation of help string in abipkgdiff
Fix redundancy detection through fn ptr and typedef paths
Filter out changes like type to const type
Initial basic support of union type in suppression specifications
Ensure die_function_type_is_method_type returns a class type die
Fix race between runtestdefaultsupprs{py3.sh,.py}
Allow square brackets in ini property values
Properly add test materials for test-diff-suppr/test38-char-class-in-ini*
1.3
===
Chenxiong Qi:
Bug 22722 - Make fedabipkgdiff and its tests support both python 3 and 2
Dodji Seketeli:
Report change locations in leaf reports
Skip changes to function *types* in the leaf reporter
Make abipkgdiff avoid comparing private DSOs from RPMs
Detect the presence of 'rpm' as it's now needed by abipkgdiff
Do not enable fedabipkgdiff tests if fedabipkgdiff itself is disabled
Don't crash when invoking kmidiff with no debug info root dir
Don't possibly forget type definition when reading a CorpusGroup
Do not show decl-only-to-def changes in the leaf reporter
Overhaul of the report diff stats summary
Do not mark "distinct" diff nodes as being redundant
Fix meaning of "harmless name change" to avoid overfiltering
Better handle category propagation of pointer changes
Improve function changes reporting in leaf and default mode
Don't filter out typedef changes with redundant underlying type changes
Only show leaf type changes in the leaf type changes section
Fix leaf report of class data member changes
Always show redundant changes in leaf mode
Avoid reporting an enum change if it has already been reported
When we say a change was reported earlier give its source location
[abipkgdiff]: in leaf mode we always show redundant changes
Update tests for the "better leaf mode redundancy management" patchset
Use absolute builddir paths in automake test files
Represent sizes and offsets in bytes and hexadecimal values
Initial support of anonymous data members
Show data member offsets in bytes too
Sort the output of the leaf reporter
Use the dynamically selected python for Koji configure tests
Use the correct python interpreter in runtestdefaultsupprs.py
Handle cases where no python2 interpreter is found
Don't bail because "rpm" issued an error
Jonathan Wakely:
Remove assertion with side-effects
Remove unused local set<string> variables
Rename misleading remove_trailing_white_spaces functions
Use std::string::substr instead of appending single chars
1.2
===
Dodji Seketeli:
Add newline at end of version string display
Initial support for Ada ranges
Bug 22913 - Correctly de-dup pointers to anonymous structs inside a TU
Fix the output indentation of abidiff --help
Fix indentation in the DWARF reader
Update abipkgdiff documentation wrt suppression specifications
Fix typo in abipkgdiff documentation
1.1
===
Dodji Seketeli:
Bug 22076 - Disable fedabipkgdiff for old koji clients
Bug 22436 - make abipkgdiff accept several debuginfo packages
Bug 22488 - Make abipkgdiff handle different binaries with same basename
Bug 22437 - Make fedabipkgdiff use all debug info RPMs of a sub-RPM
Bug 22684 - Add --d{1,2} options to kmidiff
Bug 22692 - Consider Java as a language that supports the ODR
Fully report diagnostic about alternate debug info file not found
Update & cleanup the tools manuals summary
Improve comments wording in fedabipkgdiff
Update copyright notice for all source files
Fix version revision number printing in tools --help option
abipkgdiff --verbose shouldn't trigger --fail-no-dbg
Fix logic in common_prefix
Fix symlinks paths handling in abipkgdiff
Suppress duplicates when listing package content
Make kmidiff show the wrong option when it complains about it
Only consider local changes when filtering subtype changes
Skip class types with changed names in leaf reports
Correctly link with pthread
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 </abi-corpus> 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
Support systems where fts.h can't be used with _FILE_OFFSET_BITS set
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
Bug 22438 - Emit a clear message when debug info is not found
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 <algorithm> 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