Add regression tests for abipkgdiff using ctf info

This patch is meant to execute the testsuite for abipkgdiff tool using
sources with CTF debug info.

	* doc/manuals/abipkgdiff.rst: Document the fact that abipkgdiff
	now supports the CTF format.
	* tests/data/test-diff-pkg-ctf/cracklib-2.9.6-15-ol8.x86_64-report-0.txt:
	New test input.
	* tests/data/test-diff-pkg-ctf/cracklib-2.9.6-15-ol8u0.x86_64.rpm:
	Likewise.
	* tests/data/test-diff-pkg-ctf/cracklib-2.9.6-15-ol8u6.x86_64.rpm:
	Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-0-dir1/dir.abignore:
	Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-0-dir1/libobj-v0.so:
	Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-0-dir1/obj-v0.c: Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-0-dir2/libobj-v0.so:
	Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-0-dir2/obj-v0.c: Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-0-report-0.txt: Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-1-dir1/libobj-v0.so:
	Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-1-dir1/obj-v0.c: Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-1-dir2/dir.abignore:
	Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-1-dir2/libobj-v0.so:
	Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-1-dir2/obj-v0.c: Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-1-report-0.txt: Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-1-report-1.txt: Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-2-dir1/libobj-v0.so:
	Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-2-dir1/obj-v0.c: Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-2-dir2/.abignore: Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-2-dir2/dir.abignore:
	Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-2-dir2/libobj-v0.so:
	Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-2-dir2/obj-v0.c: Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-2-report-0.txt: Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-3-dir1/libobj-v0.so:
	Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-3-dir1/obj-v0.c: Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-3-dir2/.abignore: Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-3-dir2/libobj-v0.so:
	Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-3-dir2/obj-v0.c: Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-3-report-0.txt: Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-3-report-1.txt: Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-3-report-2.txt: Likewise.
	* tests/data/test-diff-pkg-ctf/dirpkg-3.suppr: Likewise.
	* tests/data/test-diff-pkg-ctf/elfutils-libelf-0.186-1.x86_64.rpm:
	Likewise.
	* tests/data/test-diff-pkg-ctf/elfutils-libelf-0.186-2.x86_64.rpm:
	Likewise.
	* tests/data/test-diff-pkg-ctf/elfutils-libelf-0.186-report-0.txt:
	Likewise.
	* tests/data/test-diff-pkg-ctf/elfutils-libelf-0.186-report-1.txt:
	Likewise.
	* tests/data/test-diff-pkg-ctf/gmp-6.1.2-8-ol8u0.x86_64.rpm:
	Likewise.
	* tests/data/test-diff-pkg-ctf/gmp-6.2.0-10-ol9u0.x86_64.rpm:
	Likewise.
	* tests/data/test-diff-pkg-ctf/gmp-6.x.x86_64-report-0.txt:
	Likewise.
	* tests/data/test-diff-pkg-ctf/isl-0.16.1-6.x86_64.rpm: Likewise.
	* tests/data/test-diff-pkg-ctf/isl-0.16.1-7.x86_64.rpm: Likewise.
	* tests/data/test-diff-pkg-ctf/isl-0.16.1-report-0.txt: Likewise.
	* tests/data/test-diff-pkg-ctf/isl-debuginfo-0.16.1-6.x86_64.rpm:
	Likewise.
	* tests/data/test-diff-pkg-ctf/isl-debuginfo-0.16.1-7.x86_64.rpm:
	Likewise.
	* tests/data/test-diff-pkg-ctf/libdwarf-20180129-4-no-ctf.x86_64.rpm:
	Likewise.
	* tests/data/test-diff-pkg-ctf/libdwarf-20180129-4.x86_64.rpm:
	Likewise.
	* tests/data/test-diff-pkg-ctf/libdwarf-20180129-5-no-ctf.x86_64.rpm:
	Likewise.
	* tests/data/test-diff-pkg-ctf/libdwarf-20180129-5.x86_64.rpm:
	Likewise.
	* tests/data/test-diff-pkg-ctf/symlink-dir-test1-report0.txt:
	Likewise.
	* tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir1/symlinks/foo.o:
	Likewise.
	* tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir1/symlinks/libfoo.so:
	Likewise.
	* tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir1/targets/foo.c:
	Likewise.
	* tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir1/targets/foo.o:
	Likewise.
	* tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir1/targets/libfoo.so:
	Likewise.
	* tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir2/symlinks/foo.o:
	Likewise.
	* tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir2/symlinks/libfoo.so:
	Likewise.
	* tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir2/targets/foo.c:
	Likewise.
	* tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir2/targets/foo.o:
	Likewise.
	* tests/data/test-diff-pkg-ctf/symlink-dir-test1/dir2/targets/libfoo.so:
	Likewise.
	* tests/data/test-diff-pkg-ctf/tarpkg-0-dir1.ta: Likewise.
	* tests/data/test-diff-pkg-ctf/tarpkg-0-dir1.tar: Likewise.
	* tests/data/test-diff-pkg-ctf/tarpkg-0-dir1.tar.bz2: Likewise.
	* tests/data/test-diff-pkg-ctf/tarpkg-0-dir1.tar.gz: Likewise.
	* tests/data/test-diff-pkg-ctf/tarpkg-0-dir2.ta: Likewise.
	* tests/data/test-diff-pkg-ctf/tarpkg-0-dir2.tar: Likewise.
	* tests/data/test-diff-pkg-ctf/tarpkg-0-dir2.tar.bz2: Likewise.
	* tests/data/test-diff-pkg-ctf/tarpkg-0-dir2.tar.gz: Likewise.
	* tests/data/test-diff-pkg-ctf/tarpkg-0-report-0.txt: Likewise.
	* tests/data/test-diff-pkg-ctf/tarpkg-1-dir1.tar.gz: Likewise.
	* tests/data/test-diff-pkg-ctf/tarpkg-1-dir2.tar.gz: Likewise.
	* tests/data/test-diff-pkg-ctf/tarpkg-1-report-0.txt: Likewise.
	* tests/data/test-diff-pkg-ctf/test-rpm-report-0.txt: Likewise.
	* tests/data/test-diff-pkg-ctf/test-rpm-report-1.txt: Likewise.
	* tests/data/test-diff-pkg-ctf/test-rpm-report-2.txt: Likewise.
	* tests/data/test-diff-pkg-ctf/test-rpm-report-3.txt: Likewise.
	* tests/data/test-diff-pkg-ctf/test-rpm-report-4.txt: Likewise.
	* tests/data/test-diff-pkg-ctf/test-rpm-report-5.txt: Likewise.
	* tests/data/Makefile.am: Add the test material above to source
	distribution.
	* tests/test-diff-pkg.cc (in_out_spec): Add the test inputs above
	to this harness.

