libabigail/tests/data/test-read-dwarf
Dodji Seketeli 09de4435ce Bug 19092 - abidw aborts on types that violate the ODR
It appears that two different types from two different translation
units might have the same name in a DSO, like in the example of this
bug.  This violates the One Definition Rule, which we rely on to go
fast, and more importantly, it introduces type canonicalization errors.

This patch recognizes more of these ODR violation cases by looking at
the size of the types.  That is, if two types (from the same DSO) with
the same name have different sizes, then they are different.

	* src/abg-ir.cc (type_base::get_canonical_type_for): Look at the
	size of types with the same name which could be considered
	ODR-equal, to spot possible violations that would induce a type
	canonicalization error.
	* tests/data/test-read-dwarf/test21-pr19092.so: New test input
	binary.
	* tests/data/test-read-dwarf/test21-pr19092.so.abi: New reference
	abixml for the binary above.
	* tests/data/Makefile.am: Add the new test input above to source
	distribution.
	* tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Adjust.
	* tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise.
	* tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi:
	Likewise.
	* tests/test-read-dwarf.cc (int_out_specs): Add the two test input
	above.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2015-10-15 16:22:14 +02:00
..
test0
test0.abi Bug 19024 - Failing to flag underlying type of enums as anonymous 2015-10-11 13:54:24 +02:00
test0.cc
test1
test1.abi On changed fn, show symbol info when name is different from linkage name in C 2015-07-19 19:52:01 +02:00
test1.cc
test2-0.cc
test2-1.cc
test2.h
test2.so
test2.so.abi Use cache type hash values only after type canonicalization is done 2015-09-07 23:35:30 +02:00
test3.c
test3.so
test3.so.abi On changed fn, show symbol info when name is different from linkage name in C 2015-07-19 19:52:01 +02:00
test4.c Handle C99 restrict qualifier and DWARFv3 DW_TAG_restrict_type. 2014-06-23 15:55:37 +02:00
test4.so Handle C99 restrict qualifier and DWARFv3 DW_TAG_restrict_type. 2014-06-23 15:55:37 +02:00
test4.so.abi On changed fn, show symbol info when name is different from linkage name in C 2015-07-19 19:52:01 +02:00
test5.cc Support reading void* type from DWARF 2014-06-23 17:31:26 +02:00
test5.o Support reading void* type from DWARF 2014-06-23 17:31:26 +02:00
test5.o.abi On changed fn, show symbol info when name is different from linkage name in C 2015-07-19 19:52:01 +02:00
test6.cc Consider symbols with STB_GNU_UNIQUE binding as public 2014-07-08 14:18:36 +02:00
test6.so Consider symbols with STB_GNU_UNIQUE binding as public 2014-07-08 14:18:36 +02:00
test6.so.abi On changed fn, show symbol info when name is different from linkage name in C 2015-07-19 19:52:01 +02:00
test7.cc Support C and C++ array type. 2014-08-22 13:07:41 +02:00
test7.so Support C and C++ array type. 2014-08-22 13:07:41 +02:00
test7.so.abi On changed fn, show symbol info when name is different from linkage name in C 2015-07-19 19:52:01 +02:00
test8-qualified-this-pointer.cc Yet another fix to the DWARF method "static-ness" detection heuristic 2014-10-16 23:49:41 +02:00
test8-qualified-this-pointer.so Yet another fix to the DWARF method "static-ness" detection heuristic 2014-10-16 23:49:41 +02:00
test8-qualified-this-pointer.so.abi On changed fn, show symbol info when name is different from linkage name in C 2015-07-19 19:52:01 +02:00
test9-pr18818-clang.so Bug 18818 - abidw aborts on a class with a non-complete base class 2015-08-14 16:22:14 +02:00
test9-pr18818-clang.so.abi Bug 19092 - abidw aborts on types that violate the ODR 2015-10-15 16:22:14 +02:00
test10-pr18818-gcc.so Bug 18818 - abidw aborts on a class with a non-complete base class 2015-08-14 16:22:14 +02:00
test10-pr18818-gcc.so.abi Adjust tests for the patchset 2015-10-15 13:50:50 +02:00
test11-pr18828.so Bug 18828 - Handle force-resolving of multiple declarations-only of the same type 2015-08-15 00:26:39 +02:00
test11-pr18828.so.abi Bug 19024 - Failing to flag underlying type of enums as anonymous 2015-10-11 13:54:24 +02:00
test12-pr18844.so Bug 18844 - assert failure in abidw at abg-dwarf-reader.cc:6537 2015-08-18 12:33:57 +02:00
test12-pr18844.so.abi Bug 19092 - abidw aborts on types that violate the ODR 2015-10-15 16:22:14 +02:00
test13-pr18894.so Bug 18894 - Fix representation of enumerators in abixml format 2015-08-29 17:17:48 +02:00
test13-pr18894.so.abi Adjust tests for the patchset 2015-10-15 13:50:50 +02:00
test14-pr18893.so Bug 18893 - type degradation from dwarf to abixml on libGLU.so 2015-08-30 17:11:36 +02:00
test14-pr18893.so.abi Adjust tests for the patchset 2015-10-15 13:50:50 +02:00
test15-pr18892.so Bug 18892 - type degradation from DWARF to abixml on libtsan.so 2015-08-30 17:56:19 +02:00
test15-pr18892.so.abi Adjust tests for the patchset 2015-10-15 13:50:50 +02:00
test16-pr18904.so More type degradation fixes (from DWARF to abixml) 2015-09-02 14:15:58 +02:00
test16-pr18904.so.abi Adjust tests for the patchset 2015-10-15 13:50:50 +02:00
test17-pr19027.so Bug 19027 - ABI asymmetry with enums over INT_MAX 2015-10-01 11:40:52 +02:00
test17-pr19027.so.abi Adjust tests for the patchset 2015-10-15 13:50:50 +02:00
test18-pr19037-libvtkRenderingLIC-6.1.so Bug 19037 - Make ABI corpus support several functions with same symbol 2015-10-06 13:32:12 +02:00
test18-pr19037-libvtkRenderingLIC-6.1.so.abi Adjust tests for the patchset 2015-10-15 13:50:50 +02:00
test19-pr19023-libtcmalloc_and_profiler.so Bug 19023 - Type canonicalization is sensitive to struct-ness 2015-10-07 00:41:32 +02:00
test19-pr19023-libtcmalloc_and_profiler.so.abi Adjust tests for the patchset 2015-10-15 13:50:50 +02:00
test20-pr19025-libvtkParallelCore-6.1.so Bug 19025 - abixml writer forgets to emit some member types 2015-10-08 13:50:49 +02:00
test20-pr19025-libvtkParallelCore-6.1.so.abi Bug 19092 - abidw aborts on types that violate the ODR 2015-10-15 16:22:14 +02:00
test21-pr19092.so Bug 19092 - abidw aborts on types that violate the ODR 2015-10-15 16:22:14 +02:00
test21-pr19092.so.abi Bug 19092 - abidw aborts on types that violate the ODR 2015-10-15 16:22:14 +02:00