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