Signed-off-by: Guillermo E. Martinez <guillermo.e.martinez@oracle.com>
Signed-off-by: Dodji Seketeli <dodji@redhat.com>
This commit is contained in:
Guillermo E. Martinez via Libabigail 2022-07-08 09:30:33 -05:00 committed by Dodji Seketeli
parent d63203a068
commit 5a36bb779d
80 changed files with 885 additions and 2 deletions

View File

@ -13,7 +13,11 @@ binaries.
For a comprehensive ABI change report that includes changes about
function and variable sub-types, the two input packages must be
accompanied with their debug information packages that contain debug
information in `DWARF`_ format.
information either in `DWARF`_ or in `CTF` formats. Please note
however that some packages contain binaries that embed the debug
information directly in a section of said binaries. In those cases,
obviously, no separate debug information package is needed as the tool
will find the debug information inside the binaries.
.. _abipkgdiff_invocation_label:
@ -470,7 +474,8 @@ Options
* ``--ctf``
This is used to compare packages with CTF debug information, if present.
This is used to compare packages with CTF debug information, if
present.
.. _abipkgdiff_return_value_label:

View File

@ -2012,6 +2012,83 @@ test-diff-pkg/wireshark/wireshark-cli-3.4.9-1.fc36.x86_64-self-check-report.txt
test-diff-pkg/wireshark/wireshark-cli-3.4.9-1.fc36.x86_64.rpm \
test-diff-pkg/wireshark/wireshark-cli-debuginfo-3.4.9-1.fc36.x86_64.rpm \
test-diff-pkg/wireshark/wireshark-debuginfo-3.4.9-1.fc36.x86_64.rpm \
test-diff-pkg-ctf/tarpkg-0-dir1.tar \
test-diff-pkg-ctf/dirpkg-0-report-0.txt \
test-diff-pkg-ctf/isl-debuginfo-0.16.1-7.x86_64.rpm \
test-diff-pkg-ctf/tarpkg-1-report-0.txt \
test-diff-pkg-ctf/elfutils-libelf-0.186-1.x86_64.rpm \
test-diff-pkg-ctf/tarpkg-0-dir2.ta \
test-diff-pkg-ctf/elfutils-libelf-0.186-report-0.txt \
test-diff-pkg-ctf/gmp-6.2.0-10-ol9u0.x86_64.rpm \
test-diff-pkg-ctf/dirpkg-3-dir1/obj-v0.c \
test-diff-pkg-ctf/dirpkg-3-dir1/libobj-v0.so \
test-diff-pkg-ctf/isl-0.16.1-report-0.txt \
test-diff-pkg-ctf/tarpkg-0-dir2.tar.gz \
test-diff-pkg-ctf/test-rpm-report-2.txt \
test-diff-pkg-ctf/dirpkg-3-report-2.txt \
test-diff-pkg-ctf/libdwarf-20180129-5.x86_64.rpm \
test-diff-pkg-ctf/test-rpm-report-3.txt \
test-diff-pkg-ctf/test-rpm-report-1.txt \
test-diff-pkg-ctf/tarpkg-0-report-0.txt \
test-diff-pkg-ctf/libdwarf-20180129-4-no-ctf.x86_64.rpm \
test-diff-pkg-ctf/tarpkg-0-dir1.tar.gz \
test-diff-pkg-ctf/dirpkg-2-report-0.txt \
test-diff-pkg-ctf/dirpkg-1-report-1.txt \
test-diff-pkg-ctf/cracklib-2.9.6-15-ol8.x86_64-report-0.txt \
test-diff-pkg-ctf/dirpkg-1-report-0.txt \
test-diff-pkg-ctf/elfutils-libelf-0.186-2.x86_64.rpm \
test-diff-pkg-ctf/elfutils-libelf-0.186-report-1.txt \
test-diff-pkg-ctf/gmp-6.x.x86_64-report-0.txt \
test-diff-pkg-ctf/dirpkg-0-dir2/obj-v0.c \
test-diff-pkg-ctf/dirpkg-0-dir2/libobj-v0.so \
test-diff-pkg-ctf/test-rpm-report-5.txt \
test-diff-pkg-ctf/tarpkg-1-dir2.tar.gz \
test-diff-pkg-ctf/libdwarf-20180129-5-no-ctf.x86_64.rpm \
test-diff-pkg-ctf/libdwarf-20180129-4.x86_64.rpm \
test-diff-pkg-ctf/test-rpm-report-0.txt \
test-diff-pkg-ctf/tarpkg-0-dir2.tar \
test-diff-pkg-ctf/isl-0.16.1-6.x86_64.rpm \
test-diff-pkg-ctf/dirpkg-1-dir2/dir.abignore \
test-diff-pkg-ctf/dirpkg-1-dir2/obj-v0.c \
test-diff-pkg-ctf/dirpkg-1-dir2/libobj-v0.so \
test-diff-pkg-ctf/dirpkg-3-dir2/obj-v0.c \
test-diff-pkg-ctf/dirpkg-3-dir2/.abignore \
test-diff-pkg-ctf/dirpkg-3-dir2/libobj-v0.so \
test-diff-pkg-ctf/test-rpm-report-4.txt \
test-diff-pkg-ctf/dirpkg-2-dir1/obj-v0.c \
test-diff-pkg-ctf/dirpkg-2-dir1/libobj-v0.so \
test-diff-pkg-ctf/dirpkg-3-report-1.txt \
test-diff-pkg-ctf/tarpkg-0-dir2.tar.bz2 \
test-diff-pkg-ctf/gmp-6.1.2-8-ol8u0.x86_64.rpm \
test-diff-pkg-ctf/dirpkg-2-dir2/dir.abignore \
test-diff-pkg-ctf/dirpkg-2-dir2/obj-v0.c \
test-diff-pkg-ctf/dirpkg-2-dir2/.abignore \
test-diff-pkg-ctf/dirpkg-2-dir2/libobj-v0.so \
test-diff-pkg-ctf/cracklib-2.9.6-15-ol8u6.x86_64.rpm \
test-diff-pkg-ctf/isl-0.16.1-7.x86_64.rpm \
test-diff-pkg-ctf/tarpkg-0-dir1.ta \
test-diff-pkg-ctf/dirpkg-3.suppr \
test-diff-pkg-ctf/dirpkg-1-dir1/obj-v0.c \
test-diff-pkg-ctf/dirpkg-1-dir1/libobj-v0.so \
test-diff-pkg-ctf/tarpkg-0-dir1.tar.bz2 \
test-diff-pkg-ctf/dirpkg-3-report-0.txt \
test-diff-pkg-ctf/dirpkg-0-dir1/dir.abignore \
test-diff-pkg-ctf/dirpkg-0-dir1/obj-v0.c \
test-diff-pkg-ctf/dirpkg-0-dir1/libobj-v0.so \
test-diff-pkg-ctf/symlink-dir-test1/dir1/targets/libfoo.so \
test-diff-pkg-ctf/symlink-dir-test1/dir1/targets/foo.c \
test-diff-pkg-ctf/symlink-dir-test1/dir1/targets/foo.o \
test-diff-pkg-ctf/symlink-dir-test1/dir1/symlinks/libfoo.so \
test-diff-pkg-ctf/symlink-dir-test1/dir1/symlinks/foo.o \
test-diff-pkg-ctf/symlink-dir-test1/dir2/targets/libfoo.so \
test-diff-pkg-ctf/symlink-dir-test1/dir2/targets/foo.c \
test-diff-pkg-ctf/symlink-dir-test1/dir2/targets/foo.o \
test-diff-pkg-ctf/symlink-dir-test1/dir2/symlinks/libfoo.so \
test-diff-pkg-ctf/symlink-dir-test1/dir2/symlinks/foo.o \
test-diff-pkg-ctf/cracklib-2.9.6-15-ol8u0.x86_64.rpm \
test-diff-pkg-ctf/isl-debuginfo-0.16.1-6.x86_64.rpm \
test-diff-pkg-ctf/tarpkg-1-dir1.tar.gz \
test-diff-pkg-ctf/symlink-dir-test1-report0.txt \
\
test-fedabipkgdiff/dbus-glib-0.104-3.fc23.x86_64.rpm \
test-fedabipkgdiff/dbus-glib-debuginfo-0.104-3.fc23.x86_64.rpm \

