Update NEWS file for 1.1
[platform/upstream/libabigail.git] / NEWS
1 1.1
2 ===
3 Dodji Seketeli:
4       Bug 22076 - Disable fedabipkgdiff for old koji clients
5       Bug 22436 - make abipkgdiff accept several debuginfo packages
6       Bug 22488 - Make abipkgdiff handle different binaries with same basename
7       Bug 22437 - Make fedabipkgdiff use all debug info RPMs of a sub-RPM
8       Bug 22684 - Add --d{1,2} options to kmidiff
9       Bug 22692 - Consider Java as a language that supports the ODR
10       Fully report diagnostic about alternate debug info file not found
11       Update & cleanup the tools manuals summary
12       Improve comments wording in fedabipkgdiff
13       Update copyright notice for all source files
14       Fix version revision number printing in tools --help option
15       abipkgdiff --verbose shouldn't trigger --fail-no-dbg
16       Fix logic in common_prefix
17       Fix symlinks paths handling in abipkgdiff
18       Suppress duplicates when listing package content
19       Make kmidiff show the wrong option when it complains about it
20       Only consider local changes when filtering subtype changes
21       Skip class types with changed names in leaf reports
22       Correctly link with pthread
23
24 1.0
25 =====
26 Ben Woodard:
27       Fix some clang compile problems
28       Fix more clang build warnings
29
30 Chenxiong Qi:
31       More document for local RPMs comparison
32       Follow moved packages when download
33       Read Koji config via Koji API
34       Warn properly when cannot find peer RPM
35       Fix wrong variable name
36       Bug 20380 - Compare two local RPMs
37       Bug 20087 - Clean cache before or after ABI comparison
38
39 Dodji Seketeli:
40       Forgot to consider libtest33-v{0,1}.so in test-diff-suppr.cc
41       A suppressed diff node implies suppressing all equivalent nodes too
42       Make bash completion files non-executable
43       Allow pretty printing function decls for internal purposes
44       Setup per-corpus type maps indexed by type names
45       Implement de-duplication for types and decls at DWARF loading time
46       Support naming typedef and use them to speed up type canonicalization
47       Fix pretty representation of array types
48       Introduce on-the-fly type canonicalization
49       Very light speed improvements
50       Add tests/data/test-diff-suppr/test33-report-0.txt to tarball
51       Rename tests/update-test-read-dwarf-output.py
52       Fix aborting when reading .foo symbols from a ppc64 binary
53       Fix template_decl::hash::operator()
54       Don't early-canonicalize function types when reading abixml
55       Naming typedefs of classes are not read properly from abixml
56       make is_anonymous_type work for unions and classes
57       Misc style cleanup
58       Make abg-fwd.h use *_sptr typedefs
59       Handle per translation unit and per corpus types maps
60       [dwarf-reader] Handle per translation-unit type de-duplication
61       Update tests/data/test-read-write/test27.xml
62       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
63       Fix a typo in method name computation
64       Cleanup ODR-based type canonicalization optimization gating logic
65       Fix qualified name caching for some types
66       [dwarf-reader] Don't early canonicalize function types
67       [abixml writer] Fix comparison of pointer to types
68       [abixml writer] Make sure all function types are emitted
69       Update tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1.abi
70       Update tests/data/test-read-dwarf/*.abi files
71       Avoid unnecessary updates to type lookup maps
72       Speedup set_member_is_static
73       Misc comments and apidoc fixes
74       Misc style fixes
75       [apidoc] Allow brief description at the top of class description pages
76       Update copyright year on a bunch of files
77       Adjust some reference outputs of the test-read-dwarf test harness
78       Better de-duplicate classes, unions, enums in non-odr contexts
79       Add debug routines to dump locations to a stream
80       Support Linux Kernel binaries
81       Support Linux Kernel ABI whitelist files
82       Remove unused functions from abg-ir.cc
83       Update copyright notice for abg-fwd.h, abg-ir.h and test-abidiff.cc
84       Fix performance regression while analyzing libjvm.so
85       Add missing deep comparison operators for {function, method}_decl_sptr
86       Speed up pretty representing (function) types
87       Handle several virtual member functions having the same vtable offset
88       [dwarf reader] Fix pretty printing static methods from DWARF
89       [dwarf reader] Do not over de-duplicate function *definitions*
90       [dwarf reader] Allow updating and de-duplicating member functions
91       [dwarf reader] properly separate function decls and types in lookup
92       [dwarf reader] Don't abort when trying to canonicalize a non-type
93       [comparison engine] Don't crash when the context is null
94       Support virtual member functions with vtable offset not yet set
95       Fix some include logic in abg-suppression.cc
96       Fix suppression category propagation in diff node graph
97       Add --harmless option to abipkgdiff
98       Fix test-diff-pkg after commit 2dcc606
99       Make abidw --headers-dir work with the --out-file option
100       Fix help string for --header-dirs
101       Adjust reference output of test-annotate
102       Fix indentation in src/abg-writer.cc
103       Misc style fixes
104       Fix silent failure of tests/runtestfedabipkgdiff.py
105       Add missing new line to an error message of runtestfedabipkgdiff.py
106       Add missing tests input files to distribution files
107       fedabipkgdiff refuses to compare packages with the same release number
108       Fix typo in help string of abipkgdiff
109       Several fixes and enhancements to abigail::workers
110       Add a "make check-valgrind-helgrind-recursive" target
111       Do not ignore valgrind checks returning an error
112       Make abipkgdiff.cc use the abigail::workers interface
113       Display the command that failed the runtestfedabipkgdiff.py test
114       Move test-read-dwarf.cc to abigail::workers
115       Make the helgrind suppressions less specific
116       Silence Helgrind reports about exception stack unwinding
117       More Helgrind suppressions
118       Make Helgrind suppressions less specific to libgcc_s version
119       Fix virtual members sorting to unbreak the build on EL6
120       Consider file path when sorting virtual member functions
121       Fix data race on worker::queue::priv::bring_workers_down
122       Shut down a helgrind false positive in the "system" libc call
123       Launch fedabipkgdiff tests first
124       Fix some random deadlock while running fedabipkgidiff in tests
125       Fix a race condition in queue::priv::do_bring_workers_down
126       Fix buffer overrun in 'equals' function for arrays
127       Fix array subranges (wrongly) having the same lower bound
128       Ensure build_qualified_type can return non-qualified types
129       Remove useless overloads of is_type
130       Invalidate function and variable ID cache when invoking ::set_symbol
131       Rename fn_parm_diff::get_type_diff into fn_parm_diff::type_diff
132       Don't consider changes to basic types as being redundant
133       Misc cleanups in abg-writer.cc
134       Update the description of what abipkgdiff does
135       Speedup comparison of decl-only classes
136       Speed up access to the definition of a class declaration-only type
137       Avoid building DIE -> parent DIE map when analyzing a C binary
138       Do not forget to erase temporary directories in abipkgdiff
139       Avoid comparing kernel.img file from the grub2 package
140       Fix some typos in abidiff.cc
141       Create a Corpus Group API extension
142       Initial support to lookup types per location
143       Support loading and comparing two kernel trees
144       Avoid loading a translation unit twice from abixml
145       Make abipkgdiff compare two kernel packages
146       Make abidw support the --kmi-whitelist option
147       Introduce the --kmi-whitelist option to abidiff
148       Update the reference output of regression tests after kabidiff work
149       Rename write_corpus_to_native_xml into write_corpus
150       Avoid emitting duplicated decls in abixml
151       Avoid emitting some empty translation units to abixml
152       Fix indentation glitch before the </abi-corpus> tag in abixml
153       Adjust test reference outputs after changes in abg-writer.cc
154       Initial support of the serialization of the KMI of a Linux Kernel Tree
155       Initial support of de-serializing the KMI of a Linux Kernel Tree
156       Speedup access to unreferenced symbols when loading corpus_group
157       Avoid de-duplicating different C types that have identical name
158       Allow selective resolution of class declaration
159       Speedup DIE representation computing esp function signature in C
160       Do not report about voffset when it's not set in debug info
161       Fix innacurate test condition when reading an enum type from abixml
162       Cache function type name computation results
163       Add --vmlinux{1,2} option to abidw and kmidiff
164       Allow re-using the ELF/DWARF read_context when loading a corpus group
165       Add documentation for the kmidiff tool
166       Allow selective resolution of class declaration
167       Do not report about voffset when it's not set in debug info
168       Filter top cv qualifier changes on function parameter types
169       Support ELF symbol visibility property
170       Symbols with the same zero value are not aliases
171       Fix doc glitch in abidiff.rst
172       Misc style fixes
173       Don't add empty translation unit to corpus
174       Better handle decl-only classes being different from their definition
175       Fix a typo when reporting size change wrt a decl-only class
176       Fix typo in comments
177       speed up class type lookup in a corpus
178       Replace --lkaw with -w and --lkaw-pkg with --wp
179       Add missing space in abipkgdiff error message
180       Use shorter lines in abipkgdiff.cc
181       Fix support of the --wp option of abipkgdiff
182       Support up to two --wp options for abipkgdiff
183       Avoid crashing when the elf file could not be read
184       Fix some make distcheck failures
185       Misc style fixes
186       Finer detection of local changes of var_decl type
187       Avoid adding the same data member twice in the DWARF reader
188       Don't crash on classes that differ in their virtual member fn count
189       22160 - Annotate state flag unitialized in abidw
190       Add missing newlines to kmidiff's usage strings
191       Renamed offset_offset_map type name into offset_offset_map_type
192       Remove redundant (useless) typedef declaration
193       Use an unordered map for canonical DIE offsets
194       [abixml writer] Store pointers to emitted types rather than type-ids
195       [abixml writer] Use an unordered set when appropriate
196       Initialize naked canonical type
197       Misc style fixes in abg-writer.cc
198       Add missing comment to type declaration
199       Update copyright year to tools/abidiff.cc
200       Allow several kinds of reports to be emitted
201       Initial implementation of a --leaf-changes-only option to abidiff
202       Add a --leaf-changes-only option to abipkgdiff
203       Add --full-impact option to kmidiff
204       Add --impacted-changes option to kmidiff
205       Cleanup a switch-case logic to avoid a GCC 7.2.1 warning
206       Fix a indentation warning from GCC 7.2.1
207       Handle exceptions when global_config is not yet set in fedabipkgdiff
208       Add a --suppressions option to fedabipkgdiff
209       Remove useless vertical space from src/abg-writer.cc
210       Allow setting options to instances of xml_writer::write_context
211       Wire the --no-show-locs option to abidw
212       Support systems where fts.h can't be used with _FILE_OFFSET_BITS set
213       Bug 20670 - abipkgdiff aborts if $XDG_CACHE_HOME does not exist
214       Bug 20887 - Show relative change of offsets
215       Bug 20927 - Segfault when $HOME is not set
216       Bug 21058 - abipkgdiff wrongly drops non-public types
217       Bug 20476 - Compare virtual member functions when comparing classes
218       Bug 21228 - Handle cloning union member functions
219       Bug 21296 - Reporting diff of const ref against non-const ref aborts
220       Bug 21567 - Fedabipkgdiff matches build distro names too tightly
221       Bug 21627 - Libabigail doesn't consider translation unit compile dir
222       Bug 21629 - equivalent DIEs must be of the same DIE source
223       Bug 21630 - A this pointer DIE can be const
224       Bug 21631 - Forgot a "break" statement in stv_to_elf_symbol_visibility
225       Bug 21153 - abipkgdiff reports undetermined interface subtype changes
226       Bug 21644 - abipkgdiff does not emit diagnostics about comparison errors
227       Bug 21730 - Make abipkgdiff compare Linux Kernel packages as expected
228       Bug 22015 - Failing to return global scope of a DIE in certain cases
229       Bug 22122 - Fail to represent 'const array'
230       Bug 22190 - crash in read_context::get_or_compute_canonical_die
231       Bug 22438 - Emit a clear message when debug info is not found
232
233 Mark Wielaard:
234       Declare eval_last_constant_dwarf_sub_expr with [u]int64_t not [s]size_t.
235       readdir_r() is deprecated, use readdir().
236       Fix -Wmisleading-indentation warning in abg-leaf-reporter.cc.
237       Bug 22075 - data_member_diff_comp forgets data members names
238
239 Ondrej Oprala:
240       Fix a few remarks made by cppcheck
241       abipkgdiff doesn't mention --no-default-suppression in help
242       Check --enable-rpm dependencies more rigorously
243       Properly report missing files for abipkgdiff
244       Fix comparison used instead of an assignment
245       Clean up scripts/*
246       Fix cppcheck error: "Same iterator is used with different containers"
247       cppcheck: mitigate performance warnings
248       Bug 19272 - abipkgdiff doesn't report arch change
249       Bug 18754 - Add the "--no-added-syms" option to abidiff
250       Bug 20970 - Add a --annotate option to abidw
251
252 Sinny Kumari:
253       Add --self-compare option in fedabipkgdiff
254       Check if return_codes list is empty in fedabipkgdiff
255
256 Slava Barinov:
257       Fix types in header to meet sources
258
259
260 1.0.rc6
261 =======
262 Chenxiong Qi:
263       Update bash completion for fedabipkgdiff
264       Add fedabipkgdiff bash completion to dist
265       Add --abipkgdiff option in manual and bash completion
266       Make fedabipkgdiff consistent with Libabigail's other tests
267
268 Dodji Seketeli:
269       Bug 20332 - too many ...'s counted as parameters
270       Bug 20194 - Fail to recognize void type represented by DW_TAG_base_type
271       Bug 20199 - Consider integral type synonyms as being equal
272       Bug 20420 - Wrong ODR-based type comparison optimization on qualified type
273       Bug 20534 - abipkgdiff wrongly displays the name of added binary files
274       Bug 20740 - Broken check for dwarf_getalt in configure.ac
275       Add a new overload for is_type_decl
276       Better recognize qualified void type
277       Fix spurious type size change report for distinct_diff
278       Prepare support for symbol visibility control
279       Add ABG_ASSERT_NOT_REACHED macro
280       Cleanup is_class and is_compatible_with_class_type
281       Generalize DIE source concept in DWARF reader
282       Support DW_TAG_type_unit
283       Control symbols exported from libabigail.so
284       Don't walk diff trees indefinitely when applying suppressions
285       Fix misleading indentation issues
286       Do not emit empty namespaces in abixml
287       Add new helper functions
288       Pimplify the abigail::ir::scope_decl type
289       Drop suppressed ABI artifacts from the IR
290       Add default suppression specification for webkitgtk
291       Add default suppression specifications for C++ binaries
292       Better handle fedabipkgdiff dependencies detection
293       Update reference output of runtestreaddwarf
294       Define a new interned_string_set_type typedef
295       Prevent infinite loops while comparing two function_type
296       Apply ODR-based type comparison optimization to function types
297       Cleanup class_decl inifite comparison detection
298       Cleanup functions to detect infinite comparison of class_decl
299       Cleanup namespace importing in abg-interned-str.h
300       Canonicalize function types when reading from DWARF
301       Fix abigail::ir::get_type_scope()
302       Cleanup some entry points in abg-fwd.h
303       Cleanup void and variadic parameter type interfaces
304       Consider a method_decl as always being a member decl
305       Factorize out parsing of integral types
306       Factorize out string representation of array_type_def::subrange_type
307       Avoid stripping typedefs too much
308       Apply harmless and harmful filters in one pass
309       Rename config::property_vector into config::properties_type
310       Support empty properties in INI files
311       Support union types
312       Better diagnostics when wget is missing
313       Lexicographically sort union data members in change reports
314       Support reading data member offset from DW_AT_bit_offset
315       Fix indentation in abg-writer.cc
316       Fix offset type mismatch
317       Fix a compiler warning issued by GCC 6.2.1
318       Avoid using size_t to get DWARF data
319
320 Matthias Klose:
321       Fix typo in abipkgdiff
322
323 1.0.rc5
324 =======
325 Chenxiong Qi:
326       Bug 19428 - New fedabipkgdiff utility
327       Bug 20085 - Add --dso-only option to fedabipkgdiff
328       Bug 20135 - Make fedabipkgdiff compare ABIs using devel packages
329       Add integration tests for fedabipkgdiff
330       Fix package NVR comparison in fedabipkgdiff
331       Use consistent string format in fedabipkgdiff
332       Fix pep8 error in fedabipkgdiff
333
334 Dodji Seketeli:
335       Bug 19964 - Cannot load function aliases on ppc64
336       Bug 20015 - support file_name_not_regexp and soname_not_regexp in suppr specs
337       Bug 20180 - Support system-wide suppression specifications
338       Bug 19967 - System-level suppressions for glibc
339       Fix python interpreter path for el6      
340       Add doc, info, man and html-doc targets to top-level Makefile
341       Update documentation to require doxygen and python-sphinx for building
342       Make API documentation of thread pools visible
343       Show SONAME of removed/added libraries in abipkgdiff
344       Fix indentation in concepts manual
345       Fix typo in concept manual
346       Doc not show classes' inherited members in apidoc
347       Fix mention of tool's name in abidiff error message
348       Add several shortcuts to options for abicompat
349       Fix indentation for abidiff manual
350       Split suppression engine off of abg-comparison.{cc,h}
351       Implement a [suppress_file] suppression directive
352       Remove config.h.in from the repository
353       Do not run fedabipkgdiff tests if --enable-fedabipkgdiff is turned off
354       Update the COMMIT-LOG-GUIDELINES file
355       Update the CONTRIBUTING file
356       Support running "make check-valgrind"
357       Fix a read passed-the-end in abg-dwarf-reader.cc
358       Plug leak of diff_context_sptr after calling compute_diff
359       Plug leak of regex_t in suppression engine
360       Remove circular ref from class_decl::priv::definition_of_declaration
361       Plug leak of shared private data of class_diff type
362       Plug leak of debug info handles
363       Fix invocation of delete operator in test-read-dwarf.cc
364       Speedup diff node child insertion
365       Plug leak of diffs of member variables of class type
366       Avoid unnecessary computation of type name in suppression evaluation
367       Minimize number of string::length calculation
368       Light optimizations by passing reference to smart pointers around
369       Optimize out some shared_ptr use
370       Add missing API doc strings
371       Enhance API doc for diff_context::add_diff
372       Fix bash completion configure status
373       Fix white space in abg-comparison.cc
374       Fix whitespaces in autotools files
375       Document how to handle regression tests in CONTRIBUTING
376       Fix the number of removed functions in change report
377       Make abi{pkg}diff filter out changes about private types
378       Add a 'check-valgrind' target to the top-most Makefile.am
379       Add test data for tests/runtestfedabipkgdiff.py
380       Fix some wording in the Libabigail overview manual page
381       Update reference to tools in libabigail-concepts manual
382       Fix suppr spec wording in abipkgdiff manual
383       Better diagnostics when abipkgdiff has an extra argument
384       Add --abipkgdiff option to fedabipkgdiff
385       Don't require all version symbol sections to present
386       Escape all characters when reading a string in ini files
387       Improve python modules detection
388       Cleanup function_decl::parameter::get_pretty_representation
389       Misc white space and comment cleanups
390       Use ODR-based optimization on C/C++ translation unit only
391       Misc cleanup in abg-reader.cc
392
393 Sinny Kumari:
394       Bug 19961 - Distinguish between PI executable and shared library
395       Change parent directory for keeping extracted packages in abipkgdiff
396
397 1.0.rc4
398 =======
399 Dodji Seketeli:
400       Bug 19844 - Cannot try to canonicalize a type that is being constructed
401       Bug 19846 - variable decl associated with the wrong debug info section
402       Bug 19867 - abipkgdiff skips symbolic links
403       Bug 19885 - Cannot associate a function DIE to a symbol on powerpc64
404       Ease use of soname_regexp/file_name_regexp in suppr specs
405       More docs about ABIDIFF_ABI_INCOMPATIBLE_CHANGE
406       Update copyright dates for the manuals
407       Fix typos on the web page
408       Fix typos in the manual of abidiff
409       Fix typos in the suppression specifications manual
410       Fix a typo in include/abg-tools-utils.h
411       Fix typos in comments in src/abg-dwarf-reader.cc
412       Fix comments in tests/test-diff-pkg.cc
413       Fix logs in abipkgdiff and add some more
414
415 Roland McGrath:
416       Fix typo in configure --enable-deb help text
417
418 1.0.rc3
419 =======
420 Dodji Seketeli:
421       Upate build instructions on the website
422       Bug 19138 - Failure to relate variables address from DWARF and ELF
423       Include missing <algorithm> to abg-dwarf-reader.cc
424       Make enum values take 64 bits on all platforms
425       Use worker threads pattern to speed up some tests
426       Sort the tests run in tests/ by running the slowest ones first
427       Bug 19434 - invalid character in attribute value
428       Bug 19141 - Libabigail doesn't support common ELF symbols
429       Pass parm of elf_symbol::add_alias by reference
430       Bug 19204 - libabigail aborts on DWARF referencing non-existing DIE
431       Comparing aliases of the same symbol must be done by pointer
432       Do not crash when looking up a type from global scope
433       Fix abicompat's handling of library types not used by the application
434       Fix synthesizing of pointer type
435       Fix synthesizing of reference type
436       Bug 19596 - Incorrect exit status for incompatible ABI change
437       Use proper WIFEXITED and WEXITSTATUS macros to get exit code
438       Bug 19604 - abidiff --suppressions doesn't complain about invalid file name
439       Make abipkgdiff return correct exit code on usage error
440       Make abipkgdiff check for the presence of suppression spec files
441       Talk about mandatory properties in suppress_* directives
442       Add a comment about libabigail needing elfutils 0.159 at least.
443       Bug 19606 - Need better error message for invalid options
444       Prefix abidiff error message with the 'abidiff' program name
445       Emit more informational messages on unrecognized options
446       Bug 19619 - failing to suppress added aliased function reports for C++
447       Add function lookup by linkage name to libabigail::corpus
448       Bug 19638 - DWARF reader fails to link clone function to its declaration
449       Add --verbose option to abidiff
450       Bug 19658 - Type canonicalization slow for the 2nd binary loaded
451       Add missing inequality operators for ABI artifacts
452       Fix crash when handling templates with empty patterns
453       Implement string interning for Libabigail
454       Some small speed optimizations
455       Bug 19706 - Core dump from abidiff with suppression
456       Update mentions to the build dependencies in the doc
457       Make libabigail link with pthread
458       Add --verbose to abidw
459       Fixup virtual member functions with linkage and no underlying symbol
460       Bug 19596 - Suppressed removed symbol changes still considered incompatible
461       Bug 19778 - diff_has_ancestor_filtered_out() loops forever
462       Bug 19780 - abipkgdiff doesn't support parallel execution
463       Fix reference to test file in Makefile.am
464       Walk function_type_diff tree in a deterministic way
465
466 Mark Wielaard:
467       Fix GCC6 -Wmisleading-indentation warnings.
468       Make make more silent.
469       Remove defined but not used functions pointed out by GCC6.
470
471 Ondrej Oprala:
472       Escape the value of the filepath attribute.
473
474 1.0.rc2
475 ======
476 Dodji Seketeli:
477       Fix regression on the support for alternate debug info files
478       Lexicographically sort added/removed base classes in change report
479
480 1.0.rc1
481 =======
482 Dodji Seketeli:
483       Bug 19336 - Better handle redundantly qualified reference types
484       Bug 19126 - abidw segv on a dwz compressed version of r300_dri.so
485       Bug 19355 - Libabigail slow on r300_dri.so
486       Do not use designated initializers in abipkgdiff.cc
487       Read enum values in the size_t and write them in ssize_t
488       Do not abort when there is no binary to compare in a package
489       Add missing new line to abidiff help message
490       Constify is_qualified_type()
491       Find more spots where to discriminate internal and non-internal names
492       Do not forget to peel qualified type off when peeling types
493       Fix comparison in qualified_type_diff::has_changes
494       Avoid try/catch code paths when that is possible
495       Fix internal name for pointers, typedefs and arrays
496       Filter out harmless diagnostics glitches due to some ODR violation
497       [PERF] Pass a bunch of perf-sensitive smart pointers by reference
498       [PERF] Turn some pimpl pointers into naked pointers
499       [PERF] Access naked pointers for canonical types and function types
500       [PERF] Speedup comparing declaration-only class_decls
501       Speed up class_decl::find_base_class
502       Avoid adding the same base class twice
503       Support two different variables having the same underlying symbol
504       Add a NEWS file
505       Fix abidw -v
506
507 Ondrej Oprala:
508       Add bash-completion scripts for the libabigail tools
509       Abidiff: Remove doubled line in help.
510       Fix a function doc
511       Support printing the file, line and column information in change reports