mirror of
git://sourceware.org/git/libabigail.git
synced 2025-03-05 14:18:11 +00:00
The Git repository of the Libabigail Project
Whenever we see a function type inside a translation unit, if it matches one that has already been seen -- i.e, one that has the same textual representation -- we should be able to re-use that same function type without having to compare their types to be sure they are the same, as part of the type canonicalization process. This slittly increases analysis speed (by a few tens of seconds on a total of 8 minutes) by decreasing the load on type canonicalization when anlyzing vmlinux. It also slightly reduces memory consumption, so I am getting it in for now. * src/abg-dwarf-reader.cc (istring_fn_type_map_type): Declare new typedef. (die_is_function_type): Define new static function. (read_context::per_tu_repr_to_fn_type_maps_): Define new data member ... (read_context::per_tu_repr_to_fn_type_maps): ... and its accessor. (read_context::{associate_die_repr_to_fn_type_per_tu, lookup_fn_type_from_die_repr_per_tu}): Define new member functions. (build_function_type): Use the new read_context::lookup_fn_type_from_die_repr_per_tu and read_context::associate_die_repr_to_fn_type_per_tu functions, instead of read_context::lookup_type_from_die. * tests/data/test-annotate/test13-pr18894.so.abi: Adjust. * tests/data/test-annotate/test14-pr18893.so.abi: Adjust. * tests/data/test-annotate/test21-pr19092.so.abi: Adjust. * tests/data/test-read-dwarf/test13-pr18894.so.abi: Adjust. * tests/data/test-read-dwarf/test14-pr18893.so.abi: Adjust. * tests/data/test-read-dwarf/test16-pr18904.so.abi: Adjust. * tests/data/test-read-dwarf/test21-pr19092.so.abi: Adjust. Signed-off-by: Dodji Seketeli <dodji@redhat.com> |
||
---|---|---|
autoconf-archive | ||
bash-completion | ||
doc | ||
include | ||
m4 | ||
scripts | ||
src | ||
tests | ||
tools | ||
.clang-format | ||
.gitignore | ||
abigail.m4 | ||
AUTHORS | ||
ChangeLog | ||
COMMIT-LOG-GUIDELINES | ||
COMPILING | ||
configure.ac | ||
CONTRIBUTING | ||
COPYING | ||
COPYING-GPLV3 | ||
COPYING-LGPLV2 | ||
COPYING-LGPLV3 | ||
default.abignore | ||
gen-changelog.py | ||
install-sh | ||
libabigail.pc.in | ||
ltmain.sh | ||
Makefile.am | ||
NEWS | ||
README | ||
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, 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.