View File

@ -0,0 +1,10 @@
================ changes of 'libcrack.so.2.9.0'===============
Functions changes summary: 1 Removed, 0 Changed, 0 Added function
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
1 Removed function:
[D] 'function char* LowercaseWrapper(char*, char*)' {LowercaseWrapper}
================ end of changes of 'libcrack.so.2.9.0'===============

View File

@ -0,0 +1,4 @@
#taken from test5-fn-supprt-0.suppr
[suppress_function]
# suppress change reports for a function which name is 'bar' ...
name = bar

Binary file not shown.

View File

@ -0,0 +1,11 @@
// Compile with:
// gcc -gctf -shared -o libobj-v0.so obj-v0.c
struct S
{
int mem0;
};
void
bar(struct S *s)
{}

Binary file not shown.

View File

@ -0,0 +1,12 @@
// Compile with:
// gcc -gctf -shared -o libobj-v0.so obj-v0.c
struct S
{
int mem0;
char mem1;
};
void
bar(struct S *s)
{}

Binary file not shown.

View File

@ -0,0 +1,11 @@
// Compile with:
// g++ -gctf -shared -o libobj-v0.so obj-v0.cc
struct S
{
int mem0;
};
void
bar(struct S *s)
{}

View File

@ -0,0 +1,4 @@
#taken from test5-fn-supprt-0.suppr
[suppress_function]
# suppress change reports for a function which name is 'bar' ...
name = bar

Binary file not shown.

View File

@ -0,0 +1,12 @@
// Compile with:
// g++ -gctf -shared -o libobj-v0.so obj-v0.cc
struct S
{
int mem0;
char mem1;
};
void
bar(struct S *s)
{}

View File

@ -0,0 +1,15 @@
================ changes of 'libobj-v0.so'===============
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 bar(S*)' has some indirect sub-type changes:
parameter 1 of type 'S*' has sub-type changes:
in pointed to type 'struct S':
type size changed from 32 to 64 (in bits)
1 data member insertion:
'char mem1', at offset 32 (in bits)
================ end of changes of 'libobj-v0.so'===============

Binary file not shown.

View File

@ -0,0 +1,19 @@
// Compile with:
// gcc -gctf -shared -o libobj-v0.so obj-v0.c
struct S0
{
int mem0;
};
struct S1
{
};
void
bar(struct S0 *s)
{}
void
foo(struct S1 *s)
{}

View File

@ -0,0 +1,2 @@
[suppress_function]
name = foo

View File

@ -0,0 +1,2 @@
[suppress_function]
name = bar

Binary file not shown.

View File

@ -0,0 +1,21 @@
// Compile with:
// gcc -gctf -shared -o libobj-v0.so obj-v0.c
struct S0
{
int mem0;
char mem1;
};
struct S1
{
int mem2;
};
void
bar(struct S0 *s)
{}
void
foo(struct S1 *s)
{}

Binary file not shown.

View File

@ -0,0 +1,19 @@
// Compile with:
// gcc -gctf -shared -o libobj-v0.so obj-v0.c
struct S0
{
int mem0;
};
struct S1
{
};
void
bar(struct S0 *s)
{}
void
foo(struct S1 *s)
{}

View File

@ -0,0 +1,2 @@
[suppress_function]
name = foo

Binary file not shown.

View File

@ -0,0 +1,21 @@
// Compile with:
// gcc -gctf -shared -o libobj-v0.so obj-v0.c
struct S0
{
int mem0;
char mem1;
};
struct S1
{
int mem2;
};
void
bar(struct S0 *s)
{}
void
foo(struct S1 *s)
{}

View File

@ -0,0 +1,16 @@
================ changes of 'libobj-v0.so'===============
Functions changes summary: 0 Removed, 1 Changed (1 filtered out), 0 Added functions
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
1 function with some indirect sub-type change:
[C] 'function void foo(S1*)' has some indirect sub-type changes:
parameter 1 of type 'S1*' has sub-type changes:
in pointed to type 'struct S1':
type size changed from 0 to 32 (in bits)
type alignment changed from 0 to 32
1 data member insertion:
'int mem2', at offset 0 (in bits)
================ end of changes of 'libobj-v0.so'===============

View File

@ -0,0 +1,2 @@
[suppress_function]
name = bar

View File

@ -0,0 +1,10 @@
================ changes of 'libelf-0.186.so'===============
Functions changes summary: 0 Removed, 0 Changed, 1 Added function
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
1 Added function:
[A] 'function int elf_compress_gnu_xz(void*)' {elf_compress_gnu_xz@@ELFUTILS_1.7}
================ end of changes of 'libelf-0.186.so'===============

View File

