[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug default/21058] New: Inaccurate abipkgdiff report
https://sourceware.org/bugzilla/show_bug.cgi?id=21058
Bug ID: 21058
Summary: Inaccurate abipkgdiff report
Product: libabigail
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: default
Assignee: dodji at redhat dot com
Reporter: cfergeau at redhat dot com
CC: libabigail at sourceware dot org
Target Milestone: ---
I tried to compare
https://koji.fedoraproject.org/koji/buildinfo?buildID=673437
and
https://koji.fedoraproject.org/koji/buildinfo?buildID=689970
using
$ abipkgdiff --d1 ./spice-debuginfo-0.12.5-9.fc24.x86_64.rpm --d2
./spice-debuginfo-0.12.6-1.fc24.x86_64.rpm --devel1
./spice-server-devel-0.12.5-9.fc24.x86_64.rpm --devel2
./spice-server-devel-0.12.6-1.fc24.x86_64.rpm
./spice-server-0.12.5-9.fc24.x86_64.rpm
./spice-server-0.12.6-1.fc24.x86_64.rpm
(libabigail-1.0-0.8.rc6.4.fc25.x86_64)
The result is
2 functions with some indirect sub-type change:
[C]'function spice_image_compression_t
spice_server_get_image_compression()' at reds.c:3578:1 has some indirect
sub-type changes:
return type changed:
entity changed from 'typedef spice_image_compression_t' to 'void'
type size changed from 32 to 0 bits
type alignment changed from 32 to 0 bits
[C]'function int
spice_server_set_image_compression(spice_image_compression_t)' at reds.c:3562:1
has some indirect sub-type changes:
parameter 1 of type 'typedef spice_image_compression_t' was removed
The corresponding headers are:
in 0.12.5:
typedef enum {
SPICE_IMAGE_COMPRESS_INVALID = 0,
SPICE_IMAGE_COMPRESS_OFF = 1,
SPICE_IMAGE_COMPRESS_AUTO_GLZ = 2,
SPICE_IMAGE_COMPRESS_AUTO_LZ = 3,
SPICE_IMAGE_COMPRESS_QUIC = 4,
SPICE_IMAGE_COMPRESS_GLZ = 5,
SPICE_IMAGE_COMPRESS_LZ = 6,
} spice_image_compression_t;
int spice_server_set_image_compression(SpiceServer *s,
spice_image_compression_t comp);
spice_image_compression_t spice_server_get_image_compression(SpiceServer *s);
in 0.12.6:
// Needed for backward API compatibility
typedef SpiceImageCompression spice_image_compression_t;
#define SPICE_IMAGE_COMPRESS_INVALID SPICE_IMAGE_COMPRESSION_INVALID
#define SPICE_IMAGE_COMPRESS_OFF SPICE_IMAGE_COMPRESSION_OFF
#define SPICE_IMAGE_COMPRESS_AUTO_GLZ SPICE_IMAGE_COMPRESSION_AUTO_GLZ
#define SPICE_IMAGE_COMPRESS_AUTO_LZ SPICE_IMAGE_COMPRESSION_AUTO_LZ
#define SPICE_IMAGE_COMPRESS_QUIC SPICE_IMAGE_COMPRESSION_QUIC
#define SPICE_IMAGE_COMPRESS_GLZ SPICE_IMAGE_COMPRESSION_GLZ
#define SPICE_IMAGE_COMPRESS_LZ SPICE_IMAGE_COMPRESSION_LZ
#define SPICE_IMAGE_COMPRESS_LZ4 SPICE_IMAGE_COMPRESSION_LZ4
int spice_server_set_image_compression(SpiceServer *s,
SpiceImageCompression comp);
SpiceImageCompression spice_server_get_image_compression(SpiceServer *s);
The 'spice_image_compression_t' used to be defined in a header part of
spice-server, but with the 0.12.6, this is no longer the case, it's now defined
outside of this source RPM (in spice-protocol).
However, the change should be API/ABI compatible, so it's unexpected to have
abipkgdiff complain about it, especially saying that the
spice_image_compression_t arg/return value was removed while it's still there.
The second issue is that the SpiceServer argument to these functions do not
appear in the output produced by abipkgdiff, it only kept the
spice_image_compression_t argument
--
You are receiving this mail because:
You are on the CC list for the bug.