Merge aosp/upstream-master into aosp/master

* aosp/upstream-master:
  Bug 27985 - abidiff: bad array types in report
  abg-writer: faster referenced type emission tests
  RHBZ 1925886 - Compare anonymous types without qualified names
  Bug 27236 - Don't forget to emit some referenced types
  Bug 27236 - Allow updating classes from abixml
  Bug 27236 - Fix the canonical type propagation optimization
  Bug 27995 - Self comparison error from abixml file
  ir: Tighten type comparison optimization for Linux kernel binaries
  ir: Tighten the test for anonymous data member
  ir: Improve the debugging facilities
  PR28060 - Invalid offset for bitfields
  abg-ir.h: add declaration of operator<< for elf_symbol::visibility
  ir: remove "is Linux string constant" property from elf_symbol
  Consistently use std::unique_ptr for private implementations (pimpl)
  symtab-reader: add support for binaries compiled with CFI
  elf-helpers: refactor find_symbol_table_section
  Bug 27980 - Fix updating of type scope upon type canonicalization
  abg-reader: Create a fresh corpus object per corpus
  abg-reader: Ensure corpus always has a symtab reader
  dwarf-reader: Create new corpus unconditionally
  Fix trivial typo when printing version string
  Revert "Fix trivial typo when printing version string"
  Fix trivial typo when printing version string
  doc: Fix typo
  abg-reader: Fix typo
  abidw: Remove temporary .typeid files when using --debug-abidiff
  Fix recursive array type definition
  rhbz1951526 - SELF CHECK FAILED for 'gimp-2.10'
  reader: Canonicalizing a type once is enough
  ir: make 'debug(artefact)' support showing enums
  location:expand() shouldn't crash when no location manager available
  Add environment::{get_type_id_from_pointer,get_canonical_type_from_type_id}
  ir: Enable setting breakpoint on first type inequality
  xml reader: Fix recursive qualified & reference type definition
  abixml reader: Fix recursive type definition handling
  Introduce artificial locations
  Detect abixml canonical type instability during abidw --debug-abidiff
  Detect failed self comparison in type canonicalization of abixml
  Add primitives callable from the command line of the debugger
  Peel array types when peeling pointers from a type
  Fix DWARF type DIE canonicalization
  Miscellaneous indentation and comments cleanups
  Fix thinko in configure.ac
  reader: Use xmlFirstElementChild/xmlNextElementSibling to iterate over children elements
  reader: Use xmlFirstElementChild and xmlNextElementSibling rather than xml::advance_to_next_sibling_element
  reader: Handle 'abi-corpus' element being possibly empty
  dwarf-reader: properly set artificial-ness in opaque types
  dwarf-reader: Canonicalize opaque enums and classes

Note: rhbz1951526 test case removed as it contains a GPL binary.

Bug: 191235788
Change-Id: I562d32e60b8777c28e49a080ebe393357b537b8d
Signed-off-by: Giuliano Procida <gprocida@google.com>