@ -0,0 +1,176 @@
================ changes of 'libgmp.so.10.3.2'===============
Functions changes summary: 25 Removed, 0 Changed (1 filtered out), 85 Added functions
Variables changes summary: 0 Removed, 1 Changed, 0 Added variable
Function symbols changes summary: 3 Removed, 21 Added function symbols not referenced by debug info
Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referenced by debug info
25 Removed functions:
[D] 'function mp_limb_t __gmpn_add_n_bobcat(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)' {__gmpn_add_n_bobcat}
[D] 'function mp_limb_t __gmpn_addmul_1_bobcat(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_addmul_1_bobcat}
[D] 'function mp_limb_t __gmpn_addmul_2_x86_64(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr)' {__gmpn_addmul_2_x86_64}
[D] 'function void __gmpn_copyd_bobcat(mp_ptr, mp_srcptr, mp_size_t)' {__gmpn_copyd_bobcat}
[D] 'function void __gmpn_copyi_bobcat(mp_ptr, mp_srcptr, mp_size_t)' {__gmpn_copyi_bobcat}
[D] 'function void __gmpn_dcpi1_bdiv_q_n(mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr)' {__gmpn_dcpi1_bdiv_q_n}
[D] 'function mp_size_t __gmpn_dcpi1_bdiv_q_n_itch(mp_size_t)' {__gmpn_dcpi1_bdiv_q_n_itch}
[D] 'function mp_limb_t __gmpn_dcpi1_divappr_q_n(mp_ptr, mp_ptr, mp_srcptr, mp_size_t, gmp_pi1_t*, mp_ptr)' {__gmpn_dcpi1_divappr_q_n}
[D] 'function mp_limb_t __gmpn_gcd_1_bd1(mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_gcd_1_bd1}
[D] 'function mp_limb_t __gmpn_gcd_1_core2(mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_gcd_1_core2}
[D] 'function mp_limb_t __gmpn_gcd_1_init(mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_gcd_1_init}
[D] 'function mp_limb_t __gmpn_gcd_1_k10(mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_gcd_1_k10}
[D] 'function mp_limb_t __gmpn_gcd_1_nano(mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_gcd_1_nano}
[D] 'function mp_limb_t __gmpn_gcd_1_x86_64(mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_gcd_1_x86_64}
[D] 'function void __gmpn_matrix22_mul_strassen(mp_ptr, mp_ptr, mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_srcptr, mp_srcptr, mp_srcptr, mp_size_t, mp_ptr)' {__gmpn_matrix22_mul_strassen}
[D] 'function mp_size_t __gmpn_mu_div_qr_choose_in(mp_size_t, mp_size_t, int)' {__gmpn_mu_div_qr_choose_in}
[D] 'function mp_size_t __gmpn_mu_divappr_q_choose_in(mp_size_t, mp_size_t, int)' {__gmpn_mu_divappr_q_choose_in}
[D] 'function mp_limb_t __gmpn_mul_1_bobcat(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_mul_1_bobcat}
[D] 'function void __gmpn_mul_basecase_bobcat(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)' {__gmpn_mul_basecase_bobcat}
[D] 'function mp_limb_t __gmpn_preinv_mu_divappr_q(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr)' {__gmpn_preinv_mu_divappr_q}
[D] 'function mp_limb_t __gmpn_redc_1_bobcat(mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_redc_1_bobcat}
[D] 'function void __gmpn_set_str_compute_powtab(powers_t*, mp_ptr, mp_size_t, int)' {__gmpn_set_str_compute_powtab}
[D] 'function void __gmpn_sqr_basecase_bobcat(mp_ptr, mp_srcptr, mp_size_t)' {__gmpn_sqr_basecase_bobcat}
[D] 'function mp_limb_t __gmpn_sub_n_bobcat(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)' {__gmpn_sub_n_bobcat}
[D] 'function mp_limb_t __gmpn_submul_1_bobcat(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_submul_1_bobcat}
85 Added functions:
[A] 'function void __gmp_default_reallocate2(void*, size_t, size_t)' {__gmp_default_reallocate2}
[A] 'function mp_limb_t __gmpn_add_n_bd1(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)' {__gmpn_add_n_bd1}
[A] 'function mp_limb_t __gmpn_add_n_bt1(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)' {__gmpn_add_n_bt1}
[A] 'function mp_limb_t __gmpn_add_n_coreihwl(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)' {__gmpn_add_n_coreihwl}
[A] 'function mp_limb_t __gmpn_add_n_goldmont(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)' {__gmpn_add_n_goldmont}
[A] 'function mp_limb_t __gmpn_add_n_silvermont(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)' {__gmpn_add_n_silvermont}
[A] 'function mp_limb_t __gmpn_addlsh1_n_silvermont(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)' {__gmpn_addlsh1_n_silvermont}
[A] 'function mp_limb_t __gmpn_addlsh1_n_zen(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)' {__gmpn_addlsh1_n_zen}
[A] 'function mp_limb_t __gmpn_addlsh2_n_silvermont(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)' {__gmpn_addlsh2_n_silvermont}
[A] 'function mp_limb_t __gmpn_addmul_1_bt1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_addmul_1_bt1}
[A] 'function mp_limb_t __gmpn_addmul_1_goldmont(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_addmul_1_goldmont}
[A] 'function mp_limb_t __gmpn_addmul_1_pentium4(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_addmul_1_pentium4}
[A] 'function mp_limb_t __gmpn_addmul_1_silvermont(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_addmul_1_silvermont}
[A] 'function mp_limb_t __gmpn_addmul_1_zen(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_addmul_1_zen}
[A] 'function mp_limb_t __gmpn_addmul_2_bd1(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr)' {__gmpn_addmul_2_bd1}
[A] 'function mp_limb_t __gmpn_addmul_2_fat(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr)' {__gmpn_addmul_2_fat}
[A] 'function mp_limb_t __gmpn_addmul_2_k8(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr)' {__gmpn_addmul_2_k8}
[A] 'function mp_limb_t __gmpn_addmul_2_pentium4(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr)' {__gmpn_addmul_2_pentium4}
[A] 'function mp_limb_t __gmpn_cnd_add_n_atom(mp_limb_t, mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)' {__gmpn_cnd_add_n_atom}
[A] 'function mp_limb_t __gmpn_cnd_add_n_coreisbr(mp_limb_t, mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)' {__gmpn_cnd_add_n_coreisbr}
[A] 'function mp_limb_t __gmpn_cnd_sub_n_atom(mp_limb_t, mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)' {__gmpn_cnd_sub_n_atom}
[A] 'function mp_limb_t __gmpn_cnd_sub_n_coreisbr(mp_limb_t, mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)' {__gmpn_cnd_sub_n_coreisbr}
[A] 'function void __gmpn_com_bt2(mp_ptr, mp_srcptr, mp_size_t)' {__gmpn_com_bt2}
[A] 'function void __gmpn_com_core2(mp_ptr, mp_srcptr, mp_size_t)' {__gmpn_com_core2}
[A] 'function void __gmpn_com_zen(mp_ptr, mp_srcptr, mp_size_t)' {__gmpn_com_zen}
[A] 'function size_t __gmpn_compute_powtab(powers_t*, mp_ptr, mp_size_t, int)' {__gmpn_compute_powtab}
[A] 'function void __gmpn_copyd_bt1(mp_ptr, mp_srcptr, mp_size_t)' {__gmpn_copyd_bt1}
[A] 'function void __gmpn_copyd_bt2(mp_ptr, mp_srcptr, mp_size_t)' {__gmpn_copyd_bt2}
[A] 'function void __gmpn_copyd_zen(mp_ptr, mp_srcptr, mp_size_t)' {__gmpn_copyd_zen}
[A] 'function void __gmpn_copyi_bt1(mp_ptr, mp_srcptr, mp_size_t)' {__gmpn_copyi_bt1}
[A] 'function void __gmpn_copyi_bt2(mp_ptr, mp_srcptr, mp_size_t)' {__gmpn_copyi_bt2}
[A] 'function void __gmpn_copyi_zen(mp_ptr, mp_srcptr, mp_size_t)' {__gmpn_copyi_zen}
[A] 'function int __gmpn_fib2m(mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)' {__gmpn_fib2m}
[A] 'function mp_limb_t __gmpn_gcd_11_bd1(mp_limb_t, mp_limb_t)' {__gmpn_gcd_11_bd1}
[A] 'function mp_limb_t __gmpn_gcd_11_bt1(mp_limb_t, mp_limb_t)' {__gmpn_gcd_11_bt1}
[A] 'function mp_limb_t __gmpn_gcd_11_bt2(mp_limb_t, mp_limb_t)' {__gmpn_gcd_11_bt2}
[A] 'function mp_limb_t __gmpn_gcd_11_core2(mp_limb_t, mp_limb_t)' {__gmpn_gcd_11_core2}
[A] 'function mp_limb_t __gmpn_gcd_11_coreisbr(mp_limb_t, mp_limb_t)' {__gmpn_gcd_11_coreisbr}
[A] 'function mp_limb_t __gmpn_gcd_11_init(mp_limb_t, mp_limb_t)' {__gmpn_gcd_11_init}
[A] 'function mp_limb_t __gmpn_gcd_11_k10(mp_limb_t, mp_limb_t)' {__gmpn_gcd_11_k10}
[A] 'function mp_limb_t __gmpn_gcd_11_nano(mp_limb_t, mp_limb_t)' {__gmpn_gcd_11_nano}
[A] 'function mp_limb_t __gmpn_gcd_11_x86_64(mp_limb_t, mp_limb_t)' {__gmpn_gcd_11_x86_64}
[A] 'function mp_limb_t __gmpn_gcd_11_zen(mp_limb_t, mp_limb_t)' {__gmpn_gcd_11_zen}
[A] 'function mp_double_limb_t __gmpn_gcd_22(mp_limb_t, mp_limb_t, mp_limb_t, mp_limb_t)' {__gmpn_gcd_22}
[A] 'function mp_limb_t __gmpn_lshift_silvermont(mp_ptr, mp_srcptr, mp_size_t, unsigned int)' {__gmpn_lshift_silvermont}
[A] 'function mp_limb_t __gmpn_lshift_zen(mp_ptr, mp_srcptr, mp_size_t, unsigned int)' {__gmpn_lshift_zen}
[A] 'function mp_limb_t __gmpn_lshiftc_silvermont(mp_ptr, mp_srcptr, mp_size_t, unsigned int)' {__gmpn_lshiftc_silvermont}
[A] 'function mp_limb_t __gmpn_lshiftc_zen(mp_ptr, mp_srcptr, mp_size_t, unsigned int)' {__gmpn_lshiftc_zen}
[A] 'function mp_limb_t __gmpn_mul_1_bt1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_mul_1_bt1}
[A] 'function mp_limb_t __gmpn_mul_1_goldmont(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_mul_1_goldmont}
[A] 'function mp_limb_t __gmpn_mul_1_pentium4(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_mul_1_pentium4}
[A] 'function mp_limb_t __gmpn_mul_1_silvermont(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_mul_1_silvermont}
[A] 'function mp_limb_t __gmpn_mul_1_zen(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_mul_1_zen}
[A] 'function void __gmpn_mul_basecase_bt1(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)' {__gmpn_mul_basecase_bt1}
[A] 'function void __gmpn_mul_basecase_pentium4(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)' {__gmpn_mul_basecase_pentium4}
[A] 'function void __gmpn_mul_basecase_silvermont(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)' {__gmpn_mul_basecase_silvermont}
[A] 'function void __gmpn_mul_basecase_zen(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)' {__gmpn_mul_basecase_zen}
[A] 'function void __gmpn_mullo_basecase_coreibwl(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)' {__gmpn_mullo_basecase_coreibwl}
[A] 'function void __gmpn_mullo_basecase_pentium4(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)' {__gmpn_mullo_basecase_pentium4}
[A] 'function void __gmpn_mullo_basecase_silvermont(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)' {__gmpn_mullo_basecase_silvermont}
[A] 'function void __gmpn_mullo_basecase_zen(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)' {__gmpn_mullo_basecase_zen}
[A] 'function mp_limb_t __gmpn_redc_1_bt1(mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_redc_1_bt1}
[A] 'function mp_limb_t __gmpn_redc_1_goldmont(mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_redc_1_goldmont}
[A] 'function mp_limb_t __gmpn_redc_1_pentium4(mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_redc_1_pentium4}
[A] 'function mp_limb_t __gmpn_rshift_silvermont(mp_ptr, mp_srcptr, mp_size_t, unsigned int)' {__gmpn_rshift_silvermont}
[A] 'function mp_limb_t __gmpn_rshift_zen(mp_ptr, mp_srcptr, mp_size_t, unsigned int)' {__gmpn_rshift_zen}
[A] 'function mp_limb_t __gmpn_sbpi1_bdiv_r(mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_sbpi1_bdiv_r}
[A] 'function void __gmpn_sqr_basecase_bt1(mp_ptr, mp_srcptr, mp_size_t)' {__gmpn_sqr_basecase_bt1}
[A] 'function void __gmpn_sqr_basecase_pentium4(mp_ptr, mp_srcptr, mp_size_t)' {__gmpn_sqr_basecase_pentium4}
[A] 'function void __gmpn_sqr_basecase_silvermont(mp_ptr, mp_srcptr, mp_size_t)' {__gmpn_sqr_basecase_silvermont}
[A] 'function void __gmpn_sqr_basecase_zen(mp_ptr, mp_srcptr, mp_size_t)' {__gmpn_sqr_basecase_zen}
[A] 'function int __gmpn_strongfibo(mp_srcptr, mp_size_t, mp_ptr)' {__gmpn_strongfibo}
[A] 'function mp_limb_t __gmpn_sub_n_bd1(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)' {__gmpn_sub_n_bd1}
[A] 'function mp_limb_t __gmpn_sub_n_bt1(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)' {__gmpn_sub_n_bt1}
[A] 'function mp_limb_t __gmpn_sub_n_coreihwl(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)' {__gmpn_sub_n_coreihwl}
[A] 'function mp_limb_t __gmpn_sub_n_goldmont(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)' {__gmpn_sub_n_goldmont}
[A] 'function mp_limb_t __gmpn_sub_n_silvermont(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)' {__gmpn_sub_n_silvermont}
[A] 'function mp_limb_t __gmpn_sublsh1_n_zen(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)' {__gmpn_sublsh1_n_zen}
[A] 'function mp_limb_t __gmpn_submul_1_bt1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_submul_1_bt1}
[A] 'function mp_limb_t __gmpn_submul_1_goldmont(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_submul_1_goldmont}
[A] 'function mp_limb_t __gmpn_submul_1_pentium4(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_submul_1_pentium4}
[A] 'function mp_limb_t __gmpn_submul_1_silvermont(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_submul_1_silvermont}
[A] 'function mp_limb_t __gmpn_submul_1_zen(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)' {__gmpn_submul_1_zen}
[A] 'function int __gmpz_lucas_mod(mpz_ptr, mpz_ptr, long int, mp_bitcnt_t, mpz_srcptr, mpz_ptr, mpz_ptr)' {__gmpz_lucas_mod}
[A] 'function int __gmpz_stronglucas(mpz_srcptr, mpz_ptr, mpz_ptr)' {__gmpz_stronglucas}
1 Changed variable:
[C] 'cpuvec_t __gmpn_cpuvec' was changed:
type of variable changed:
type size hasn't changed
1 data member change:
type of 'typedef mp_limb_t (typedef mp_srcptr, typedef mp_size_t, typedef mp_limb_t)* gcd_1' changed:
in pointed to type 'function type typedef mp_limb_t (typedef mp_srcptr, typedef mp_size_t, typedef mp_limb_t)':
parameter 1 of type 'typedef mp_srcptr' changed:
typedef name changed from mp_srcptr to mp_limb_t
underlying type 'const mp_limb_t*' changed:
entity changed from 'const mp_limb_t*' to 'unsigned long int'
type size hasn't changed
parameter 2 of type 'typedef mp_size_t' changed:
typedef name changed from mp_size_t to mp_limb_t
underlying type 'long int' changed:
type name changed from 'long int' to 'unsigned long int'
type size hasn't changed
mangled name changed from 'long int' to unsigned long int
parameter 3 of type 'typedef mp_limb_t' was removed
and name of 'cpuvec_t::gcd_1' changed to 'cpuvec_t::gcd_11'
3 Removed function symbols not referenced by debug info:
[D] __gmpn_add_nc_bobcat
[D] __gmpn_mul_1c_bobcat
[D] __gmpn_sub_nc_bobcat
21 Added function symbols not referenced by debug info:
[A] __gmpn_add_nc_bd1
[A] __gmpn_add_nc_bt1
[A] __gmpn_add_nc_coreihwl
[A] __gmpn_add_nc_goldmont
[A] __gmpn_add_nc_silvermont
[A] __gmpn_addlsh1_nc_zen
[A] __gmpn_addmul_1c_silvermont
[A] __gmpn_gcd_11
[A] __gmpn_mul_1c_bt1
[A] __gmpn_mul_1c_coreisbr
[A] __gmpn_mul_1c_goldmont
[A] __gmpn_mul_1c_pentium4
[A] __gmpn_mul_1c_silvermont
[A] __gmpn_mul_1c_zen
[A] __gmpn_sub_nc_bd1
[A] __gmpn_sub_nc_bt1
[A] __gmpn_sub_nc_coreihwl
[A] __gmpn_sub_nc_goldmont
[A] __gmpn_sub_nc_silvermont
[A] __gmpn_sublsh1_nc_zen
[A] __gmpn_submul_1c_silvermont
================ end of changes of 'libgmp.so.10.3.2'===============

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,10 @@
================ changes of 'libisl.so.15.1.1'===============
Functions changes summary: 0 Removed, 0 Changed, 1 Added function
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
1 Added function:
[A] 'function void isl_pw_aff_conv(void*)' {isl_pw_aff_conv}
================ end of changes of 'libisl.so.15.1.1'===============

