The Git repository of the Libabigail Project
Go to file
Matthias Maennich 6ed534a300 XML writer: use exemplar types for tracking referenced types
The emitted type sets are used with some referenced type sets (which use
bare type pointers). To keep consistency between what is being recorded
in each set, switch to storing exemplar type pointers in the referenced
type sets.

This change results in the omission of a small number of duplicate
types from various test cases. In each case the duplicates were
previously caused by a referenced type being emitted for one
translation unit and then the same type being emitted as a canonical
type for a later translation unit.

It also causes the movement of some function types in some test cases.
Some of those types are now considered referenced and appear earlier as
a result.

	* src/abg-writer.cc (record_type_as_referenced): Use exemplar
	type with referenced type sets.
	(type_is_referenced): Likewise.
	(tests/data/test-annotate/test14-pr18893.so.abi): Duplicate
	type(s) removed, as described above.
	(tests/data/test-read-dwarf/test14-pr18893.so.abi): Likewise.
	(tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi):
	Likewise.
	(tests/data/test-read-dwarf/test16-pr18904.so.abi): Likewise.
	(tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi):
	Likewise.
	(tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi):
	Likewise.
	(tests/data/test-read-dwarf/PR25007-sdhci.ko.abi): Some
	function type(s) reordered, as described above.
	(tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi):
	Likewise.
	(tests/data/test-annotate/test15-pr18892.so.abi):: Duplicate
	type(s) removed and some function type(s) reordered, as
	described above.
	(tests/data/test-read-dwarf/test15-pr18892.so.abi): Likewise.
	(tests/data/test-annotate/test21-pr19092.so.abi): Likewise.
	(tests/data/test-read-dwarf/test21-pr19092.so.abi): Likewise

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2021-12-09 18:58:09 +01:00
autoconf-archive Replace individual license references with SPDX Identifiers 2020-12-02 11:44:13 +01:00
bash-completion Re-license the project to Apache v2 With LLVM Exception 2020-12-02 11:49:13 +01:00
doc suppression: Fix has_data_member_inserted_between = {offset_of(), offset_of()} 2021-12-06 14:39:32 +01:00
include XML writer: use consistent type pointers for type ids and emission tracking 2021-12-09 18:41:25 +01:00
m4
relicensing-scripts Bug 27512 - Remove broken zip-archive support 2021-03-19 10:52:57 +01:00
scripts Re-license the project to Apache v2 With LLVM Exception 2020-12-02 11:49:13 +01:00
src XML writer: use exemplar types for tracking referenced types 2021-12-09 18:58:09 +01:00
tests XML writer: use exemplar types for tracking referenced types 2021-12-09 18:58:09 +01:00
tools ctf-reader: Use ABG_ASSERT instead of assert 2021-11-23 15:36:06 +01:00
.clang-format Tweak clang-format configuration 2021-10-19 12:59:18 +02:00
.gitignore .gitignore: Add libabigail-?.* *.orig files 2019-05-22 14:34:23 +02:00
abigail.m4 Re-license the project to Apache v2 With LLVM Exception 2020-12-02 11:49:13 +01:00
ABIXML-FORMAT-VERSIONS Bug 28450 - Fix cloned member function handling in DWARF 2021-11-12 18:31:28 +01:00
AUTHORS
ChangeLog Update ChangeLog for 2.0 2021-10-04 10:58:23 +02:00
COMMIT-LOG-GUIDELINES
COMPILING Fix typo in COMPILING. 2020-02-03 13:49:54 +01:00
configure.ac abidw: Add --abixml-version 2021-11-12 18:31:28 +01:00
CONTRIBUTING Use C++11 for the code base 2020-12-03 14:04:23 +01:00
default.abignore Re-license the project to Apache v2 With LLVM Exception 2020-12-02 11:49:13 +01:00
gen-changelog.py Replace individual license references with SPDX Identifiers 2020-12-02 11:44:13 +01:00
install-sh Replace individual license references with SPDX Identifiers 2020-12-02 11:44:13 +01:00
libabigail.pc.in
license-change-2020.txt Add a license-change-2020.txt file 2020-12-02 11:50:22 +01:00
LICENSE.txt Add the LICENSE.txt file 2020-12-02 11:49:33 +01:00
ltmain.sh Replace individual license references with SPDX Identifiers 2020-12-02 11:44:13 +01:00
Makefile.am Fix tarball upload directory 2021-10-04 16:06:43 +02:00
NEWS Update NEWS file for 2.0 2021-10-04 10:57:24 +02:00
README
release-text-template.txt Update the release text template after 1.0 2017-11-22 15:55:43 +01:00
update-copyright.sh Re-license the project to Apache v2 With LLVM Exception 2020-12-02 11:49:13 +01:00
VISIBILITY

This is the Application Binary Interface Generic Analysis and
Instrumentation Library.

It aims at constructing, manipulating, serializing and de-serializing
ABI-relevant artifacts.

The set of artifacts that we are intersted is made of quantities like
types, variable, fonctions and declarations of a given library or
program.  For a given library or program this set of quantities is
called an ABI corpus.

This library aims at (among other things) providing a way to compare
two ABI Corpora (apparently the plural of corpus is copora, heh,
that's cool), provide detailed information about their differences,
and help build tools to infer interesting conclusions about these
differences.

You are welcome to contribute to this project after reading the files
CONTRIBUTING and COMMIT-LOG-GUIDELINES files in the source tree.

Communicating with the maintainers of this project -- including
sending patches to be include to the source code -- happens via email
at libabigail@sourceware.org.