Binary compatibility report for the Barry library between 0.9 and 0.10 versions on x86
Test Info
Library Name | Barry |
Version #1 | 0.9 |
Version #2 | 0.10 |
CPU Type | x86 |
GCC Version | 4.6.1 |
Test Results
Total Header Files | 26 |
Total Shared Libraries | 1 |
Total Symbols / Types | 346 / 242 |
Verdict | Incompatible (2.6%) |
Problem Summary
| Severity | Count |
---|
Added Symbols | - | 8 |
Removed Symbols | High | 4 |
Problems with Data Types | High | 2 |
Medium | 0 |
Low | 4 |
Problems with Symbols | High | 4 |
Medium | 0 |
Low | 0 |
Problems with Constants | Low | 0 |
Added Symbols (8)
probe.h,
libbarry.so.0.0.10
namespace Barry
Probe::Probe [in-charge] ( char const* busname, char const* devname )
[symbol: _ZN5Barry5ProbeC1EPKcS2_]
Probe::Probe [not-in-charge] ( char const* busname, char const* devname )
[symbol: _ZN5Barry5ProbeC2EPKcS2_]
Probe::ProbeMatching ( int vendor, int product, char const* busname, char const* devname )
[symbol: _ZN5Barry5Probe13ProbeMatchingEiiPKcS2_]
usbwrap.h,
libbarry.so.0.0.10
namespace Usb
Device::GetConfiguration ( unsigned char& cfg )
[symbol: _ZN3Usb6Device16GetConfigurationERh]
Match::Match [in-charge] ( int vendor, int product, char const* busname, char const* devname )
[symbol: _ZN3Usb5MatchC1EiiPKcS2_]
Match::Match [not-in-charge] ( int vendor, int product, char const* busname, char const* devname )
[symbol: _ZN3Usb5MatchC2EiiPKcS2_]
Match::NameCompare ( char const* n1, char const* n2 ) [static]
[symbol: _ZN3Usb5Match11NameCompareEPKcS2_]
Match::ToNum ( char const* str, long& num ) [static]
[symbol: _ZN3Usb5Match5ToNumEPKcRl]
to the top
Removed Symbols (4)
probe.h,
libbarry.so.0.0.9
namespace Barry
Probe::Probe [in-charge] ( )
[symbol: _ZN5Barry5ProbeC1Ev]
Probe::Probe [not-in-charge] ( )
[symbol: _ZN5Barry5ProbeC2Ev]
usbwrap.h,
libbarry.so.0.0.9
namespace Usb
Match::Match [in-charge] ( int vendor, int product )
[symbol: _ZN3Usb5MatchC1Eii]
Match::Match [not-in-charge] ( int vendor, int product )
[symbol: _ZN3Usb5MatchC2Eii]
to the top
Problems with Data Types, High Severity (2)
probe.h
namespace Barry
[+] class Probe (1)
| Change |
Effect |
1 | Size of this class has been increased from 12 bytes to 28 bytes. | 1) An object of this class can be allocated by the applications and old size will be hardcoded at the compile time. Call of any exported constructor will break the memory of neighbouring objects on the stack or heap. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (2)
Probe::FindActive ( uint32_t pin ) constThis method is from 'Probe' class.
Probe::ProbeDevice ( DeviceIDType devid )This method is from 'Probe' class.
usbwrap.h
namespace Usb
[+] class Match (1)
| Change |
Effect |
1 | Size of this class has been increased from 20 bytes to 28 bytes. | 1) An object of this class can be allocated by the applications and old size will be hardcoded at the compile time. Call of any exported constructor will break the memory of neighbouring objects on the stack or heap. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (2)
Match::next_device ( DeviceIDType* devid )This method is from 'Match' class.
Match::~Match [in-charge] ( )This method is from 'Match' class.
to the top
Problems with Symbols, High Severity (4)
probe.h,
libbarry.so.0.0.9
namespace Barry
[+] Probe::Probe [in-charge] ( ) (1)
changed to:Probe::Probe [in-charge] ( char const* busname, char const* devname )
[symbol: _ZN5Barry5ProbeC1Ev]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5Barry5ProbeC1Ev to _ZN5Barry5ProbeC1EPKcS2_. This may cause "undefined reference" linker error in old client applications. |
[+] Probe::Probe [not-in-charge] ( ) (1)
changed to:Probe::Probe [not-in-charge] ( char const* busname, char const* devname )
[symbol: _ZN5Barry5ProbeC2Ev]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5Barry5ProbeC2Ev to _ZN5Barry5ProbeC2EPKcS2_. This may cause "undefined reference" linker error in old client applications. |
usbwrap.h,
libbarry.so.0.0.9
namespace Usb
[+] Match::Match [in-charge] ( int vendor, int product ) (1)
changed to:Match::Match [in-charge] ( int vendor, int product, char const* busname, char const* devname )
[symbol: _ZN3Usb5MatchC1Eii]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN3Usb5MatchC1Eii to _ZN3Usb5MatchC1EiiPKcS2_. This may cause "undefined reference" linker error in old client applications. |
[+] Match::Match [not-in-charge] ( int vendor, int product ) (1)
changed to:Match::Match [not-in-charge] ( int vendor, int product, char const* busname, char const* devname )
[symbol: _ZN3Usb5MatchC2Eii]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN3Usb5MatchC2Eii to _ZN3Usb5MatchC2EiiPKcS2_. This may cause "undefined reference" linker error in old client applications. |
to the top
Problems with Data Types, Low Severity (4)
probe.h
namespace Barry
[+] class Probe (2)
| Change |
Effect |
1 | Field m_fail_count has been added to this type. | Size of the inclusive type has been changed. NOTE: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
2 | Field m_fail_msgs has been added to this type. | Size of the inclusive type has been changed. NOTE: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
[+] affected symbols (2)
Probe::FindActive ( uint32_t pin ) constThis method is from 'Probe' class.
Probe::ProbeDevice ( DeviceIDType devid )This method is from 'Probe' class.
usbwrap.h
namespace Usb
[+] class Match (2)
| Change |
Effect |
1 | Field m_busname has been added to this type. | Size of the inclusive type has been changed. NOTE: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
2 | Field m_devname has been added to this type. | Size of the inclusive type has been changed. NOTE: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
[+] affected symbols (2)
Match::next_device ( DeviceIDType* devid )This method is from 'Match' class.
Match::~Match [in-charge] ( )This method is from 'Match' class.
to the top
Header Files (26)
barry.h
builder.h
common.h
controller.h
controllertmpl.h
data.h
error.h
ldif.h
parser.h
probe.h
protocol.h
r_calendar.h
r_contact.h
r_folder.h
r_memo.h
r_message.h
r_pin_message.h
r_saved_message.h
r_servicebook.h
r_task.h
record.h
s11n-boost.h
socket.h
time.h
usbwrap.h
version.h
to the top
Shared Libraries (1)
libbarry.so.0.0.9
to the top