View File

@ -0,0 +1,15 @@
================ changes of 'libfoo.so'===============
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 int f(S*)' has some indirect sub-type changes:
parameter 1 of type 'S*' has sub-type changes:
in pointed to type 'struct S':
type size changed from 32 to 64 (in bits)
1 data member insertion:
'char m1', at offset 32 (in bits)
================ end of changes of 'libfoo.so'===============

View File

@ -0,0 +1 @@
../targets/foo.o

View File

@ -0,0 +1 @@
../targets/libfoo.so

View File

@ -0,0 +1,10 @@
/* Compile with gcc -Wall -gctf -g -shared -o libfoo.so foo.c. */
struct S
{
int m0;
};
int
f(struct S* s)
{return s->m0;}

View File

@ -0,0 +1 @@
../targets/foo.o

View File

@ -0,0 +1 @@
../targets/libfoo.so

View File

@ -0,0 +1,11 @@
/* Compile with gcc -Wall -g -gctf -shared -o libfoo.so foo.c */
struct S
{
int m0;
char m1;
};
int
f(struct S* s)
{return s->m0;}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,15 @@
================ changes of 'libobj-v0.so'===============
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 bar(S*)' has some indirect sub-type changes:
parameter 1 of type 'S*' has sub-type changes:
in pointed to type 'struct S':
type size changed from 32 to 64 (in bits)
1 data member insertion:
'char mem1', at offset 32 (in bits)
================ end of changes of 'libobj-v0.so'===============

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,10 @@
================ changes of 'libdwarf.so.1.20180129.0'===============
Functions changes summary: 0 Removed, 0 Changed, 1 Added function
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
1 Added function:
[A] 'function int dwarf_get_str_2()' {dwarf_get_str_2}
================ end of changes of 'libdwarf.so.1.20180129.0'===============

