• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
12.2
2===
3Aleksei Vetrov (1):
4      symtab: add support for CRC values from __kcrctab
5
6Dodji Seketeli (20):
7      Bump version number to 2.2
8      Update website for 2.1 release.
9      ir: Fix documentation of canonical type propagation
10      abidiff: add a --debug-tc option
11      Bug 29650 - Caching class comparison result potentially too early
12      ir: remove redundant cycle detection code in equals
13      ir: Fix a wrong comment in canonicalize()
14      ir: Properly indent overload of equals() for class_decl
15      dwarf-reader: Fix class size setting bug
16      rhbz2114909 - Refer to changed base classes using their non-qualified names
17      ir: Don't crash when looking at corpus-less translation units
18      kmidiff: Fix spacing in the help string
19      Use environment by reference.
20      Make Front Ends first class citizens
21      test-read-ctf: Update tests for fixing size and name for underlying types
22      Fix spurious deleted/added virtual destructor change report
23      dwarf-reader: Leverage ODR & DWZ
24      dwarf-reader: Avoid duplicating member functions
25      dwarf-reader: Make die_peel_{qual_ptr,typedef} always set peeled type
26      Bug 29829 - dwarf-reader: Allow DIEs to be in a lexical block
27
28Giuliano Procida (1):
29      Narrow Linux symbol CRCs to 32 bits
30
31Guillermo E. Martinez (6):
32      Use the CTF reader by default when applicable
33      ctf-reader: Set alignment-in-bits property to 0
34      ctf-reader: Fix size and name for underlying types
35      ctf-reader: Strip qualification from a qualified array type
36      ctf-reader: Fix representation of multidimensional arrays
37      ctf-reader: Fix array size representation
38
39Sam James (1):
40      Use xz as the default tarball compression format
41
42Xiaole He (3):
43      abg-ir: add missing else
44      abg-reader: optimize if construction
45      abg-diff-utils: fix typo in comments
46
472.1
48===
49Ben Woodard (7):
50      Fix typo in abipkgdiff manpage
51      Add an option ignore SONAME differences in libraries
52      Add github actions to support workflows
53      abicompat: Add missing space
54      abidiff: Remove redundant code
55      abicompat: Support reading CTF and abixml
56      Bug 28669 - Increment Library version
57
58David Cantrell (1):
59      Include <libgen.h> in tools/abisym.cc for basename(3)
60
61David Seifert (1):
62      Find fts-standalone on musl
63
64Dodji Seketeli (90):
65      Fix tarball upload directory
66      Update libabigail web page for 2.0 release
67      Bump to 2.1 version
68      Improve type (de)serialization instability debugging
69      Add --enable-debug-type-canonicalization to configure
70      tests/Makefile.am: Fix warning
71      ir: Avoid canonicalizing types that are not meant to
72      writer: Don't forget to emit types referenced by function types
73      writer: Don't forget when emitting array subrange types
74      writer: Don't forget that a naming typedef is referenced
75      Bug 28364 - libwiretap fails self comparison
76      Add debug info package for wireshark-cli-3.4.9-1.fc36.x86_64.rpm
77      Update licensing information on the web page after 2.0
78      PR28365 - Assert on empty typedef on webkit2gtk3-jsc-2.32.3-1.fc34.x86_64
79      Bug 28450 - Fix cloned member function handling in DWARF
80      abidw: Add --abixml-version
81      abg-config.{cc,h}: Misc comment cleanups
82      Bug 28584 - Don't drop global variables that lack DW_AT_external
83      test-utils: Define colors for test status messages
84      test-utils: Define test status reporting functions
85      ctf-reader: Remove useless parameter from fill_ctf_section
86      suppression: Fix has_data_member_inserted_between = {offset_of(), offset_of()}
87      reader: Build array types with their element type "a priori"
88      suppression: Fix compilation warning on el7
89      Bug 28319 - re-fix of rhbz1951526 - SELF CHECK FAILED for 'gimp-2.10'
90      writer: small compilation error fix
91      symtab-reader: Fix typo in comment
92      symtab-reader: Remove an over-agressive assertion
93      Bug 26646 - unexpected declaration-only types
94      configure: Remove use of obsolete AC_CONFIG_HEADER
95      abilint: add the --show-type-use option
96      abilint --show-type-use: Show results for global decls that have no symbols
97      reader: Fix a compilation warning
98      ir: Remove obsolete comment from enumerator equal operator
99      Bug 26646 - unexpected declaration-only types (part 2)
100      dwarf-reader: Don't propagate canonical type upon aggregate redundancy
101      Bug 28013 - Acknowledge variadic parameter type is not canonicalized
102      comparison: Describe the "generic view" of a diff node
103      comparison: Factorize the code that inserts diff nodes to the graph
104      comparison: Avoid sorting diff nodes with wrong criteria
105      comparison: Fix leaf report summary
106      Bug 29144 - abidiff doesn't report base class re-ordering
107      abicompat: Properly guard inclusion of abg-ctf-reader.h
108      ir, test-read-ctf: Remove uncertainty in sorting anonymous types
109      Add better error messaging to several tests
110      test-read-dwarf: Use abidw rather than using the library
111      abidw, dwarf-reader: Add an option to debug DIE canonicalization
112      dwarf-reader: compare_dies sometimes compares empty formal parms
113      Canonicalize DIEs w/o assuming ODR & handle typedefs transparently
114      dwarf-reader: Fix DWARF string comparison optimization
115      reporter-priv: Passing a string parm by reference
116      Update year in copyright notice
117      ir: Make canonicalization stable wrt typedefs in fn return types
118      test-alt-dwarf: Add missing dwz alt-debug file
119      dwarf-reader: Avoid long comparisons when resolving C++ decl-only classes
120      dwarf-reader: Don't consider top-level types as private
121      Bug 29303 - Cache the result of structural aggregate comparison
122      ir: Add some debugging facilities for the comparison machinery
123      dwarf-reader,ir: Don't canonicalize enums too early & too naively
124      Bug 29302 - Don't edit fn linkage name when not appropriate
125      dwarf-reader: Fix a thinko when building vars
126      Better Handle naming typedefs on anonymous enums
127      dwarf-reader: Support DWARF incomplete class types
128      tests-diff-{filter,pkg,pkg-ctf}: Fix tests broken by the previous commit
129      ir: Make pointers name stable wrt decl-only-ness of pointed-to types
130      ir: Disambiguate sorting of array element types
131      dwarf-reader: Remove redundant qualifiers from qualified types
132      ir: Consider integral types of same kind and size as equivalent
133      writer: Make sorting referenced typedefs types stable in abixml
134      ir: Don't consider different int types of same kind and size as equivalent
135      Update test-read-ctf reference output
136      dwarf-reader: Better handle the absence of a die->parent map
137      Add test-abidiff-exit/ld-2.28-21{0,1}.so to source distribution
138      ir: Don't overdo canonical type propagation control when comparing classes
139      ir: translation_unit::is_empty should work without environment.
140      dwarf-reader: Simplify the canonicalization decision of types added to IR
141      Bug PR29443 - Global variables not emitted to abixml in some cases
142      test-annotate: Don't emit architecture data
143      Fix butchered tests/data/Makefile.am
144      dwarf-reader: Revamp the canonical type DIE propagation algorithm
145      Allow restricting analyzed decls to exported symbols
146      Fix IR comparison result caching and canonical type propagation tracking
147      ir, writer: Go back to canonicalizing typedefs in the IR
148      test-read-ctf: Update test output files after typedef canonicalization
149      comparison: Ensure that fn parms with basic types can't be redundant
150      Better support for golang programs
151      ir: Support cloning data members of unions
152      dwarf-reader: Accept SHT_PROGBITS sections in .dynamic segment
153      ir: Avoid cancelling a "confirmed" propagated canonical type
154      Update ChangeLog for 2.1 release.
155
156Frederic Cambus (1):
157      Fix numbering error in the abidiff manual.
158
159George Rawlinson (1):
160      Bug 28663 - generate man page for kmidiff
161
162Giuliano Procida (22):
163      Tweak clang-format configuration
164      Bug 28191 - Interpret DWARF 5 addrx locations
165      symtab reader: fix up alternative addresses
166      DWARF reader: use size_t for DWARF expression length
167      abidiff: include ABI XML versions when reporting a mismatch
168      abidiff: include ABI XML versions when reporting a mismatch cont.
169      XML writer: remove type_hasher and remaining comment
170      XML writer: drop write_elf_symbols_table variable emitted_syms
171      XML writer: improve slightly emission of top-level declarations
172      XML writer: do not create extra temporary referenced type shared_ptr
173      symtab: refactor ELF symbol value tweaks
174      symtab: fix up 64-bit ARM address which may contain tags
175      test-annotate.cc: ignore whitespace during diff
176      XML writer: unify type emission tracking
177      limit repeated DIE comparisons
178      crc_changed: eliminate copying of shared_ptr values
179      optional: minor improvements
180      Linux symbol CRCs: support 0 and report presence changes
181      add Linux kernel symbol namespace support
182      abidw: fix --stats output for resolved classes and enums
183      abidw: remove always true test in resolve_declaration_only_classes
184      abidw: resolve declaration-only enums the same as classes
185
186Guillermo E. Martinez (20):
187      ctf-reader: Use argument by reference reading the context
188      ctf-reader: Make create_read_context return a smart pointer.
189      ctf-reader: Use ABG_ASSERT instead of assert
190      ctf-reader: Fix memory leak reported by valgrind
191      ctf-reader: Fix length in dynamic array definition
192      Add regression tests for ctf reading
193      ctf-reader: Assert on ir::hash_as_canonical_type_or_constant
194      ctf-reader: Add support to undefined forward declaration types
195      tools-utils: `entry_of_file_with_name' returns incorrect result
196      ctf-reader: Fix multiple var-decl in anonymous struct/uninons
197      ctf-reader: Add support to read CTF information from the Linux Kernel
198      ctf-reader: shows incomplete summary changes
199      ctf-reader: CTF debug info for some symbols is not found
200      abipkgdiff: Add support to compare packages with CTF debug format
201      ctf-reader: add support to looking debug information in external path
202      kmidiff: Add CTF support to comparing Kernel trees
203      Add regression tests for abipkgdiff using ctf info
204      ctf-reader: add support to looks for debug information to extract kABI
205      ctf-reader: looks for debug information in out-of-tree modules
206      ctf-reader: Lookup debug info for symbols in a non default archive member
207
208Jose E. Marchesi (7):
209      Add support for the CTF debug format to libabigail.
210      ctf: make libabigail::ctf_reader::read_corpus reentrant
211      elf_helpers: new utility function find_strtab_for_symtab_section
212      abg-ctf-reader: use the right string table for CTF data
213      Move dwarf_reader::status facilities to an abigail::elf_reader namespace
214      ctf: ctf_reader::read_corpus now sets a status
215      abidw: add support for CTF
216
217Mark Wielaard (4):
218      dwarf-reader: Workaround libdw dwarf_location_expression bug
219      DWARF reader: use size_t for DWARF expression length cont.
220      symtab-reader: Setup aliases before checking ppc64 opd function entries
221      Handle zero sh_entsize in get_soname_of_elf_file
222
223Matthias Maennich (8):
224      XML writer: adjust tracking of emitted declarations
225      XML writer: use consistent type pointers for type ids and emission tracking
226      XML writer: use exemplar types for tracking referenced types
227      XML writer: track emitted types by bare pointer
228      XML writer: map type ids by bare pointer
229      XML writer: resolve declaration-only enum definitions
230      abidiff: improve whitespace generation in symbol diff report
231      tests: Update Catch2 library to v2.13.9
232
233Randy MacLeod (1):
234      Improve some grammar
235
236Thomas Schwinge (13):
237      Better highlight 'make distcheck-fast'
238      CONTRIBUTING: Move "Coding language and style" section
239      configure: Tune fedabipkgdiff dependencies detection
240      Add '.mailmap'
241      Further update 'make distcheck-fast'
242      configure: Instead of for rpm 4.15+ version, test actual rpm/zstd support
243      abipkgdiff: Respect 'create_abi_file_path' interface
244      abipkgdiff: Use 'convert_path_to_relative' in 'create_abi_file_path'
245      fedabipkgdiff: Enable testing without proper Koji installation
246      Replace use of deprecated Python 'imp' module with 'importlib'
247      fedabipkgdiff: Also accept MIME type 'application/x-redhat-package-manager' for RPM files
248      Replace Python 'import importlib' with 'import importlib.machinery'
249      Handle several variants of Python 'imp', 'importlib' modules
250
251Vanessa Sochat (2):
252      Fixing incorrect symbol
253      Adding missing newline to build-container workflow
254
255Xiaole He via Libabigail (1):
256      abg-reader: fix comment of function
257
258tangmeng (8):
259      Fix trivial typo when printing help information
260      abilint: fix trivial typo when using abilint
261      abicompat: Add prompt message for abnormal operation
262      Fix trivial typo when printing message
263      abilint: Add prompt message for abnormal operation
264      abicompat: Add prompt message for abnormal operation
265      test-abicompat: Make the test output more pleasant
266      Standardize and improve the output of several tests
267
268vsoch (1):
269      Add Logic to detect file type by extension
270
271
2722.0
273===
274
275Ben Woodard via Libabigail (5):
276      Fix declaratons of conditionally defined functions
277      Fix declaratons of conditionally defined functions
278      Bug 27512 - Remove broken zip-archive support
279      Fix trivial typo when printing version string
280      Fix trivial typo when printing version string
281
282Dodji Seketeli (90):
283      configure: add --enable-rpm415 option
284      Add check-self-compare to release regression testing
285      Bump version number to 2.0
286      Add missing SPDX headers to source files not specifying any license
287      Add has-spdx-header.sh script
288      Add replace-spdx-license.sh script
289      Add helper files to perform the re-licensing
290      Re-license the project to Apache v2 With LLVM Exception
291      Add the LICENSE.txt file
292      Delete COPYING* files
293      Add a license-change-2020.txt file
294      Teach Automake that COPYING* files are gone from sources
295      CONTRIBUTING: Update instructions about regression tests
296      Use C++11 for the code base
297      ir: Add better comments to types_have_similar_structure
298      mainpage: Update web page for 1.8 release
299      Bug 26992 - Try harder to resolve declaration-only classes
300      Bug 27204 -  potential loss of some aliased ELF function symbols
301      Ignore duplicated functions and those not associated with ELF symbols
302      Bug 27236 - Pointer comparison wrongly fails because of typedef change
303      Bug 27233 - fedabipkgdiff fails on package gnupg2 from Fedora 33
304      Bug 27232 - fedabipkgdiff fails on gawk from Fedora 33
305      dwarf-reader: Support fast DW_FORM_line_strp string comparison
306      Bug 27255 - fedabipkgdiff fails on nfs-utils on Fedora 33
307      Bug 26684 - Support DW_AT_data_bit_offset attribute
308      Bump ABIXML format version to 2.0
309      Bug 27165 - Better support multi-language binaries
310      Bug 27331 - Data member offset change not considered local
311      Bug 27267 - Better support for opaque enum types
312      dwarf-reader: Use DW_FORM_line_strp only if it's present
313      Use generic internal type name to canonicalize anonymous enums
314      Don't consider type name when comparing typedefs
315      tests: Update to catch.hpp v2.13.4 and fix #2178
316      Better sorting of (anonymous) types in ABIXML files
317      dwarf-reader: Keep stable order when de-duplicating class definitions
318      tests/catch.hpp: Add SPDX header back
319      Revert "Fix declaratons of conditionally defined functions"
320      dwarf-reader: Support more DWARF-5 type DIEs
321      Bug 27569 - abidiff misses a function parameter addition
322      Bug 27598 - abidiff mishandles union member functions
323      dwarf-reader: Canonicalize opaque enums and classes
324      dwarf-reader: properly set artificial-ness in opaque types
325      reader: Handle 'abi-corpus' element being possibly empty
326      reader: Use xmlFirstElementChild and xmlNextElementSibling rather than xml::advance_to_next_sibling_element
327      reader: Use xmlFirstElementChild/xmlNextElementSibling to iterate over children elements
328      Fix thinko in configure.ac
329      Miscellaneous indentation and comments cleanups
330      Fix DWARF type DIE canonicalization
331      Peel array types when peeling pointers from a type
332      Add primitives callable from the command line of the debugger
333      Detect failed self comparison in type canonicalization of abixml
334      Detect abixml canonical type instability during abidw --debug-abidiff
335      Introduce artificial locations
336      abixml reader: Fix recursive type definition handling
337      xml reader: Fix recursive qualified & reference type definition
338      ir: Enable setting breakpoint on first type inequality
339      Add environment::{get_type_id_from_pointer,get_canonical_type_from_type_id}
340      location:expand() shouldn't crash when no location manager available
341      ir: make 'debug(artefact)' support showing enums
342      reader: Canonicalizing a type once is enough
343      rhbz1951526 - SELF CHECK FAILED for 'gimp-2.10'
344      Fix recursive array type definition
345      abidw: Remove temporary .typeid files when using --debug-abidiff
346      abg-reader: Fix typo
347      doc: Fix typo
348      Revert "Fix trivial typo when printing version string"
349      Bug 27980 - Fix updating of type scope upon type canonicalization
350      ir: Improve the debugging facilities
351      ir: Tighten the test for anonymous data member
352      ir: Tighten type comparison optimization for Linux kernel binaries
353      Bug 27995 - Self comparison error from abixml file
354      Bug 27236 - Fix the canonical type propagation optimization
355      Bug 27236 - Allow updating classes from abixml
356      Bug 27236 - Don't forget to emit some referenced types
357      RHBZ 1925886 - Compare anonymous types without qualified names
358      Bug 27985 - abidiff: bad array types in report
359      RHBZ-1944096 - assertion failure during self comparison of systemd
360      writer: escape enum linkage name in abixml
361      ir: Avoid infinite loop during type canonicalization
362      ir: Fix canonical type propagation cancelling
363      xml-reader: Get back to original way of building qualified types
364      writer: Avoid sigsev on types with no translation unit
365      RHBZ1951496 - ir: Acknowledge that "void type" is not canonicalized
366      RHBZ1944102 - self comparing ABI of protobuf-3.14.0-2.el9 failed
367      abipkgdiff: Fix showing added/removed files
368      Bug 28316 - Failure to represent typedef named anonymous enums
369      abipkgdiff: Do not erase working dirs before we are done using them
370      Bug 27970 - Duplicated member functions cause spurious self comparison changes
371      dwarf-reader: Indent
372      Bug 27086 - Consider all C++ virtual destructors when there are many
373
374Giuliano Procida (17):
375      abidiff: support --dump-diff-tree with --leaf-changes-only
376      ir: Arrays are indirect types for type structure similarity purposes
377      Add qualifier / typedef / array / pointer test
378      Refresh ABI cross check test files
379      abidiff: do not qualify member names in diff report
380      abg-dwarf-reader: Fix typo in compare_dies_string_attribute_value
381      DWARF reader: Interpret ARM32 ELF addresses correctly
382      DWARF reader: Comment ARM32 ELF address interpretation
383      dwarf-reader: Treat union members as public by default.
384      abg-writer.cc: fix write_elf_symbol_reference loop
385      dwarf-reader: Create new corpus unconditionally
386      abg-reader: Ensure corpus always has a symtab reader
387      abg-reader: Create a fresh corpus object per corpus
388      ir: remove "is Linux string constant" property from elf_symbol
389      abg-ir.h: add declaration of operator<< for elf_symbol::visibility
390      PR28060 - Invalid offset for bitfields
391      abg-writer: faster referenced type emission tests
392
393Matthias Maennich (34):
394      Replace individual license references with SPDX Identifiers
395      Drop C++03 compatibility layer
396      Remove <functional> usages from abg_compat
397      Remove <memory> usages from abg_compat
398      Remove <unordered_map> usages from abg_compat
399      Remove <unordered_set> usages from abg_compat
400      Drop unneccessary includes of abg-cxx-compat.h
401      clang-format: define C++ standard to improve formatting
402      Update catch2 testing framework: v1.12.2 -> v2.13.3
403      abg-ir: Optimize calls to std::string::find() for a single char.
404      abipkgdiff: Address operator precedence warning
405      abg-cxx-compat: add simplified version of std::optional
406      abg-ir: elf_symbol: add is_in_ksymtab field
407      abg-ir: elf_symbol: add is_suppressed field
408      dwarf-reader split: create abg-symtab-reader.{h,cc} and test case
409      clang-format: Minor correction to not break parameters on the first line
410      Refactor ELF symbol table reading by adding a new symtab reader
411      Integrate new symtab reader into corpus and read_context
412      corpus: make get_(undefined_)?_(var|fun)_symbols use the new symtab
413      corpus: make get_unreferenced_(function|variable)_symbols use the new symtab
414      abg-reader: avoid using the (var|function)_symbol_map
415      dwarf-reader: read_context: use new symtab in *_symbols_is_exported
416      Switch kernel stuff over to new symtab and drop unused code
417      abg-elf-helpers: migrate ppc64 specific helpers
418      symtab_reader: add support for ppc64 ELFv1 binaries
419      abg-corpus: remove symbol maps and their setters
420      dwarf reader: drop (now) unused code related to symbol table reading
421      test-symtab: add tests for whitelisted functions
422      symtab/dwarf-reader: allow hinting of main symbols for aliases
423      dwarf-reader/writer: consider aliases when dealing with suppressions
424      symtab: Add support for MODVERSIONS (CRC checksums)
425      elf-helpers: refactor find_symbol_table_section
426      symtab-reader: add support for binaries compiled with CFI
427      Consistently use std::unique_ptr for private implementations (pimpl)
428
4291.8
430===
431Dodji Seketeli (62):
432      Bump version number to 1.8
433      Update fedabipkgdiff tests according to commit b602f46c
434      abipkgdiff: fix documentation of --impacted-interface
435      dwarf-reader: Fix bloom filter access in GNU_HASH section
436      Update tests/data/test-abidiff-exit/test-leaf-peeling-report.txt
437      Update the mailing list registration form on the web page
438      abipkgdiff: Fix race condition while using private types suppr specs
439      Fix compilation with g++ 4.8.5 on el7
440      Bug 25977 - runtestabidiffexit regression on EL7
441      Bug 25986 - Wrong name of function type used in change report
442      Add -g back to ABIGAIL_DEVEL
443      {default,leaf}-reporter: group data members changes reports together
444      dwarf-reader: support several anonymous data members in a given class
445      Bug 25661 - Support data member replacement by anonymous data member
446      Bug 25989 - type_topo_comp doesn't meet irreflexive requirements
447      abigail.m4: Fix copyright notice
448      Bug 26127 - abidw --annotate emits incomplete function types
449      Bug 26135 - Wrong linkage name causes anonymous classes miscomparison
450      Support declaration-only enums in DWARF reader.
451      reader: Remove useless support for WIP types
452      Pimpl-ify traversable_base and remove its unused traverse method
453      dwarf-reader: re-indent a block of code
454      Bug 26261 - Fix logic for canonicalizing DW_TAG_subroutine_type DIEs
455      Use flat representation to canonicalize anonymous classes and unions
456      writer: Avoid using dynamic hashing in type maps
457      Fix thinko in get_vmlinux_path_from_kernel_dist
458      Bug 26309 - Wrong leaf reporting of changes to typedef underlying type
459      Make abidiff and abidw support several --headers-dir{1,2} options
460      Bug 26568 - Union should support more than one anonymous member
461      Consider the implicit 'this' parameter when comparing methods
462      Fix redundancy detection in the diff graph
463      Structurally compare the few non-canonicalized types in general
464      configure: Support ABIGAIL_NO_OPTIMIZATION_DEBUG environment variable
465      abg-tools-utils: Fix comment
466      Bug 26770 - Spurious declaration-only-ness induces spurious type changes
467      update-test-output.py: Update syntax
468      Update test-libandroid.so.abi
469      Bug PR26739 - Handle qualified typedef array types
470      writer: Sort decls and fix topological sorting for types
471      ir: Add equality op to array_type_def::subrange_type::bound_value
472      Make sure to canonicalize all types but decl-only classes
473      Bug 26769 - Fix missing types in abixml output
474      abipkgdiff: Add a new --self-check option
475      fedabipkgdiff: make --self-compare use abipkgdiff --self-check
476      dwarf-reader: support artificially generated translation units
477      tests/data/test-fedabipkgdiff: Update reference output
478      abipkgdiff: Avoid uncertainty when sorting worker tasks
479      reader: Read array subrange length into an uint64_t
480      Bug 26780 - Fix array subrange bounds (de)serialization
481      writer: Emit definitions of declarations when they are present
482      ir: Introduce internal pretty representation for anonymous classes
483      reader: Don't lose anonymous-ness of decl-only classes
484      dwarf-reader: Avoid having several functions with the same symbol
485      abidw: make --abidiff report any change against own ABIXML
486      abipkgdiff: make --self-check to fail on any change against own ABIXML
487      writer: fix off-by-one error in assertion
488      reader: Fix off-by-one error in assert
489      dwarf-reader: Bug 26908 - don't crash on empty DW_TAG_partial_unit
490      configure: add --enable-rpm415 option
491      Add check-self-compare to release regression testing
492      Update the Changelog for 1.8
493      Update NEWS file for 1.8
494
495Giuliano Procida (112):
496      Correct spelling of "alignment".
497      Correct various inconsequential typos.
498      Add space missing between "[C]" tag and description of changed item.
499      Fix the reporting of leaf change statistics.
500      abisym: Remove leading space in output.
501      abg-comparison.cc: Remove stray function declaration.
502      Fix spurious new lines after diff sections.
503      Add more leaf change reporting.
504      Fix interaction of --redundant and --leaf-changes-only options.
505      abg-leaf-reporter.cc: Fix indentation of function parameter diffs.
506      Eliminate some unnecessary blank lines in diff output.
507      Output 2-space indentation consistently.
508      Treat function type changes as local.
509      Tag add/remove/change lines unconditionally with [A], [D], [C].
510      dwarf-reader: Use all bits of Bloom filter words.
511      Ensure change_kind enum values are used consistently.
512      Eliminate redundancy in representation of local change kinds.
513      abg-ir.cc: Fix peel_typedef_type(const type_base*).
514      abg-ir.cc: Remove always-true check.
515      abg-ir.cc: Improve types_have_similar_structure.
516      abidiff: Remove some more unnecessary blank lines.
517      abg-reader.cc: Fix code indentation and tabify.
518      abg-ir.cc: Add types_have_similar_structure tests.
519      abidiff: Clean up new lines between sections.
520      abidiff: Remove blank line after base class diffs.
521      abidiff: Fix enum impacted interfaces blank line.
522      abidiff: Remove member function diff blank lines.
523      abidiff: Fix variable declaration formatting.
524      abidiff: Eliminate leaf mode double blank lines.
525      abidiff: Remove new lines after parameter diffs.
526      Fix size calculations for multidimensional arrays.
527      abidiff: Remove blank line after typedef changes.
528      test-diff-suppr.cc: Add missing tests.
529      abidiffpkg: Remove stray test report file.
530      abg-dwarf-reader.cc: Avoid division by zero.
531      Rename test-abidiff-exit/test-leaf[0-3] files.
532      test-abidiff-exit.cc: Drop redundant --redundant.
533      abidiff: More compact references to prior diffs.
534      abg-reporter-priv.cc: Fix anonymous member size change reports.
535      abg-reporter-priv.cc: Improve readability of represent helper function.
536      abidiff: Document and refresh tests.
537      Fix variable suppression name_not_regex.
538      test35-leaf.suppr: fix regex typo.
539      test24-soname-suppr*txt: Fix suppression syntax.
540      Add tests for declaration-only struct diffs.
541      abidiff: Blank line after declaration-only diff.
542      abidiff: Omit declaration-only type size 0 diffs.
543      Move regex definitions to own files.
544      Move libxml bits out of abg-sptr-utils.h.
545      Simplify generation of symbol whitelist regex.
546      Remove excess whitespace.
547      Remove stray semicolons.
548      Eliminate redundant conditional operators.
549      Make set_drops_artifact_from_ir non-const.
550      Hoist some common expressions evaluating offsets.
551      Tidy #includes in a few files.
552      Document ^_^ regex in generate_from_strings.
553      Escape names used in symbol whitelisting regex.
554      abg-suppression.cc: More uniform variable naming.
555      Add POSIX regex wrapper functions.
556      Use regex::compile wrapper instead of regcomp.
557      Tidy checks for sufficient suppression properties.
558      Use regex::match wrapper instead of regexec.
559      Refactor read_parameter_spec_from_string logic.
560      abg-reader.cc: Remove key_replacement_type_map.
561      Let std::unordered_map::operator[] insert keys.
562      doc: Fix sufficient suppression property lists.
563      Tidy get_pretty_representation qualified_name.
564      clang-format: set continuation indentation to 2
565      Fix HARMLESS_SYMBOL_ALIAS_CHANGE_CATEGORY spelling
566      Eliminate non-ASCII characters.
567      abg-writer: Add support for stable hash type ids.
568      Fix leaf-mode formatting of decl <-> defn diffs.
569      Fix bug that suppressed DWARF read tests.
570      get_canonical_type_for: restore environment better
571      Improve code comments and whitespace.
572      Refactor d.context() as ctxt in report(enum_diff).
573      Tidy build_enum_type state variables.
574      Rename declaration-definition change category.
575      abg-ir.cc: Remove unused re_canonicalize function.
576      Support incomplete enums in core and diff code.
577      Add declaration-only enums to XML reader/writer.
578      Add tests for declaration-only enums.
579      Use pointers not strings in type graph comparison.
580      abg-writer.cc: Clean up new line emission.
581      reporter: Fix report whitespace typos.
582      Fix corpus_diff::has_net_changes for --leaf-changes-only mode
583      abg-ir.cc: Tidy some operator== definitions
584      Fix --type-id-style hash for empty internal names.
585      abg-comparison.cc: Tidy some corpus_diff code
586      abg-ir.cc: Refactor operator== methods with helper function
587      abg-comparison.h: Remove stray declaration
588      Remove unused is_reference_or_pointer_diff.
589      Simplify peel_typedef_pointer_or_reference_type
590      Fix inheritance of scope_decl::insert_member_decl
591      Enable Clang's -Werror-overloaded-virtual.
592      abg-ir.cc: Fix incorrect pop of compared types.
593      Remove ABI XML test data file blank lines
594      abg-writer.cc: Fix indentation of XML output
595      abg-ir.cc: Remove duplicated line of code
596      Make decl_names_equal more accurate
597      Fix decl_base comparison function
598      Fix maybe_report_data_members_replaced_by_anon_dm
599      Improve documentation of abidiff --type-id-style
600      DWARF: look up DW_AT_declaration non-recursively
601      DWARF: track chained DIE declaration-only status
602      abg-corpus.cc: report architecture discrepancies
603      Add missing newlines to end of test files.
604      Fix two wrongs in test suppression regex
605      Stabilise sort of canonical types
606      Improve and stabilise sort of member functions
607      Improve enum synthetic type names
608
609Mark Wielaard (10):
610      Add --header-file option to add individual public header files.
611      Add --drop-private-types to abidw.
612      Add --drop-undefined-syms to abidw.
613      Add no-parameter-names to drop function parameter names.
614      Add --no-elf-needed option to drop DT_NEEDED list from corpus.
615      Rename read_elf_symbol_binding to read_elf_symbol_visibility.
616      Add --no-write-default-sizes option.
617      Don't iterate before the start of a RandomAccessOutputIterator.
618      dwarf-reader: get subrange_type bounds signedness from underlying type
619      Assume subrange bounds types are unsigned if no underlying type is given.
620
621Matthias Maennich (38):
622      dwarf-reader: gnu_hash_tab lookup: fix overflow in bloom hash calculation
623      configure: add support for thread sanitizer (--enable-tsan)
624      abg-workers: guard bring_workers_down to avoid dead lock
625      abidiff: fix documentation of --impacted-interfaces
626      configure: add support for memory sanitizer (--enable-msan)
627      test-read-dwarf: ensure in_elf_path exists and add missing test files
628      dwarf-reader: remove superfluous ABG_ASSERT
629      make: add distcheck-fast target
630      abg-dwarf-reader: simplify symbol map update
631      tests: parallelize diff-suppr test
632      abg-dwarf-reader split: create abg-elf-helpers.{h,cc} and test case
633      abg-elf-helpers: move some elf helpers from abg-dwarf-reader
634      abg-elf-helpers: move some versioning helpers from abg-dwarf-reader
635      abg-elf-helpers: move some kernel helpers from abg-dwarf-reader
636      abg-elf-helpers: consolidate the is_linux_kernel* helpers
637      abg-dwarf-reader: migrate more ELF helpers to elf-helpers
638      abg-elf-helpers: migrate more elf helpers (architecture specific helpers)
639      abg-elf-helpers: migrate maybe_adjust_et_rel_sym_addr_to_abs_addr
640      test-types-stability: parallelize test case alternatives
641      tests: reorder test execution to optimize 'make check' runtime
642      corpus/writer: sort emitted translation units by path name
643      configure: set -Wno-error-overloaded-virtual for clang builds
644      tests/.gitignore: ignore all files starting with runtest*
645      dwarf-reader: read_context: drop some unused accessor methods
646      cxx-compat: add test suite for cxx-compat
647      configure: add ABIGAIL_DEBUG options
648      configure: add more diagnostic options when ABIGAIL_DEVEL is set
649      tests: Add symtab test suite
650      tests: Add kernel symtab test suite
651      dwarf-reader: Remove unused code
652      dwarf-reader: read_context: drop unused symbol versioning code
653      abg-reporter: fully qualify std::string and std::ostream
654      abipkgdiff: remove unused includes of elfutils/libdw.h and elf.h
655      dwarf-reader: get_die_source: always initialize return value
656      cleanup: std::weak_ptr use: replace manual lock by std::weak_ptr::lock
657      dwarf-reader: fix lookup for repeated translation unit paths
658      dwarf-reader: Ignore zero length location expressions from DW_AT_location
659      abipkgdiff: minor cleanups
660
6611.7
662==
663Dodji Seketeli:
664      Internal pretty repr of union cannot be flat representation
665      Fix anonymous union constructed under the wrong context
666      Propagate private type diff category through refs/qualified type diffs
667      Add test for the fix for PR24410
668      Fix "Add test for the fix for PR24410"
669      Bug 24430 - Fold away const for array types
670      Bug 24431 - ELF reader can't interpret ksymtab with Kernel 4.19+
671      Bug 24431 - ELF reader fails to determine __ksymtab format
672      Enable building with AddressSanitizer activated
673      Fix a memory leak in real_path
674      Delay canonicalization for array and qualified types
675      abg-tools-utils.cc: Plug a leak in find_file_under_dir
676      Add --enable-{asan,ubsan} configure options
677      Canonicalize types non tied to any DWARF DIE
678      Don't try to de-duplicate all anonymous struct DIEs
679      Use canonical types hash maps for type IDs in abixml writer
680      Handle several member anonymous types of the same kind
681      Better handle several anonymous types of the same kind
682      Fix logic of get_binary_load_address
683      Handle Linux kernel binaries with no __ksymtab section
684      Bug 24560 - Assertion failure on an abixml with an anonymous type
685      Bug 24552 - abidiff fails comparing a corpus against a corpus group
686      Take anonymous scopes into account when comparing decls
687      [dwarf-reader] const-ify Dwarf_Die* use in many places
688      [dwarf-reader] Re-use function types inside a given TU
689      [dwarf-reader] Better use of linkage name for fn decl de-duplication
690      [dwarf-reader] Optimize speed of compare_as_decl_dies
691      [dwarf-reader] Fix indentation in compare_dies_string_attribute_value
692      Fully account for anonymous-ness of scopes when comparing decl names
693      Bug 24731 - Wrongly reporting union members order change
694      Make abidiff --harmless show harmless changes in unions
695      [dwarf-reader] Constify the first parameter of maybe_canonicalize_type
696      [dwarf-reader] Make sure to canonicalize anonymous types
697      Implement a poor-man's RTTI for performance
698      [xml-writter] Avoid using RTTI when dynamically hashing types
699      [xml-writter] Speedup function_type::get_cached_name
700      [xml-writer] Remove a useless kludge
701      Misc indent cleanup
702      Implement fast comparison of Linux Kernel types when applicable
703      [ir] Fix indentation and add comments
704      Add timing to the verbose logs of abidw
705      Bug 24787 - Filter out enum changes into compatible integer types
706      Serialize canonical types to avoid testing if types have been emitted
707      Detect the presence of R_AARCH64_{ABS64, PREL32} macros
708      Bug 25007 - Don't use section-relative symbol values on ET_REL binaries
709      Remove the elf_symbol::get_value property
710      Guard testing v4.19+ AARCH64 kernel module loading for EL6 support
711      Fix reading of relocation sections when endianness mismatches
712      [has_type_change] Better detect type size changes
713      Better propagation of suppressed-ness to function types
714      Support the "name_not_regexp" property in the [suppress_type] section
715      PR25042 - Support string form DW_FORM_strx{1,4} from DWARF 5
716      Fix a typo in a comment of abg-dwar-reader.cc
717      Fix thinkos in DW_FORM_strx detection in configure.ac
718      PR25058 - Support decl DIEs referring to symbols using DW_AT_ranges
719      PR25058 - Better support fn DIEs referring to symbols using DW_AT_ranges
720      [abg-comparison.cc] Fix comments typo
721      Support symbol_name_not_regexp in [suppress_{function, variable}]
722      Bug 25095 - Apply symbol white lists to ELF symbols
723      Bug 25128 - Leaf diff reporter shouldn't compare decl-only classes
724      Bug 25128 - Handle decl-only classes that differ only in size
725      Small style fix in abg-default-reporter.cc
726      Bug 24690 - Support comparing non-reachable types of a binary
727      Misc typo fixes
728      Bug 25409 - Fix reading layout-offset-in-bits attribute of data-member
729      suppression: Better handle soname/filename properties evaluation
730      abixml-reader: Support SONAME related properties on file suppression
731      tools-utils: Drop redefinition of fopen when BAD_FTS is defined
732      gen-changelog.py: Update the script for python3
733
734Giuliano Procida:
735      Remove redundant mention of libtool in COMPILING documentation.
736      Fix typo in COMPILING.
737      Don't ignore options when diffing translation units (.bi files).
738      Sort kernel module object files before processing them.
739      Fix stray comma in leaf-changes-only mode.
740
741Jessica Yu:
742      Support pre and post v4.19 ksymtabs for Linux kernel modules
743
744Mark Wielaard:
745      Fix an undefined behaviour in has_var_type_cv_qual_change
746      Don't try to read a build_id as string in find_alt_debug_info_link.
747
748Matthias Maennich:
749      dwarf-reader: fix undefined behaviour in get_binary_load_address
750      Add .clang-format approximation
751      abg-writer: Simplify 'annotate' propagation
752      Add deprecation facilities
753      abg-writer: Refactor write_translation_unit API
754      abg-writer: Refactor write_corpus API
755      abg-writer: Refactor write_corpus_group API
756      write_context: allow mutating the ostream used
757      abidw: Consolidate setting options
758      Make write_architecture and write_corpus_path flags in the write_context
759      abidw: add option to omit the compilation directory
760      abidw: add option to only emit file names (--short-locs)
761      abg-writer: drop deprecated API
762      .gitignore: Add libabigail-?.* *.orig files
763      .clang-format: Add more options for match existing coding style
764      abg-reporter.h: add missing includes / using declarations
765      Drop requirement to compile with GNU extensions
766      Update tests/.gitignore to ignore runtesttoolsutils
767      Add compatibility layer for C++11 mode
768      abg-tools-utils: add missing header include guards
769      Ensure a consistent C++ standard use
770      abg-dwarf-reader: detect kernel modules without exports as such
771      dwarf-reader: read_corpus_from_elf: unconditionally load elf properties
772      kmidiff: fix help message
773      dwarf-reader: refactor try_reading_first_ksymtab_entry_using{pre,}_v4_19_format
774      dwarf-reader: add support for symbol namespaces in ksymtab entries
775      abg-dwarf-reader: resolve relocation sections by index
776      dwarf-reader: relax restriction about relocation sections in try_reading_first_ksymtab_entry
777      Add (undocumented) support for version suffixes
778      abidiff/kmidiff: do not default-suppress added symbols
779      abg-reader: handle empty corpus nodes in xml representation
780      corpus: is_empty: consider actual translation unit contents
781      writer: completely skip over empty corpora
782      KMI Whitelists: Add functionality to make whitelists additive
783      KMI Whitelists: Drop old whitelist extraction methods
784      clang-format: Better approximation for binary operators and assignments
785      dwarf-reader: handle symtab.section_header.sh_entsize == 0
786      dwarf-reader: handle binaries with missing symtab
787      Fix / add include guards
788      abg-fwd: drop duplicate forward declaration for corpus_sptr
789      Testing: add Catch Unit test framework
790      Fix some parameter name inconsistencies
791      abg-comparison: prefer .empty() over implicit bool conversion of .size()
792      abg-dwarf-reader: zero initialize local Dwarf_Addr values
793      abg-workers: Rework the worker queue to improve concurrent behaviour
794      abg-fwd.h: fix mismatched tags for ir_node_visitor
795      abilint: fix return types bool -> int
796      abg-reader: clarify boolean use of assignment
797      diff-utils: point: fix postfix decrement/increment operator
798      add missing virtual destructors
799      viz-dot: remove unused members from dot
800      suppressions: drop unused parameter from type_is_suppressed
801      ir: drop unused data members from {environment,qualified_name}_setter
802      distinct_diff: avoid expression with side effects within typeid
803      dwarf-reader: fix recursion in expr_result::operator&
804      Update .gitignore files to ignore typical dev side products
805      dwarf-reader: Fix comments for try_reading_first_ksymtab_entry_using_{pre_,}v4_19_format
806      dwarf-reader: templatize read_int_from_array_of_bytes
807      Bug 24431 Read 32bit values when testing for the v4.19 symbol table format
808      Bug 24431 Treat __ksymtab as int32_t for v4.19+ kernels
809
810
8111.6
812===
813Dodji Seketeli:
814      Bump version number to 1.6
815      Update website for 1.5
816      Support having several debuginfo search dirs for a binary
817      Add a --fail-no-debug-info to abidiff
818      Some light style change in abidiff.cc
819      Add basic support for Fortran binaries
820      Update copyright for 2019
821      Bug 23044 - Assertions with side effects
822      Separate public types of first binary from those of the second
823      Add (very) basic support for Rust
824      Support some new DWARF language encoding for C and C++
825      Fix a thinko
826      Overhaul detection the DW_LANG_* enumerators from dwarf.h
827      Fix a typo in the recent Rust support and update regression tests
828      Conditionalize the Rust support regression test
829      Properly add the new rust tests to EXTRA_DIST
830      Bug 20175 - Classify CV qual changes in variable type as harmless
831      Better comments in the comparison engine
832      Bug 24139 - Support suppressing some enumerator changes
833      Small apidoc fix
834      Bug 24157 - Wrong support of Ada ranges
835      Bug 24188 - Assertion failed while analysing a Fortran binary
836      Avoid over-suppressing fns & vars when analysing the Kernel
837      Do not build DIE -> parent map just because we see an asm TU
838      PR24257 - Handle DW_TAG_typedef with no underlying type
839      Better detection of void* to something* change
840      Add ir::{lookup_data_member, get_function_parameter}
841      Better pointer name equality optimization in DIE de-duplication code
842      Misc cleanups
843      Bug 24378 - DW_TAG_subroutine_type as a DIE scope causes infinite loop
844      Add missing assignment operators
845
846Mark Wielaard:
847      Conditionalize the use of DW_LANG_C_plus_plus_03 and DW_LANG_Rust
848
849Xiao Jia via libabigail:
850      Some documentation fixes
851
8521.5
853===
854Dodji Seketeli:
855      Bug 23533 - Accept '=' in ini property values
856      PR23641 - Type definition DIE matched by a supprspec but not its decl
857      PR23641 - confusion when a type definition DIE is matched by a supprspec and its decl DIEs aren't
858      Bug 23708 - categorize void* to pointer change as harmless
859      Bug rhbz1638554 - assertion failed in is_mostly_distinct_diff
860      Bump version number to 1.5
861      Allow use of python even when fedabipkgdiff is disabled
862      Make test-ir-walker work on ELF binaries directly
863      Fix apidoc of dwarf_reader::get_soname_of_elf_file
864      Add option to avoid walking abigail::ir nodes twice
865      Fix propagation of private type suppression category
866      Categorize CV qualifier changes on fn return types as harmless
867      Misc comment fix
868      Add default suppression specification for the krb5 project
869      Add default suppression specification for the libvirt project
870      Better support array with unknown upper bound
871      Define UINT64_MAX when it's not defined
872
8731.4
874===
875Dodji Seketeli:
876      Fix typo in tests/runtestdefaultsupprs.py
877      Remove references, arrays and fn parms from leaf diff nodes
878      Improve detection of local *type* changes
879      Better detect when diff nodes only carry local type changes
880      Better detect when pointer and qualified types carry local changes
881      Use the flat representation for anonymous struct/unions
882      Add test44-anon-struct-union-v{0,1}.o to source distribution
883      Explicitely detect anonymous data member changes
884      Identify a function using its symbol name and version
885      Fix indentation of help string in abipkgdiff
886      Fix redundancy detection through fn ptr and typedef paths
887      Filter out changes like type to const type
888      Initial basic support of union type in suppression specifications
889      Ensure die_function_type_is_method_type returns a class type die
890      Fix race between runtestdefaultsupprs{py3.sh,.py}
891      Allow square brackets in ini property values
892      Properly add test materials for test-diff-suppr/test38-char-class-in-ini*
893
8941.3
895===
896Chenxiong Qi:
897      Bug 22722 - Make fedabipkgdiff and its tests support both python 3 and 2
898
899Dodji Seketeli:
900      Report change locations in leaf reports
901      Skip changes to function *types* in the leaf reporter
902      Make abipkgdiff avoid comparing private DSOs from RPMs
903      Detect the presence of 'rpm' as it's now needed by abipkgdiff
904      Do not enable fedabipkgdiff tests if fedabipkgdiff itself is disabled
905      Don't crash when invoking kmidiff with no debug info root dir
906      Don't possibly forget type definition when reading a CorpusGroup
907      Do not show decl-only-to-def changes in the leaf reporter
908      Overhaul of the report diff stats summary
909      Do not mark "distinct" diff nodes as being redundant
910      Fix meaning of "harmless name change" to avoid overfiltering
911      Better handle category propagation of pointer changes
912      Improve function changes reporting in leaf and default mode
913      Don't filter out typedef changes with redundant underlying type changes
914      Only show leaf type changes in the leaf type changes section
915      Fix leaf report of class data member changes
916      Always show redundant changes in leaf mode
917      Avoid reporting an enum change if it has already been reported
918      When we say a change was reported earlier give its source location
919      [abipkgdiff]: in leaf mode we always show redundant changes
920      Update tests for the "better leaf mode redundancy management" patchset
921      Use absolute builddir paths in automake test files
922      Represent sizes and offsets in bytes and hexadecimal values
923      Initial support of anonymous data members
924      Show data member offsets in bytes too
925      Sort the output of the leaf reporter
926      Use the dynamically selected python for Koji configure tests
927      Use the correct python interpreter in runtestdefaultsupprs.py
928      Handle cases where no python2 interpreter is found
929      Don't bail because "rpm" issued an error
930
931Jonathan Wakely:
932      Remove assertion with side-effects
933      Remove unused local set<string> variables
934      Rename misleading remove_trailing_white_spaces functions
935      Use std::string::substr instead of appending single chars
936
9371.2
938===
939Dodji Seketeli:
940      Add newline at end of version string display
941      Initial support for Ada ranges
942      Bug 22913 - Correctly de-dup pointers to anonymous structs inside a TU
943      Fix the output indentation of abidiff --help
944      Fix indentation in the DWARF reader
945      Update abipkgdiff documentation wrt suppression specifications
946      Fix typo in abipkgdiff documentation
947
9481.1
949===
950Dodji Seketeli:
951      Bug 22076 - Disable fedabipkgdiff for old koji clients
952      Bug 22436 - make abipkgdiff accept several debuginfo packages
953      Bug 22488 - Make abipkgdiff handle different binaries with same basename
954      Bug 22437 - Make fedabipkgdiff use all debug info RPMs of a sub-RPM
955      Bug 22684 - Add --d{1,2} options to kmidiff
956      Bug 22692 - Consider Java as a language that supports the ODR
957      Fully report diagnostic about alternate debug info file not found
958      Update & cleanup the tools manuals summary
959      Improve comments wording in fedabipkgdiff
960      Update copyright notice for all source files
961      Fix version revision number printing in tools --help option
962      abipkgdiff --verbose shouldn't trigger --fail-no-dbg
963      Fix logic in common_prefix
964      Fix symlinks paths handling in abipkgdiff
965      Suppress duplicates when listing package content
966      Make kmidiff show the wrong option when it complains about it
967      Only consider local changes when filtering subtype changes
968      Skip class types with changed names in leaf reports
969      Correctly link with pthread
970
9711.0
972=====
973Ben Woodard:
974      Fix some clang compile problems
975      Fix more clang build warnings
976
977Chenxiong Qi:
978      More document for local RPMs comparison
979      Follow moved packages when download
980      Read Koji config via Koji API
981      Warn properly when cannot find peer RPM
982      Fix wrong variable name
983      Bug 20380 - Compare two local RPMs
984      Bug 20087 - Clean cache before or after ABI comparison
985
986Dodji Seketeli:
987      Forgot to consider libtest33-v{0,1}.so in test-diff-suppr.cc
988      A suppressed diff node implies suppressing all equivalent nodes too
989      Make bash completion files non-executable
990      Allow pretty printing function decls for internal purposes
991      Setup per-corpus type maps indexed by type names
992      Implement de-duplication for types and decls at DWARF loading time
993      Support naming typedef and use them to speed up type canonicalization
994      Fix pretty representation of array types
995      Introduce on-the-fly type canonicalization
996      Very light speed improvements
997      Add tests/data/test-diff-suppr/test33-report-0.txt to tarball
998      Rename tests/update-test-read-dwarf-output.py
999      Fix aborting when reading .foo symbols from a ppc64 binary
1000      Fix template_decl::hash::operator()
1001      Don't early-canonicalize function types when reading abixml
1002      Naming typedefs of classes are not read properly from abixml
1003      make is_anonymous_type work for unions and classes
1004      Misc style cleanup
1005      Make abg-fwd.h use *_sptr typedefs
1006      Handle per translation unit and per corpus types maps
1007      [dwarf-reader] Handle per translation-unit type de-duplication
1008      Update tests/data/test-read-write/test27.xml
1009      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
1010      Fix a typo in method name computation
1011      Cleanup ODR-based type canonicalization optimization gating logic
1012      Fix qualified name caching for some types
1013      [dwarf-reader] Don't early canonicalize function types
1014      [abixml writer] Fix comparison of pointer to types
1015      [abixml writer] Make sure all function types are emitted
1016      Update tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1.abi
1017      Update tests/data/test-read-dwarf/*.abi files
1018      Avoid unnecessary updates to type lookup maps
1019      Speedup set_member_is_static
1020      Misc comments and apidoc fixes
1021      Misc style fixes
1022      [apidoc] Allow brief description at the top of class description pages
1023      Update copyright year on a bunch of files
1024      Adjust some reference outputs of the test-read-dwarf test harness
1025      Better de-duplicate classes, unions, enums in non-odr contexts
1026      Add debug routines to dump locations to a stream
1027      Support Linux Kernel binaries
1028      Support Linux Kernel ABI whitelist files
1029      Remove unused functions from abg-ir.cc
1030      Update copyright notice for abg-fwd.h, abg-ir.h and test-abidiff.cc
1031      Fix performance regression while analyzing libjvm.so
1032      Add missing deep comparison operators for {function, method}_decl_sptr
1033      Speed up pretty representing (function) types
1034      Handle several virtual member functions having the same vtable offset
1035      [dwarf reader] Fix pretty printing static methods from DWARF
1036      [dwarf reader] Do not over de-duplicate function *definitions*
1037      [dwarf reader] Allow updating and de-duplicating member functions
1038      [dwarf reader] properly separate function decls and types in lookup
1039      [dwarf reader] Don't abort when trying to canonicalize a non-type
1040      [comparison engine] Don't crash when the context is null
1041      Support virtual member functions with vtable offset not yet set
1042      Fix some include logic in abg-suppression.cc
1043      Fix suppression category propagation in diff node graph
1044      Add --harmless option to abipkgdiff
1045      Fix test-diff-pkg after commit 2dcc606
1046      Make abidw --headers-dir work with the --out-file option
1047      Fix help string for --header-dirs
1048      Adjust reference output of test-annotate
1049      Fix indentation in src/abg-writer.cc
1050      Misc style fixes
1051      Fix silent failure of tests/runtestfedabipkgdiff.py
1052      Add missing new line to an error message of runtestfedabipkgdiff.py
1053      Add missing tests input files to distribution files
1054      fedabipkgdiff refuses to compare packages with the same release number
1055      Fix typo in help string of abipkgdiff
1056      Several fixes and enhancements to abigail::workers
1057      Add a "make check-valgrind-helgrind-recursive" target
1058      Do not ignore valgrind checks returning an error
1059      Make abipkgdiff.cc use the abigail::workers interface
1060      Display the command that failed the runtestfedabipkgdiff.py test
1061      Move test-read-dwarf.cc to abigail::workers
1062      Make the helgrind suppressions less specific
1063      Silence Helgrind reports about exception stack unwinding
1064      More Helgrind suppressions
1065      Make Helgrind suppressions less specific to libgcc_s version
1066      Fix virtual members sorting to unbreak the build on EL6
1067      Consider file path when sorting virtual member functions
1068      Fix data race on worker::queue::priv::bring_workers_down
1069      Shut down a helgrind false positive in the "system" libc call
1070      Launch fedabipkgdiff tests first
1071      Fix some random deadlock while running fedabipkgidiff in tests
1072      Fix a race condition in queue::priv::do_bring_workers_down
1073      Fix buffer overrun in 'equals' function for arrays
1074      Fix array subranges (wrongly) having the same lower bound
1075      Ensure build_qualified_type can return non-qualified types
1076      Remove useless overloads of is_type
1077      Invalidate function and variable ID cache when invoking ::set_symbol
1078      Rename fn_parm_diff::get_type_diff into fn_parm_diff::type_diff
1079      Don't consider changes to basic types as being redundant
1080      Misc cleanups in abg-writer.cc
1081      Update the description of what abipkgdiff does
1082      Speedup comparison of decl-only classes
1083      Speed up access to the definition of a class declaration-only type
1084      Avoid building DIE -> parent DIE map when analyzing a C binary
1085      Do not forget to erase temporary directories in abipkgdiff
1086      Avoid comparing kernel.img file from the grub2 package
1087      Fix some typos in abidiff.cc
1088      Create a Corpus Group API extension
1089      Initial support to lookup types per location
1090      Support loading and comparing two kernel trees
1091      Avoid loading a translation unit twice from abixml
1092      Make abipkgdiff compare two kernel packages
1093      Make abidw support the --kmi-whitelist option
1094      Introduce the --kmi-whitelist option to abidiff
1095      Update the reference output of regression tests after kabidiff work
1096      Rename write_corpus_to_native_xml into write_corpus
1097      Avoid emitting duplicated decls in abixml
1098      Avoid emitting some empty translation units to abixml
1099      Fix indentation glitch before the </abi-corpus> tag in abixml
1100      Adjust test reference outputs after changes in abg-writer.cc
1101      Initial support of the serialization of the KMI of a Linux Kernel Tree
1102      Initial support of de-serializing the KMI of a Linux Kernel Tree
1103      Speedup access to unreferenced symbols when loading corpus_group
1104      Avoid de-duplicating different C types that have identical name
1105      Allow selective resolution of class declaration
1106      Speedup DIE representation computing esp function signature in C
1107      Do not report about voffset when it's not set in debug info
1108      Fix innacurate test condition when reading an enum type from abixml
1109      Cache function type name computation results
1110      Add --vmlinux{1,2} option to abidw and kmidiff
1111      Allow re-using the ELF/DWARF read_context when loading a corpus group
1112      Add documentation for the kmidiff tool
1113      Allow selective resolution of class declaration
1114      Do not report about voffset when it's not set in debug info
1115      Filter top cv qualifier changes on function parameter types
1116      Support ELF symbol visibility property
1117      Symbols with the same zero value are not aliases
1118      Fix doc glitch in abidiff.rst
1119      Misc style fixes
1120      Don't add empty translation unit to corpus
1121      Better handle decl-only classes being different from their definition
1122      Fix a typo when reporting size change wrt a decl-only class
1123      Fix typo in comments
1124      speed up class type lookup in a corpus
1125      Replace --lkaw with -w and --lkaw-pkg with --wp
1126      Add missing space in abipkgdiff error message
1127      Use shorter lines in abipkgdiff.cc
1128      Fix support of the --wp option of abipkgdiff
1129      Support up to two --wp options for abipkgdiff
1130      Avoid crashing when the elf file could not be read
1131      Fix some make distcheck failures
1132      Misc style fixes
1133      Finer detection of local changes of var_decl type
1134      Avoid adding the same data member twice in the DWARF reader
1135      Don't crash on classes that differ in their virtual member fn count
1136      22160 - Annotate state flag unitialized in abidw
1137      Add missing newlines to kmidiff's usage strings
1138      Renamed offset_offset_map type name into offset_offset_map_type
1139      Remove redundant (useless) typedef declaration
1140      Use an unordered map for canonical DIE offsets
1141      [abixml writer] Store pointers to emitted types rather than type-ids
1142      [abixml writer] Use an unordered set when appropriate
1143      Initialize naked canonical type
1144      Misc style fixes in abg-writer.cc
1145      Add missing comment to type declaration
1146      Update copyright year to tools/abidiff.cc
1147      Allow several kinds of reports to be emitted
1148      Initial implementation of a --leaf-changes-only option to abidiff
1149      Add a --leaf-changes-only option to abipkgdiff
1150      Add --full-impact option to kmidiff
1151      Add --impacted-changes option to kmidiff
1152      Cleanup a switch-case logic to avoid a GCC 7.2.1 warning
1153      Fix a indentation warning from GCC 7.2.1
1154      Handle exceptions when global_config is not yet set in fedabipkgdiff
1155      Add a --suppressions option to fedabipkgdiff
1156      Remove useless vertical space from src/abg-writer.cc
1157      Allow setting options to instances of xml_writer::write_context
1158      Wire the --no-show-locs option to abidw
1159      Support systems where fts.h can't be used with _FILE_OFFSET_BITS set
1160      Bug 20670 - abipkgdiff aborts if $XDG_CACHE_HOME does not exist
1161      Bug 20887 - Show relative change of offsets
1162      Bug 20927 - Segfault when $HOME is not set
1163      Bug 21058 - abipkgdiff wrongly drops non-public types
1164      Bug 20476 - Compare virtual member functions when comparing classes
1165      Bug 21228 - Handle cloning union member functions
1166      Bug 21296 - Reporting diff of const ref against non-const ref aborts
1167      Bug 21567 - Fedabipkgdiff matches build distro names too tightly
1168      Bug 21627 - Libabigail doesn't consider translation unit compile dir
1169      Bug 21629 - equivalent DIEs must be of the same DIE source
1170      Bug 21630 - A this pointer DIE can be const
1171      Bug 21631 - Forgot a "break" statement in stv_to_elf_symbol_visibility
1172      Bug 21153 - abipkgdiff reports undetermined interface subtype changes
1173      Bug 21644 - abipkgdiff does not emit diagnostics about comparison errors
1174      Bug 21730 - Make abipkgdiff compare Linux Kernel packages as expected
1175      Bug 22015 - Failing to return global scope of a DIE in certain cases
1176      Bug 22122 - Fail to represent 'const array'
1177      Bug 22190 - crash in read_context::get_or_compute_canonical_die
1178      Bug 22438 - Emit a clear message when debug info is not found
1179
1180Mark Wielaard:
1181      Declare eval_last_constant_dwarf_sub_expr with [u]int64_t not [s]size_t.
1182      readdir_r() is deprecated, use readdir().
1183      Fix -Wmisleading-indentation warning in abg-leaf-reporter.cc.
1184      Bug 22075 - data_member_diff_comp forgets data members names
1185
1186Ondrej Oprala:
1187      Fix a few remarks made by cppcheck
1188      abipkgdiff doesn't mention --no-default-suppression in help
1189      Check --enable-rpm dependencies more rigorously
1190      Properly report missing files for abipkgdiff
1191      Fix comparison used instead of an assignment
1192      Clean up scripts/*
1193      Fix cppcheck error: "Same iterator is used with different containers"
1194      cppcheck: mitigate performance warnings
1195      Bug 19272 - abipkgdiff doesn't report arch change
1196      Bug 18754 - Add the "--no-added-syms" option to abidiff
1197      Bug 20970 - Add a --annotate option to abidw
1198
1199Sinny Kumari:
1200      Add --self-compare option in fedabipkgdiff
1201      Check if return_codes list is empty in fedabipkgdiff
1202
1203Slava Barinov:
1204      Fix types in header to meet sources
1205
1206
12071.0.rc6
1208=======
1209Chenxiong Qi:
1210      Update bash completion for fedabipkgdiff
1211      Add fedabipkgdiff bash completion to dist
1212      Add --abipkgdiff option in manual and bash completion
1213      Make fedabipkgdiff consistent with Libabigail's other tests
1214
1215Dodji Seketeli:
1216      Bug 20332 - too many ...'s counted as parameters
1217      Bug 20194 - Fail to recognize void type represented by DW_TAG_base_type
1218      Bug 20199 - Consider integral type synonyms as being equal
1219      Bug 20420 - Wrong ODR-based type comparison optimization on qualified type
1220      Bug 20534 - abipkgdiff wrongly displays the name of added binary files
1221      Bug 20740 - Broken check for dwarf_getalt in configure.ac
1222      Add a new overload for is_type_decl
1223      Better recognize qualified void type
1224      Fix spurious type size change report for distinct_diff
1225      Prepare support for symbol visibility control
1226      Add ABG_ASSERT_NOT_REACHED macro
1227      Cleanup is_class and is_compatible_with_class_type
1228      Generalize DIE source concept in DWARF reader
1229      Support DW_TAG_type_unit
1230      Control symbols exported from libabigail.so
1231      Don't walk diff trees indefinitely when applying suppressions
1232      Fix misleading indentation issues
1233      Do not emit empty namespaces in abixml
1234      Add new helper functions
1235      Pimplify the abigail::ir::scope_decl type
1236      Drop suppressed ABI artifacts from the IR
1237      Add default suppression specification for webkitgtk
1238      Add default suppression specifications for C++ binaries
1239      Better handle fedabipkgdiff dependencies detection
1240      Update reference output of runtestreaddwarf
1241      Define a new interned_string_set_type typedef
1242      Prevent infinite loops while comparing two function_type
1243      Apply ODR-based type comparison optimization to function types
1244      Cleanup class_decl inifite comparison detection
1245      Cleanup functions to detect infinite comparison of class_decl
1246      Cleanup namespace importing in abg-interned-str.h
1247      Canonicalize function types when reading from DWARF
1248      Fix abigail::ir::get_type_scope()
1249      Cleanup some entry points in abg-fwd.h
1250      Cleanup void and variadic parameter type interfaces
1251      Consider a method_decl as always being a member decl
1252      Factorize out parsing of integral types
1253      Factorize out string representation of array_type_def::subrange_type
1254      Avoid stripping typedefs too much
1255      Apply harmless and harmful filters in one pass
1256      Rename config::property_vector into config::properties_type
1257      Support empty properties in INI files
1258      Support union types
1259      Better diagnostics when wget is missing
1260      Lexicographically sort union data members in change reports
1261      Support reading data member offset from DW_AT_bit_offset
1262      Fix indentation in abg-writer.cc
1263      Fix offset type mismatch
1264      Fix a compiler warning issued by GCC 6.2.1
1265      Avoid using size_t to get DWARF data
1266
1267Matthias Klose:
1268      Fix typo in abipkgdiff
1269
12701.0.rc5
1271=======
1272Chenxiong Qi:
1273      Bug 19428 - New fedabipkgdiff utility
1274      Bug 20085 - Add --dso-only option to fedabipkgdiff
1275      Bug 20135 - Make fedabipkgdiff compare ABIs using devel packages
1276      Add integration tests for fedabipkgdiff
1277      Fix package NVR comparison in fedabipkgdiff
1278      Use consistent string format in fedabipkgdiff
1279      Fix pep8 error in fedabipkgdiff
1280
1281Dodji Seketeli:
1282      Bug 19964 - Cannot load function aliases on ppc64
1283      Bug 20015 - support file_name_not_regexp and soname_not_regexp in suppr specs
1284      Bug 20180 - Support system-wide suppression specifications
1285      Bug 19967 - System-level suppressions for glibc
1286      Fix python interpreter path for el6
1287      Add doc, info, man and html-doc targets to top-level Makefile
1288      Update documentation to require doxygen and python-sphinx for building
1289      Make API documentation of thread pools visible
1290      Show SONAME of removed/added libraries in abipkgdiff
1291      Fix indentation in concepts manual
1292      Fix typo in concept manual
1293      Doc not show classes' inherited members in apidoc
1294      Fix mention of tool's name in abidiff error message
1295      Add several shortcuts to options for abicompat
1296      Fix indentation for abidiff manual
1297      Split suppression engine off of abg-comparison.{cc,h}
1298      Implement a [suppress_file] suppression directive
1299      Remove config.h.in from the repository
1300      Do not run fedabipkgdiff tests if --enable-fedabipkgdiff is turned off
1301      Update the COMMIT-LOG-GUIDELINES file
1302      Update the CONTRIBUTING file
1303      Support running "make check-valgrind"
1304      Fix a read passed-the-end in abg-dwarf-reader.cc
1305      Plug leak of diff_context_sptr after calling compute_diff
1306      Plug leak of regex_t in suppression engine
1307      Remove circular ref from class_decl::priv::definition_of_declaration
1308      Plug leak of shared private data of class_diff type
1309      Plug leak of debug info handles
1310      Fix invocation of delete operator in test-read-dwarf.cc
1311      Speedup diff node child insertion
1312      Plug leak of diffs of member variables of class type
1313      Avoid unnecessary computation of type name in suppression evaluation
1314      Minimize number of string::length calculation
1315      Light optimizations by passing reference to smart pointers around
1316      Optimize out some shared_ptr use
1317      Add missing API doc strings
1318      Enhance API doc for diff_context::add_diff
1319      Fix bash completion configure status
1320      Fix white space in abg-comparison.cc
1321      Fix whitespaces in autotools files
1322      Document how to handle regression tests in CONTRIBUTING
1323      Fix the number of removed functions in change report
1324      Make abi{pkg}diff filter out changes about private types
1325      Add a 'check-valgrind' target to the top-most Makefile.am
1326      Add test data for tests/runtestfedabipkgdiff.py
1327      Fix some wording in the Libabigail overview manual page
1328      Update reference to tools in libabigail-concepts manual
1329      Fix suppr spec wording in abipkgdiff manual
1330      Better diagnostics when abipkgdiff has an extra argument
1331      Add --abipkgdiff option to fedabipkgdiff
1332      Don't require all version symbol sections to present
1333      Escape all characters when reading a string in ini files
1334      Improve python modules detection
1335      Cleanup function_decl::parameter::get_pretty_representation
1336      Misc white space and comment cleanups
1337      Use ODR-based optimization on C/C++ translation unit only
1338      Misc cleanup in abg-reader.cc
1339
1340Sinny Kumari:
1341      Bug 19961 - Distinguish between PI executable and shared library
1342      Change parent directory for keeping extracted packages in abipkgdiff
1343
13441.0.rc4
1345=======
1346Dodji Seketeli:
1347      Bug 19844 - Cannot try to canonicalize a type that is being constructed
1348      Bug 19846 - variable decl associated with the wrong debug info section
1349      Bug 19867 - abipkgdiff skips symbolic links
1350      Bug 19885 - Cannot associate a function DIE to a symbol on powerpc64
1351      Ease use of soname_regexp/file_name_regexp in suppr specs
1352      More docs about ABIDIFF_ABI_INCOMPATIBLE_CHANGE
1353      Update copyright dates for the manuals
1354      Fix typos on the web page
1355      Fix typos in the manual of abidiff
1356      Fix typos in the suppression specifications manual
1357      Fix a typo in include/abg-tools-utils.h
1358      Fix typos in comments in src/abg-dwarf-reader.cc
1359      Fix comments in tests/test-diff-pkg.cc
1360      Fix logs in abipkgdiff and add some more
1361
1362Roland McGrath:
1363      Fix typo in configure --enable-deb help text
1364
13651.0.rc3
1366=======
1367Dodji Seketeli:
1368      Upate build instructions on the website
1369      Bug 19138 - Failure to relate variables address from DWARF and ELF
1370      Include missing <algorithm> to abg-dwarf-reader.cc
1371      Make enum values take 64 bits on all platforms
1372      Use worker threads pattern to speed up some tests
1373      Sort the tests run in tests/ by running the slowest ones first
1374      Bug 19434 - invalid character in attribute value
1375      Bug 19141 - Libabigail doesn't support common ELF symbols
1376      Pass parm of elf_symbol::add_alias by reference
1377      Bug 19204 - libabigail aborts on DWARF referencing non-existing DIE
1378      Comparing aliases of the same symbol must be done by pointer
1379      Do not crash when looking up a type from global scope
1380      Fix abicompat's handling of library types not used by the application
1381      Fix synthesizing of pointer type
1382      Fix synthesizing of reference type
1383      Bug 19596 - Incorrect exit status for incompatible ABI change
1384      Use proper WIFEXITED and WEXITSTATUS macros to get exit code
1385      Bug 19604 - abidiff --suppressions doesn't complain about invalid file name
1386      Make abipkgdiff return correct exit code on usage error
1387      Make abipkgdiff check for the presence of suppression spec files
1388      Talk about mandatory properties in suppress_* directives
1389      Add a comment about libabigail needing elfutils 0.159 at least.
1390      Bug 19606 - Need better error message for invalid options
1391      Prefix abidiff error message with the 'abidiff' program name
1392      Emit more informational messages on unrecognized options
1393      Bug 19619 - failing to suppress added aliased function reports for C++
1394      Add function lookup by linkage name to libabigail::corpus
1395      Bug 19638 - DWARF reader fails to link clone function to its declaration
1396      Add --verbose option to abidiff
1397      Bug 19658 - Type canonicalization slow for the 2nd binary loaded
1398      Add missing inequality operators for ABI artifacts
1399      Fix crash when handling templates with empty patterns
1400      Implement string interning for Libabigail
1401      Some small speed optimizations
1402      Bug 19706 - Core dump from abidiff with suppression
1403      Update mentions to the build dependencies in the doc
1404      Make libabigail link with pthread
1405      Add --verbose to abidw
1406      Fixup virtual member functions with linkage and no underlying symbol
1407      Bug 19596 - Suppressed removed symbol changes still considered incompatible
1408      Bug 19778 - diff_has_ancestor_filtered_out() loops forever
1409      Bug 19780 - abipkgdiff doesn't support parallel execution
1410      Fix reference to test file in Makefile.am
1411      Walk function_type_diff tree in a deterministic way
1412
1413Mark Wielaard:
1414      Fix GCC6 -Wmisleading-indentation warnings.
1415      Make make more silent.
1416      Remove defined but not used functions pointed out by GCC6.
1417
1418Ondrej Oprala:
1419      Escape the value of the filepath attribute.
1420
14211.0.rc2
1422======
1423Dodji Seketeli:
1424      Fix regression on the support for alternate debug info files
1425      Lexicographically sort added/removed base classes in change report
1426
14271.0.rc1
1428=======
1429Dodji Seketeli:
1430      Bug 19336 - Better handle redundantly qualified reference types
1431      Bug 19126 - abidw segv on a dwz compressed version of r300_dri.so
1432      Bug 19355 - Libabigail slow on r300_dri.so
1433      Do not use designated initializers in abipkgdiff.cc
1434      Read enum values in the size_t and write them in ssize_t
1435      Do not abort when there is no binary to compare in a package
1436      Add missing new line to abidiff help message
1437      Constify is_qualified_type()
1438      Find more spots where to discriminate internal and non-internal names
1439      Do not forget to peel qualified type off when peeling types
1440      Fix comparison in qualified_type_diff::has_changes
1441      Avoid try/catch code paths when that is possible
1442      Fix internal name for pointers, typedefs and arrays
1443      Filter out harmless diagnostics glitches due to some ODR violation
1444      [PERF] Pass a bunch of perf-sensitive smart pointers by reference
1445      [PERF] Turn some pimpl pointers into naked pointers
1446      [PERF] Access naked pointers for canonical types and function types
1447      [PERF] Speedup comparing declaration-only class_decls
1448      Speed up class_decl::find_base_class
1449      Avoid adding the same base class twice
1450      Support two different variables having the same underlying symbol
1451      Add a NEWS file
1452      Fix abidw -v
1453
1454Ondrej Oprala:
1455      Add bash-completion scripts for the libabigail tools
1456      Abidiff: Remove doubled line in help.
1457      Fix a function doc
1458      Support printing the file, line and column information in change reports
1459