mirror of
git://sourceware.org/git/libabigail.git
synced 2024-12-14 22:14:35 +00:00
The Git repository of the Libabigail Project
fc71e519bb
When looking at https://sourceware.org/bugzilla/show_bug.cgi?id=29857 I noticed that decl-only unions where not resolved to their definition union, unlike what is done for classes and enums. At type canonicalization, a type A defined in a translation unit TU, that depends on a decl-only union U will compare different from a type A defined in a translation unit TU', that depends on the definition of U, even though the types A should be equal. This patch teaches the decl-only class resolver to also resolve decl-only unions, as opposed to resolving just decl-only classes. * include/abg-fwd.h (typedef classes_or_unions_type): Declare new typedef. (lookup_union_types): Declare new function. * src/abg-dwarf-reader.cc (reader::decl_only_classes_map_): Change the type of this from string_classes_map to string_classes_or_unions_map. (reader::declaration_only_classes): Return a string_classes_or_unions_map, no more a string_classes_map. (reader::{maybe_schedule_declaration_only_class_for_resolution, is_decl_only_class_scheduled_for_resolution}): Handle class_or_union, not just class_decl. This is a way to make this handle unions as well as classes. (get_opaque_version_of_type): Adjust. * src/abg-ir.cc (lookup_union_types): Define new function. * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi: Adjust. * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi: Adjust. Signed-off-by: Dodji Seketeli <dodji@redhat.com> |
||
---|---|---|
.github | ||
autoconf-archive | ||
bash-completion | ||
doc | ||
docker | ||
include | ||
m4 | ||
relicensing-scripts | ||
scripts | ||
src | ||
tests | ||
tools | ||
.clang-format | ||
.gitignore | ||
.mailmap | ||
abigail.m4 | ||
ABIXML-FORMAT-VERSIONS | ||
AUTHORS | ||
ChangeLog | ||
COMMIT-LOG-GUIDELINES | ||
COMPILING | ||
configure.ac | ||
CONTRIBUTING | ||
default.abignore | ||
gen-changelog.py | ||
install-sh | ||
libabigail.pc.in | ||
license-change-2020.txt | ||
LICENSE.txt | ||
ltmain.sh | ||
Makefile.am | ||
NEWS | ||
README | ||
README-DOCKER.md | ||
release-text-template.txt | ||
update-copyright.sh | ||
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, functions 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.