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