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