The Git repository of the Libabigail Project
Go to file
Dodji Seketeli 4ac6a09664 ir: Don't strip typedefs when comparing pointers & references
Now that comparison potentially involving a canonicalized type is
always done using the canonicalized type even if the other type being
compared is not canonicalized, it turns out we don't need to strip
typedefs when comparing pointer and reference types.

This essentially undoes what the was done by the patch below:

    commit 4cea6708d6
    Author: Dodji Seketeli <dodji@redhat.com>
    Date:   Thu Sep 5 13:42:28 2024 +0200

	ir: Strip typedefs from pointed-to-types during comparison

	When comparing two pointers, a pointer to type T is considered
	different from a pointer to typedef-of-T.  This can lead to spurious
	self-comparison errors and doesn't provide any practical benefit.
	More-over, the hash value of type typedef-of-T is the same as the hash
	value of type T.  So today, a pointer to type T and pointer to
	typedef-of-T have the same hash value.

	This patch strips typedefs from the pointed-to type of pointers and
	references before comparing them.  It thus fixes the self-comparison
	issue exhibited by the command:

	    $ fedabipkgdiff --self-compare -a --from fc36 binutils

	* src/abg-ir.cc (equals): In the overload for pointer_type_def and
	reference_type_def, do not peel typedefs from the pointed-to types
	before comparing them.
	* tests/data/test-annotate/test14-pr18893.so.abi: Adjust.
	* tests/data/test-annotate/test15-pr18892.so.abi: Adjust.
	* tests/data/test-annotate/test17-pr19027.so.abi: Adjust.
	* tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi:
	Adjust.
	* tests/data/test-annotate/test21-pr19092.so.abi: Adjust.
	* tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Adjust.
	* tests/data/test-read-dwarf/test-libandroid.so.abi: Adjust.
	* tests/data/test-read-dwarf/test11-pr18828.so.abi: Adjust.
	* tests/data/test-read-dwarf/test12-pr18844.so.abi: Adjust.
	* tests/data/test-read-dwarf/test14-pr18893.so.abi: Adjust.
	* tests/data/test-read-dwarf/test15-pr18892.so.abi: Adjust.
	* tests/data/test-read-dwarf/test16-pr18904.so.abi: Adjust.
	* tests/data/test-read-dwarf/test17-pr19027.so.abi: Adjust.
	* tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi:
	Adjust.
	* tests/data/test-read-dwarf/test21-pr19092.so.abi: Adjust.
	* tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi:
	Adjust.
	* tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Adjust.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2024-09-27 16:31:48 +02:00
.github
autoconf-archive
bash-completion
big-tests@bd0c1f8909 big-tests: Update to commit bd0c1f8909a7b2f5018d54b82f7d6829c4849b59 2024-09-15 14:57:08 +02:00
doc abidw: Add a --kmi-stablelist option alongside existing --kmi-whitelist 2024-08-29 17:15:44 +02:00
docker
include corpus: Allow several variables with same ID to be exported 2024-09-06 22:35:22 +02:00
m4
relicensing-scripts
scripts
src ir: Don't strip typedefs when comparing pointers & references 2024-09-27 16:31:48 +02:00
tests ir: Don't strip typedefs when comparing pointers & references 2024-09-27 16:31:48 +02:00
tools corpus: Allow several variables with same ID to be exported 2024-09-06 22:35:22 +02:00
.clang-format
.gitignore
.gitmodules configure: Support the optional 'big-tests' sub-directory 2024-07-16 12:59:03 +02:00
.mailmap
abigail.m4
ABIXML-FORMAT-VERSIONS
AUTHORS
ChangeLog ChangeLog: Update for 2.5 release 2024-04-18 12:18:06 +02:00
COMMIT-LOG-GUIDELINES
COMPILING
configure.ac ir: Remove the now useless type propagation optimization 2024-08-29 17:15:43 +02:00
CONTRIBUTING configure: Support the optional 'big-tests' sub-directory 2024-07-16 12:59:03 +02:00
default.abignore Bug 31646: Fix type suppression tactics for webkit2gtk3 2024-04-16 17:46:19 +02:00
gen-changelog.py gen-changelog.py: Remove long standing debugging output 2023-10-20 18:35:59 +02:00
install-sh
libabigail.pc.in
license-change-2020.txt
LICENSE.txt
ltmain.sh
Makefile.am configure: Support the optional 'big-tests' sub-directory 2024-07-16 12:59:03 +02:00
NEWS NEWS: Update for 2.5 release 2024-04-18 12:17:30 +02:00
README
README-DOCKER.md
release-text-template.txt release-text-template.txt: Modernize a little bit. 2023-05-10 16:29:55 +02:00
update-copyright.sh Update Copyright for year 2024 2024-04-26 15:29:50 +02:00
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, functions 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.