From: "Giuliano Procida via libabigail" <libabigail@sourceware.org>
To: libabigail@sourceware.org
Cc: dodji@seketeli.org, kernel-team@android.com, gprocida@google.com
Subject: [PATCH v2] Don't ignore options when diffing translation units (.bi files).
Date: Wed, 01 Jan 2020 00:00:00 -0000 [thread overview]
Message-ID: <20200131173324.236096-1-gprocida@google.com> (raw)
* tests/data/Makefile.am: Add test case files.
* tests/data/test-abidiff-exit/test-loc-*: New test cases.
* tests/test-abidiff-exit.cc: Add new test cases.
* tools/abidiff.cc: Use populated ctxt for translation unit
diff.
Signed-off-by: Giuliano Procida <gprocida@google.com>
---
tests/data/Makefile.am | 4 ++++
tests/data/test-abidiff-exit/test-loc-v0.bi | 13 +++++++++++++
tests/data/test-abidiff-exit/test-loc-v1.bi | 13 +++++++++++++
.../test-loc-with-locs-report.txt | 12 ++++++++++++
.../test-loc-without-locs-report.txt | 12 ++++++++++++
tests/test-abidiff-exit.cc | 18 ++++++++++++++++++
tools/abidiff.cc | 3 +--
7 files changed, 73 insertions(+), 2 deletions(-)
create mode 100644 tests/data/test-abidiff-exit/test-loc-v0.bi
create mode 100644 tests/data/test-abidiff-exit/test-loc-v1.bi
create mode 100644 tests/data/test-abidiff-exit/test-loc-with-locs-report.txt
create mode 100644 tests/data/test-abidiff-exit/test-loc-without-locs-report.txt
diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am
index 1ae9d31a..1f574d2e 100644
--- a/tests/data/Makefile.am
+++ b/tests/data/Makefile.am
@@ -103,6 +103,10 @@ test-abidiff-exit/test2-filtered-removed-fns-v1.c \
test-abidiff-exit/test2-filtered-removed-fns-v0.o \
test-abidiff-exit/test2-filtered-removed-fns-v1.o \
test-abidiff-exit/test2-filtered-removed-fns.abignore \
+test-abidiff-exit/test-loc-v0.bi \
+test-abidiff-exit/test-loc-v1.bi \
+test-abidiff-exit/test-loc-with-locs-report.txt \
+test-abidiff-exit/test-loc-without-locs-report.txt \
\
test-diff-dwarf/test0-v0.cc \
test-diff-dwarf/test0-v0.o \
diff --git a/tests/data/test-abidiff-exit/test-loc-v0.bi b/tests/data/test-abidiff-exit/test-loc-v0.bi
new file mode 100644
index 00000000..da3a7c64
--- /dev/null
+++ b/tests/data/test-abidiff-exit/test-loc-v0.bi
@@ -0,0 +1,13 @@
+<abi-corpus path='test-loc-v0.o' architecture='elf-amd-x86_64'>
+ <elf-function-symbols>
+ <elf-symbol name='x' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ </elf-function-symbols>
+ <abi-instr version='1.0' address-size='64' path='test-loc-v0.c' comp-dir-path='/tmp' language='LANG_C99'>
+ <type-decl name='unsigned char' size-in-bits='8' id='type-id-1'/>
+ <type-decl name='void' id='type-id-2'/>
+ <function-decl name='x' mangled-name='x' filepath='test-loc-v0.c' line='1' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='x'>
+ <parameter type-id='type-id-1' name='y' filepath='test-loc-v0.c' line='1' column='1'/>
+ <return type-id='type-id-2'/>
+ </function-decl>
+ </abi-instr>
+</abi-corpus>
diff --git a/tests/data/test-abidiff-exit/test-loc-v1.bi b/tests/data/test-abidiff-exit/test-loc-v1.bi
new file mode 100644
index 00000000..43ac6ecd
--- /dev/null
+++ b/tests/data/test-abidiff-exit/test-loc-v1.bi
@@ -0,0 +1,13 @@
+<abi-corpus path='test-loc-v1.o' architecture='elf-amd-x86_64'>
+ <elf-function-symbols>
+ <elf-symbol name='x' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+ </elf-function-symbols>
+ <abi-instr version='1.0' address-size='64' path='test-loc-v1.c' comp-dir-path='/tmp' language='LANG_C99'>
+ <type-decl name='signed char' size-in-bits='8' id='type-id-1'/>
+ <type-decl name='void' id='type-id-2'/>
+ <function-decl name='x' mangled-name='x' filepath='test-loc-v1.c' line='1' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='x'>
+ <parameter type-id='type-id-1' name='y' filepath='test-loc-v1.c' line='1' column='1'/>
+ <return type-id='type-id-2'/>
+ </function-decl>
+ </abi-instr>
+</abi-corpus>
diff --git a/tests/data/test-abidiff-exit/test-loc-with-locs-report.txt b/tests/data/test-abidiff-exit/test-loc-with-locs-report.txt
new file mode 100644
index 00000000..d62e405e
--- /dev/null
+++ b/tests/data/test-abidiff-exit/test-loc-with-locs-report.txt
@@ -0,0 +1,12 @@
+Functions changes summary: 0 Removed, 1 Changed, 0 Added function
+Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
+
+1 function with some indirect sub-type change:
+
+ [C]'function void x(unsigned char)' at test-loc-v1.c:1:1 has some indirect sub-type changes:
+ parameter 1 of type 'unsigned char' changed:
+ type name changed from 'unsigned char' to 'signed char'
+ type size hasn't changed
+
+
+
diff --git a/tests/data/test-abidiff-exit/test-loc-without-locs-report.txt b/tests/data/test-abidiff-exit/test-loc-without-locs-report.txt
new file mode 100644
index 00000000..5a72047e
--- /dev/null
+++ b/tests/data/test-abidiff-exit/test-loc-without-locs-report.txt
@@ -0,0 +1,12 @@
+Functions changes summary: 0 Removed, 1 Changed, 0 Added function
+Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
+
+1 function with some indirect sub-type change:
+
+ [C]'function void x(unsigned char)' has some indirect sub-type changes:
+ parameter 1 of type 'unsigned char' changed:
+ type name changed from 'unsigned char' to 'signed char'
+ type size hasn't changed
+
+
+
diff --git a/tests/test-abidiff-exit.cc b/tests/test-abidiff-exit.cc
index e6df5933..4cef727e 100644
--- a/tests/test-abidiff-exit.cc
+++ b/tests/test-abidiff-exit.cc
@@ -93,6 +93,24 @@ InOutSpec in_out_specs[] =
"data/test-abidiff-exit/test2-filtered-removed-fns-report1.txt",
"output/test-abidiff-exit/test2-filtered-removed-fns-report1.txt"
},
+ {
+ "data/test-abidiff-exit/test-loc-v0.bi",
+ "data/test-abidiff-exit/test-loc-v1.bi",
+ "",
+ "",
+ abigail::tools_utils::ABIDIFF_ABI_CHANGE,
+ "data/test-abidiff-exit/test-loc-with-locs-report.txt",
+ "output/test-abidiff-exit/test-loc-with-locs-report.txt"
+ },
+ {
+ "data/test-abidiff-exit/test-loc-v0.bi",
+ "data/test-abidiff-exit/test-loc-v1.bi",
+ "",
+ "--no-show-locs",
+ abigail::tools_utils::ABIDIFF_ABI_CHANGE,
+ "data/test-abidiff-exit/test-loc-without-locs-report.txt",
+ "output/test-abidiff-exit/test-loc-without-locs-report.txt"
+ },
{0, 0, 0 ,0, abigail::tools_utils::ABIDIFF_OK, 0, 0}
};
diff --git a/tools/abidiff.cc b/tools/abidiff.cc
index 1d02f65e..32f793e8 100644
--- a/tools/abidiff.cc
+++ b/tools/abidiff.cc
@@ -1243,8 +1243,7 @@ main(int argc, char* argv[])
if (t1)
{
- diff_context_sptr diff_ctxt(new diff_context);
- translation_unit_diff_sptr diff = compute_diff(t1, t2, diff_ctxt);
+ translation_unit_diff_sptr diff = compute_diff(t1, t2, ctxt);
if (diff->has_changes())
diff->report(cout);
}
--
2.25.0.341.g760bfbb309-goog
reply other threads:[~2020-01-31 17:33 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200131173324.236096-1-gprocida@google.com \
--to=libabigail@sourceware.org \
--cc=dodji@seketeli.org \
--cc=gprocida@google.com \
--cc=kernel-team@android.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).