View File

@ -0,0 +1,12 @@
================ changes of 'libdwarf.so.1.20180129.0'===============
Functions changes summary: 0 Removed, 0 Changed, 0 Added function
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
Function symbols changes summary: 0 Removed, 1 Added function symbol not referenced by debug info
Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referenced by debug info
1 Added function symbol not referenced by debug info:
[A] dwarf_get_str_2
================ end of changes of 'libdwarf.so.1.20180129.0'===============

View File

@ -0,0 +1,12 @@
================ changes of 'libdwarf.so.1.20180129.0'===============
Functions changes summary: 0 Removed, 0 Changed, 0 Added function
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
Function symbols changes summary: 1 Removed, 0 Added function symbol not referenced by debug info
Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referenced by debug info
1 Removed function symbol not referenced by debug info:
[D] dwarf_get_str_2
================ end of changes of 'libdwarf.so.1.20180129.0'===============

View File

@ -0,0 +1,12 @@
================ changes of 'libdwarf.so.1.20180129.0'===============
Functions changes summary: 0 Removed, 0 Changed, 0 Added function
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
Function symbols changes summary: 1 Removed, 0 Added function symbol not referenced by debug info
Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referenced by debug info
1 Removed function symbol not referenced by debug info:
[D] dwarf_get_str_2
================ end of changes of 'libdwarf.so.1.20180129.0'===============

