mirror of
git://sourceware.org/git/libabigail.git
synced 2025-01-01 23:12:05 +00:00
The Git repository of the Libabigail Project
1176c1c4ed
This is bug https://sourceware.org/bugzilla/show_bug.cgi?id=17655. There are several issues conflated into that one problem report. This patch addresses one of them. The value of a DW_AT_type attribute on a DW_TAG_subprogram DIE can be a type that lies in an alternate DWARF section. The link from the DW_TAG_subprogram die to the attribute value can be very much indirect; for instance, the DW_TAG_subprogram might be linked to an abstract origin function through a DW_AT_abstract_origin, which itself can be linked to a function specification that lies in the alternate DWARF section through a DW_AT_specification attribute. It's that last function specification (in the alternate DWARF section) that would have the DW_AT_type that points to the return type of the function, defined in the alternate DWARF section. In this specific case, we were failing to detect that the DW_AT_type was inside the alternate debug info section; note that detecting that is not obvious because the elfutils function dwarf_attr_integrate that we use to get the value of the DW_AT_type magically does the walking through all the hops, but doesn't tell us if the resulting type is in the alternate debug info section or not. So we do have our own function that does the detection. This patch makes the detection work in this case. * src/abg-dwarf-reader.cc (is_die_attribute_resolved_through_gnu_ref_alt): Support the case of the origin function itself having a specification function link. Signed-off-by: Dodji Seketeli <dodji@redhat.com> |
||
---|---|---|
doc | ||
include | ||
m4 | ||
scripts | ||
src | ||
tests | ||
tools | ||
.gitignore | ||
abigail.m4 | ||
AUTHORS | ||
changelog | ||
ChangeLog | ||
COMMIT-LOG-GUIDELINES | ||
COMPILING | ||
config.h.in | ||
configure.ac | ||
CONTRIBUTING | ||
COPYING | ||
COPYING-LGPLV2 | ||
COPYING-LGPLV3 | ||
gen-changelog.py | ||
install-sh | ||
libabigail.pc.in | ||
ltmain.sh | ||
Makefile.am | ||
README | ||
test21-type-suppr-0.suppr | ||
test21-type-suppr-report-0.txt |
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 comparing two ABI Corpuses, 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.