libabigail/tests
Dodji Seketeli f86ff3f7a7 Bug 26646 - unexpected declaration-only types
In a version of the kernel binary referred to in this problem report,
the parameter 'skb' of the udp4_hwcsum function, which is of type
"pointer to struct sk_buff", indirectly refers to a pointer to a
declaration-only struct ip_mc_list.

In another version of that kernel binary, the same parameter skb of
the udp4_hwcsum function is still of type "pointer to struct sk_buff",
but in that case, the sk_buff indirectly refers to a pointer to a
fully defined struct ip_mc_list.

The first kernel only contains a decl-only struct ip_mc_list whereas
the second one contains a fully defined struct ip_mc_list.

This problem comes from the fact that in add_or_update_class_type, we
"reuse" the "struct sk_buff" that we've already seen in the same
binary, if any.  Depending on the order in which types are defined in
the debug information, if the DIE for struct sk_buff that refers to a
decl-only struct ip_mc_list has already been "seen" by the
DWARF-reader, then add_or_update_class_type re-uses the IR of that DIE
that's been constructed already; otherwise, the IR for the struct
sk_buff represented by the current DIE is constructed.

This patch fixes the problem by always constructing an IR for the
DIE that is being seen, in add_or_update_class_type.

	* src/abg-dwarf-reader.cc (add_or_update_class_type): Do not reuse
	the IR for a DIE with the same textual representation as the one
	we are seeing now.
	* tests/data/test-annotate/test21-pr19092.so.abi: Adjust.
	* tests/data/test-read-dwarf/test21-pr19092.so.abi: Likewise.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2022-02-08 11:11:51 +01:00
..
data Bug 26646 - unexpected declaration-only types 2022-02-08 11:11:51 +01:00
lib tests/catch.hpp: Add SPDX header back 2021-03-08 11:33:56 +01:00
.gitignore
Makefile.am Add regression tests for ctf reading 2021-12-14 16:45:58 +01:00
mockfedabipkgdiff.in Handle several variants of Python 'imp', 'importlib' modules 2022-01-06 15:44:29 +01:00
print-diff-tree.cc Move dwarf_reader::status facilities to an abigail::elf_reader namespace 2021-11-15 11:08:53 +01:00
runtestcanonicalizetypes.sh.in
runtestdefaultsupprs.py.in
runtestdefaultsupprspy3.sh.in
runtestfedabipkgdiff.py.in
runtestfedabipkgdiffpy3.sh.in
runtestslowselfcompare.sh.in
test-abicompat.cc test-abicompat: Make the test output more pleasant 2021-11-09 15:35:19 +01:00
test-abidiff-exit.cc Standardize and improve the output of several tests 2021-11-17 12:44:16 +01:00
test-abidiff.cc Bug 27985 - abidiff: bad array types in report 2021-09-03 11:08:01 +02:00
test-alt-dwarf-file.cc Standardize and improve the output of several tests 2021-11-17 12:44:16 +01:00
test-annotate.cc Add regression tests for ctf reading 2021-12-14 16:45:58 +01:00
test-core-diff.cc
test-cxx-compat.cc abg-cxx-compat: add simplified version of std::optional 2021-03-09 10:41:10 +01:00
test-diff2.cc
test-diff-dwarf-abixml.cc Standardize and improve the output of several tests 2021-11-17 12:44:16 +01:00
test-diff-dwarf.cc Move dwarf_reader::status facilities to an abigail::elf_reader namespace 2021-11-15 11:08:53 +01:00
test-diff-filter.cc Bug 27995 - Self comparison error from abixml file 2021-08-11 17:38:14 +02:00
test-diff-pkg.cc configure: Instead of for rpm 4.15+ version, test actual rpm/zstd support 2021-12-17 21:13:25 +01:00
test-diff-suppr.cc suppression: Fix has_data_member_inserted_between = {offset_of(), offset_of()} 2021-12-06 14:39:32 +01:00
test-dot.cc
test-elf-helpers.cc
test-ini.cc Standardize and improve the output of several tests 2021-11-17 12:44:16 +01:00
test-ir-walker.cc Move dwarf_reader::status facilities to an abigail::elf_reader namespace 2021-11-15 11:08:53 +01:00
test-kmi-whitelist.cc
test-lookup-syms.cc Standardize and improve the output of several tests 2021-11-17 12:44:16 +01:00
test-read-common.cc Add regression tests for ctf reading 2021-12-14 16:45:58 +01:00
test-read-common.h Add regression tests for ctf reading 2021-12-14 16:45:58 +01:00
test-read-ctf.cc ctf-reader: Assert on ir::hash_as_canonical_type_or_constant 2022-01-03 15:16:12 +01:00
test-read-dwarf.cc Add regression tests for ctf reading 2021-12-14 16:45:58 +01:00
test-read-write.cc symtab: Add support for MODVERSIONS (CRC checksums) 2021-04-02 16:13:13 +02:00
test-svg.cc
test-symtab-reader.cc dwarf-reader split: create abg-symtab-reader.{h,cc} and test case 2021-03-10 18:54:55 +01:00
test-symtab.cc Move dwarf_reader::status facilities to an abigail::elf_reader namespace 2021-11-15 11:08:53 +01:00
test-tools-utils.cc
test-types-stability.cc Bug 28450 - Fix cloned member function handling in DWARF 2021-11-12 18:31:28 +01:00
test-utils.cc test-utils: Define test status reporting functions 2021-11-17 12:02:37 +01:00
test-utils.h test-utils: Define test status reporting functions 2021-11-17 12:02:37 +01:00
test-valgrind-suppressions.supp
update-test-output.py