View File

@ -764,6 +764,327 @@ static InOutSpec in_out_specs[] =
"output/test-diff-pkg/libsigc++-2.0-0c2a_2.4.0-1_amd64--libsigc++-2.0-0v5_2.4.1-1ubuntu2_amd64-report-0.txt"
},
#endif // WITH_DEB
#ifdef WITH_CTF
// Specific test entries for CTF.
// dir1 contains a suppr spec - it should be ignored.
{
"data/test-diff-pkg-ctf/dirpkg-0-dir1",
"data/test-diff-pkg-ctf/dirpkg-0-dir2",
"--ctf --no-default-suppression",
"",
"",
"",
"",
"",
"data/test-diff-pkg-ctf/dirpkg-0-report-0.txt",
"output/test-diff-pkg-ctf/dirpkg-0-report-0.txt"
},
// dir2 contains a suppr spec - it should be recognized.
{
"data/test-diff-pkg-ctf/dirpkg-1-dir1",
"data/test-diff-pkg-ctf/dirpkg-1-dir2",
"--ctf --no-default-suppression",
"",
"",
"",
"",
"",
"data/test-diff-pkg-ctf/dirpkg-1-report-0.txt",
"output/test-diff-pkg-ctf/dirpkg-1-report-0.txt"
},
// dir2 contains a suppr spec but --no-abignore is specified,
// the file should be ignored.
{
"data/test-diff-pkg-ctf/dirpkg-1-dir1",
"data/test-diff-pkg-ctf/dirpkg-1-dir2",
"--ctf --no-default-suppression --no-abignore",
"",
"",
"",
"",
"",
"data/test-diff-pkg-ctf/dirpkg-1-report-1.txt",
"output/test-diff-pkg-ctf/dirpkg-1-report-1.txt"
},
// dir2 contains several suppr spec files, ".abignore" and
// "dir.abignore", so the specs should be merged.
{
"data/test-diff-pkg-ctf/dirpkg-2-dir1",
"data/test-diff-pkg-ctf/dirpkg-2-dir2",
"--ctf --no-default-suppression",
"",
"",
"",
"",
"",
"data/test-diff-pkg-ctf/dirpkg-2-report-0.txt",
"output/test-diff-pkg-ctf/dirpkg-2-report-0.txt"
},
// dir2 contains a suppr spec file, ".abignore" and
// an additional suppr file is specified on the command line,
// so the specs should be merged.
{
"data/test-diff-pkg-ctf/dirpkg-3-dir1",
"data/test-diff-pkg-ctf/dirpkg-3-dir2",
"--ctf --no-default-suppression",
"data/test-diff-pkg-ctf/dirpkg-3.suppr",
"",
"",
"",
"",
"data/test-diff-pkg-ctf/dirpkg-3-report-0.txt",
"output/test-diff-pkg-ctf/dirpkg-3-report-0.txt"
},
// dir2 contains a suppr spec file, ".abignore", which should
// be ignored because of the program options and
// an additional suppr file is specified on the command line,
// which should be recognized.
{
"data/test-diff-pkg-ctf/dirpkg-3-dir1",
"data/test-diff-pkg-ctf/dirpkg-3-dir2",
"--ctf --no-default-suppression --no-abignore",
"data/test-diff-pkg-ctf/dirpkg-3.suppr",
"",
"",
"",
"",
"data/test-diff-pkg-ctf/dirpkg-3-report-1.txt",
"output/test-diff-pkg-ctf/dirpkg-3-report-1.txt"
},
{ // Just like the previous tests, but loc info is emitted.
"data/test-diff-pkg-ctf/dirpkg-3-dir1",
"data/test-diff-pkg-ctf/dirpkg-3-dir2",
"--no-default-suppression --no-abignore",
"data/test-diff-pkg-ctf/dirpkg-3.suppr",
"",
"",
"",
"",
"data/test-diff-pkg-ctf/dirpkg-3-report-2.txt",
"output/test-diff-pkg-ctf/dirpkg-3-report-2.txt"
},
{
"data/test-diff-pkg-ctf/symlink-dir-test1/dir1/symlinks",
"data/test-diff-pkg-ctf/symlink-dir-test1/dir2/symlinks",
"--ctf --no-default-suppression ",
"",
"",
"",
"",
"",
"data/test-diff-pkg-ctf/symlink-dir-test1-report0.txt ",
"output/test-diff-pkg-ctf/symlink-dir-test1-report0.txt "
},
#if WITH_TAR
{
"data/test-diff-pkg-ctf/tarpkg-0-dir1.tar",
"data/test-diff-pkg-ctf/tarpkg-0-dir2.tar",
"--ctf --no-default-suppression",
"",
"",
"",
"",
"",
"data/test-diff-pkg-ctf/tarpkg-0-report-0.txt",
"output/test-diff-pkg-ctf/tarpkg-0-report-0.txt"
},
{
"data/test-diff-pkg-ctf/tarpkg-0-dir1.ta",
"data/test-diff-pkg-ctf/tarpkg-0-dir2.ta",
"--ctf --no-default-suppression",
"",
"",
"",
"",
"",
"data/test-diff-pkg-ctf/tarpkg-0-report-0.txt",
"output/test-diff-pkg-ctf/tarpkg-0-report-01.txt"
},
{
"data/test-diff-pkg-ctf/tarpkg-0-dir1.tar.gz",
"data/test-diff-pkg-ctf/tarpkg-0-dir2.tar.gz",
"--ctf --no-default-suppression",
"",
"",
"",
"",
"",
"data/test-diff-pkg-ctf/tarpkg-0-report-0.txt",
"output/test-diff-pkg-ctf/tarpkg-0-report-02.txt"
},
{
"data/test-diff-pkg-ctf/tarpkg-0-dir1.tar.bz2",
"data/test-diff-pkg-ctf/tarpkg-0-dir2.tar.bz2",
"--ctf --no-default-suppression",
"",
"",
"",
"",
"",
"data/test-diff-pkg-ctf/tarpkg-0-report-0.txt",
"output/test-diff-pkg-ctf/tarpkg-0-report-03.txt"
},
{
"data/test-diff-pkg-ctf/tarpkg-1-dir1.tar.gz",
"data/test-diff-pkg-ctf/tarpkg-1-dir2.tar.gz",
"--ctf --no-default-suppression --dso-only",
"",
"",
"",
"",
"",
"data/test-diff-pkg-ctf/tarpkg-1-report-0.txt",
"output/test-diff-pkg-ctf/tarpkg-1-report-0.txt"
},
#endif //WITH_TAR
#ifdef WITH_RPM
// Two RPM packages with CTF debuginfo available and have ABI changes
{
"data/test-diff-pkg-ctf/libdwarf-20180129-4.x86_64.rpm",
"data/test-diff-pkg-ctf/libdwarf-20180129-5.x86_64.rpm",
"--ctf --no-default-suppression --private-dso",
"",
"",
"",
"",
"",
"data/test-diff-pkg-ctf/test-rpm-report-0.txt",
"output/test-diff-pkg-ctf/test-rpm-report-0.txt"
},
// Two RPM packages with 2nd package debuginfo missing (no -gctf)
{
"data/test-diff-pkg-ctf/libdwarf-20180129-4.x86_64.rpm",
"data/test-diff-pkg-ctf/libdwarf-20180129-5-no-ctf.x86_64.rpm",
"--ctf --no-default-suppression --private-dso",
"",
"",
"",
"",
"",
"data/test-diff-pkg-ctf/test-rpm-report-1.txt",
"output/test-diff-pkg-ctf/test-rpm-report-1.txt"
},
// Two RPM packages with first package debuginfo missing (no -gctf)
{
"data/test-diff-pkg-ctf/libdwarf-20180129-5-no-ctf.x86_64.rpm",
"data/test-diff-pkg-ctf/libdwarf-20180129-4.x86_64.rpm",
"--ctf --no-default-suppression --private-dso",
"",
"",
"",
"",
"",
"data/test-diff-pkg-ctf/test-rpm-report-2.txt",
"output/test-diff-pkg-ctf/test-rpm-report-2.txt"
},
// Two RPM packages with missing debuginfo
{
"data/test-diff-pkg-ctf/libdwarf-20180129-5-no-ctf.x86_64.rpm",
"data/test-diff-pkg-ctf/libdwarf-20180129-4-no-ctf.x86_64.rpm",
"--ctf --no-default-suppression",
"",
"",
"",
"",
"",
"data/test-diff-pkg-ctf/test-rpm-report-3.txt",
"output/test-diff-pkg-ctf/test-rpm-report-3.txt"
},
// Two RPM packages with no ABI change
{
"data/test-diff-pkg-ctf/libdwarf-20180129-4.x86_64.rpm",
"data/test-diff-pkg-ctf/libdwarf-20180129-4.x86_64.rpm",
"--ctf --no-default-suppression",
"",
"",
"",
"",
"",
"data/test-diff-pkg-ctf/test-rpm-report-4.txt",
"output/test-diff-pkg-ctf/test-rpm-report-4.txt"
},
// Two RPM packages with debuginfo available and we don't want to
// see added symbols.
{
"data/test-diff-pkg-ctf/libdwarf-20180129-4.x86_64.rpm",
"data/test-diff-pkg-ctf/libdwarf-20180129-5.x86_64.rpm",
"--ctf --no-default-suppression --no-added-syms",
"",
"",
"",
"",
"",
"data/test-diff-pkg-ctf/test-rpm-report-5.txt",
"output/test-diff-pkg-ctf/test-rpm-report-5.txt"
},
{
"data/test-diff-pkg-ctf/elfutils-libelf-0.186-1.x86_64.rpm",
"data/test-diff-pkg-ctf/elfutils-libelf-0.186-2.x86_64.rpm",
"--ctf --no-default-suppression --no-added-syms",
"",
"",
"",
"",
"",
"data/test-diff-pkg-ctf/elfutils-libelf-0.186-report-0.txt",
"output/test-diff-pkg-ctf/elfutils-libelf-0.186-report-0.txt"
},
{
"data/test-diff-pkg-ctf/elfutils-libelf-0.186-1.x86_64.rpm",
"data/test-diff-pkg-ctf/elfutils-libelf-0.186-2.x86_64.rpm",
"--ctf",
"",
"",
"",
"",
"",
"data/test-diff-pkg-ctf/elfutils-libelf-0.186-report-1.txt",
"output/test-diff-pkg-ctf/elfutils-libelf-0.186-report-1.txt"
},
{
"data/test-diff-pkg-ctf/cracklib-2.9.6-15-ol8u0.x86_64.rpm",
"data/test-diff-pkg-ctf/cracklib-2.9.6-15-ol8u6.x86_64.rpm",
"--ctf",
"",
"",
"",
"",
"",
"data/test-diff-pkg-ctf/cracklib-2.9.6-15-ol8.x86_64-report-0.txt",
"output/test-diff-pkg-ctf/cracklib-2.9.6-15-ol8.x86_64-report-0.txt"
},
{
"data/test-diff-pkg-ctf/gmp-6.1.2-8-ol8u0.x86_64.rpm",
"data/test-diff-pkg-ctf/gmp-6.2.0-10-ol9u0.x86_64.rpm",
"--ctf --no-default-suppression",
"",
"",
"",
"",
"",
"data/test-diff-pkg-ctf/gmp-6.x.x86_64-report-0.txt",
"output/test-diff-pkg-ctf/gmp-6.x.x86_64-report-0.txt"
},
// Even when CTF is thinking to be resided along with binary
// files, it could be stripped out in an external location.
{
"data/test-diff-pkg-ctf/isl-0.16.1-6.x86_64.rpm",
"data/test-diff-pkg-ctf/isl-0.16.1-7.x86_64.rpm",
"--ctf --no-default-suppression",
"",
"data/test-diff-pkg-ctf/isl-debuginfo-0.16.1-6.x86_64.rpm",
"data/test-diff-pkg-ctf/isl-debuginfo-0.16.1-7.x86_64.rpm",
"",
"",
"data/test-diff-pkg-ctf/isl-0.16.1-report-0.txt",
"output/test-diff-pkg-ctf/isl-0.16.1-report-0.txt"
},
#endif //WITH_RPM
#endif //WITH_CTF
// This should be the last entry.
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
};