Match symbols by object path and name

In the case of corpus groups, we should consider symbols in different
modules to be independent (and not duplicates if they happen to have
the same name).

For the moment, we won't model corpus groups directly, but we can make
sure to scope symbols name by corpus path and mention the path in
symbol diffs (if it is not "vmlinux").

PiperOrigin-RevId: 459449265
Change-Id: I1a5fd1571c8bfb4262e7c23d14b2c7c708562040
6 files changed
tree: a487eccce2168a02a768a53cfe3115e69d65a19d
  1. doc/
  2. fuzz/
  3. abigail_reader.cc
  4. abigail_reader.h
  5. btf_reader.cc
  6. btf_reader.h
  7. btfinfo.cc
  8. CONTRIBUTING.md
  9. crc.h
  10. elf_reader.cc
  11. elf_reader.h
  12. error.h
  13. error_test.cc
  14. id.h
  15. LICENSE
  16. METADATA
  17. MODULE_LICENSE_LLVM
  18. order.h
  19. order_test.cc
  20. OWNERS
  21. README.md
  22. reporting.cc
  23. reporting.h
  24. scc.h
  25. scc_test.cc
  26. stg.cc
  27. stg.h
  28. stgdiff.cc
README.md

Symbol-Type Graph (STG)

The STG (symbol-type graph) is an ABI representation and this project contains tools for the creation and comparison of such representations. At present parsers exist for libabigail's ABI XML (C types only) and BTF. The ABI diff tool, stgdiff, supports multiple reporting options. This software currently depends on libabigail for ELF symbol functionality, on libxml2 for XML parsing and on Linux UAPI headers for BTF types.

How to build the project

TBD

Contributions

See CONTRIBUTING.md for details.