libabigail/tests/data/test-diff-dwarf-abixml
Dodji Seketeli fee06608fc dwarf-reader: Support Ada subranges having upper_bound < lower_bound
If the subrange's upper_bound is lower than its lower_bound, that
means the subrange has a length of zero.  This is Ada lingo.  You can
learn more about this at
https://en.wikibooks.org/wiki/Ada_Programming/Types/array#Array_Attributes,
for instance.

This patch teaches the DWARF reader about this.

	* src/abg-dwarf-reader.cc (build_subrange_type): Be aware that
	the upper_bound can be lower than lower_bound..  This most
	likely means the length of the subrange is zero.
	* src/abg-ir.cc (array_type_def::subrange_type::get_length): If
	lower_bound > upper_bound, then length is zero.  This is Ada
	lingo.
	* src/abg-writer.cc (write_array_subrange_type): Always emit
	lower_bound and upper_bound.  Acknowledge that if lower_bound >
	upper_bound, it means length is zero.
	* tests/data/test-annotate/libtest24-drop-fns-2.so.abi: Adjust.
	* tests/data/test-annotate/libtest24-drop-fns.so.abi: Likewise.
	* tests/data/test-annotate/test13-pr18894.so.abi: Likewise.
	* tests/data/test-annotate/test14-pr18893.so.abi: Likewise.
	* tests/data/test-annotate/test15-pr18892.so.abi: Likewise.
	* tests/data/test-annotate/test17-pr19027.so.abi: Likewise.
	* tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
	Likewise.
	* tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi:
	Likewise.
	* tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi:
	Likewise.
	* tests/data/test-annotate/test21-pr19092.so.abi: Likewise.
	* tests/data/test-annotate/test7.so.abi: Likewise.
	* tests/data/test-diff-dwarf-abixml/PR25409-librte_bus_dpaa.so.20.0.abi:
	Likewise.
	* tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1-report-0.txt:
	Likewise.
	* tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1.abi:
	Likewise.
	* tests/data/test-read-btf/test0.o.abi: Likewise.
	* tests/data/test-read-ctf/test-ambiguous-struct-A.o.hash.abi:
	Likewise.
	* tests/data/test-read-ctf/test-array-mdimension.abi: Likewise.
	* tests/data/test-read-ctf/test-array-of-pointers.abi: Likewise.
	* tests/data/test-read-ctf/test-array-size.abi: Likewise.
	* tests/data/test-read-ctf/test-const-array.abi: Likewise.
	* tests/data/test-read-ctf/test-dynamic-array.o.abi: Likewise.
	* tests/data/test-read-ctf/test0.abi: Likewise.
	* tests/data/test-read-ctf/test0.hash.abi: Likewise.
	* tests/data/test-read-ctf/test9.o.abi: Likewise.
	* tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi:
	Likewise.
	* tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise.
	* tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Likewise.
	* tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi:
	Likewise.
	* tests/data/test-read-dwarf/libtest24-drop-fns-2.so.abi:
	Likewise.
	* tests/data/test-read-dwarf/libtest24-drop-fns.so.abi: Likewise.
	* tests/data/test-read-dwarf/test-libaaudio.so.abi: Likewise.
	* tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise.
	* tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise.
	* tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise.
	* tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise.
	* tests/data/test-read-dwarf/test13-pr18894.so.abi: Likewise.
	* tests/data/test-read-dwarf/test14-pr18893.so.abi: Likewise.
	* tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise.
	* tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise.
	* tests/data/test-read-dwarf/test17-pr19027.so.abi: Likewise.
	* tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
	Likewise.
	* tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi:
	Likewise.
	* tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi:
	Likewise.
	* tests/data/test-read-dwarf/test21-pr19092.so.abi: Likewise.
	* tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi:
	Likewise.
	* tests/data/test-read-dwarf/test7.so.abi: Likewise.
	* tests/data/test-read-dwarf/test7.so.hash.abi: Likewise.
	* tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise.
	* tests/data/test-read-write/test25.xml: Likewise.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2023-04-05 16:54:32 +02:00
..
PR25409-librte_bus_dpaa.so.20.0 Bug 25409 - Fix reading layout-offset-in-bits attribute of data-member 2020-01-17 16:35:29 +01:00
PR25409-librte_bus_dpaa.so.20.0-report-0.txt Bug 25409 - Fix reading layout-offset-in-bits attribute of data-member 2020-01-17 16:35:29 +01:00
PR25409-librte_bus_dpaa.so.20.0.abi dwarf-reader: Support Ada subranges having upper_bound < lower_bound 2023-04-05 16:54:32 +02:00
test0-pr19026-libvtkIOSQL-6.1.so.1 Avoid canonicalizing function types too early 2015-11-09 18:33:58 +01:00
test0-pr19026-libvtkIOSQL-6.1.so.1-report-0.txt dwarf-reader: Support Ada subranges having upper_bound < lower_bound 2023-04-05 16:54:32 +02:00
test0-pr19026-libvtkIOSQL-6.1.so.1.abi dwarf-reader: Support Ada subranges having upper_bound < lower_bound 2023-04-05 16:54:32 +02:00