[Bug default/18894] New: abidiff: Many libraries have problems with abi symmetry due to enumerations
woodard at redhat dot com
sourceware-bugzilla@sourceware.org
Thu Jan 1 00:00:00 GMT 2015
https://sourceware.org/bugzilla/show_bug.cgi?id=18894
Bug ID: 18894
Summary: abidiff: Many libraries have problems with abi
symmetry due to enumerations
Product: libabigail
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: default
Assignee: dodji at redhat dot com
Reporter: woodard at redhat dot com
CC: libabigail at sourceware dot org
Target Milestone: ---
Created attachment 8563
--> https://sourceware.org/bugzilla/attachment.cgi?id=8563&action=edit
a library that demonstrates this problem
Many libraries report problems with ABI symmetry. Here are some examples.
hype356@ben:less libdbus-1.so.abi.diff
Functions changes summary: 0 Removed, 1 Changed (154 filtered out), 0 Added
function
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
1 function with some indirect sub-type change:
[C]'function void dbus_bus_add_match(DBusConnection*, const char*,
DBusError*)' has some indirect sub-type changes:
parameter 1 of type 'DBusConnection*' has sub-type changes:
in pointed to type 'typedef DBusConnection':
underlying type 'struct DBusConnection' changed:
1 data member changes (17 filtered):
type of 'DBusTransport* DBusConnection::transport' changed:
in pointed to type 'typedef DBusTransport':
underlying type 'struct DBusTransport' changed:
1 data member changes (4 filtered):
type of 'DBusMessageLoader* DBusTransport::loader' changed:
in pointed to type 'typedef DBusMessageLoader':
underlying type 'struct DBusMessageLoader' changed:
1 data member changes (1 filtered):
type of 'DBusValidity
DBusMessageLoader::corruption_reason' changed:
underlying type 'enum __anonymous_enum__' changed:
3 enumerator changes:
'__anonymous_enum__::DBUS_VALIDITY_UNKNOWN_OOM_ERROR' from value
'18446744073709551612' to '18446744073709551615'
'__anonymous_enum__::DBUS_INVALID_FOR_UNKNOWN_REASON' from value
'18446744073709551613' to '18446744073709551615'
'__anonymous_enum__::DBUS_VALID_BUT_INCOMPLETE'
from value '18446744073709551614' to '18446744073709551615'
hype356@ben:cat libfreetype.so.abi.diff
Functions changes summary: 0 Removed, 1 Changed (1 filtered out), 0 Added
function
Variables changes summary: 0 Removed, 1 Changed, 0 Added variable
1 function with some indirect sub-type change:
[C]'function FT_Error af_get_char_index(AF_StyleMetrics, FT_ULong, FT_ULong*,
FT_Long*)' has some indirect sub-type changes:
parameter 1 of type 'typedef AF_StyleMetrics' has sub-type changes:
underlying type 'AF_StyleMetricsRec_*' changed:
in pointed to type 'struct AF_StyleMetricsRec_':
1 data member change:
type of 'AF_FaceGlobals AF_StyleMetricsRec_::globals' changed:
underlying type 'AF_FaceGlobalsRec_*' changed:
in pointed to type 'struct AF_FaceGlobalsRec_':
1 data member changes (1 filtered):
type of 'AF_Module AF_FaceGlobalsRec_::module' changed:
underlying type 'AF_ModuleRec_*' changed:
in pointed to type 'struct AF_ModuleRec_':
1 data member change:
type of 'AF_LoaderRec AF_ModuleRec_::loader[1]'
changed:
array element type 'typedef AF_LoaderRec' changed:
underlying type 'struct AF_LoaderRec_' changed:
1 data member changes (2 filtered):
type of 'AF_GlyphHintsRec AF_LoaderRec_::hints'
changed:
underlying type 'struct AF_GlyphHintsRec_'
changed:
1 data member changes (1 filtered):
type of 'AF_AxisHintsRec
AF_GlyphHintsRec_::axis[2]' changed:
array element type 'typedef
AF_AxisHintsRec' changed:
underlying type 'struct
AF_AxisHintsRec_' changed:
1 data member change:
type of 'AF_Direction
AF_AxisHintsRec_::major_dir' changed:
underlying type 'enum
AF_Direction_' changed:
1 enumerator change:
'AF_Direction_::AF_DIR_DOWN'
from value '18446744073709551614' to '18446744073709551615'
1 Changed variable:
[C]'const ft_raccess_guess_rec[9] ft_raccess_guess_table' was changed:
type of variable changed:
in unqualified underlying type 'ft_raccess_guess_rec[9]':
array element type 'typedef ft_raccess_guess_rec' changed:
underlying type 'struct ft_raccess_guess_rec_' changed:
1 data member change:
type of 'FT_RFork_Rule ft_raccess_guess_rec_::type' changed:
underlying type 'enum FT_RFork_Rule_' changed:
1 enumerator change:
'FT_RFork_Rule_::FT_RFork_Rule_invalid' from value
'18446744073709551614' to '18446744073709551615'
These big numbers suggest to me that maybe the underlying problem is an
uninitialized variable.
How to reproduce:
hype356@ben:~/bin/abidiff
/collab/usr/global/tools/order/spack/opt/chaos_5_x86_64_ib/gcc@4.4.7/dbus@1.9.0/lib/libdbus-1.so
libdbus-1.so
Functions changes summary: 0 Removed, 1 Changed (154 filtered out), 0 Added
function
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
1 function with some indirect sub-type change:
[C]'function void dbus_bus_add_match(DBusConnection*, const char*,
DBusError*)' has some indirect sub-type changes:
...
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Libabigail
mailing list