Binary compatibility report for the Presage library between 0.8.4 and 0.8.5 versions on x86
Test Info
Library Name | Presage |
Version #1 | 0.8.4 |
Version #2 | 0.8.5 |
CPU Type | x86 |
GCC Version | 4.6.1 |
Test Results
Total Header Files | 3 |
Total Shared Libraries | 1 |
Total Symbols / Types | 21 / 18 |
Verdict | Incompatible (23.8%) |
Problem Summary
| Severity | Count |
---|
Added Symbols | - | 13 |
Removed Symbols | High | 2 |
Problems with Data Types | High | 1 |
Medium | 0 |
Low | 1 |
Problems with Symbols | High | 0 |
Medium | 0 |
Low | 0 |
Problems with Constants | Low | 0 |
Other Changes in Data Types | - | 1 |
Added Symbols (13)
presage.h,
libpresage.so.1.1.1
presage_completion ( presage_t prsg, char const* token, char** result ) @@ PRESAGE_0.8.5
presage_config ( presage_t prsg, char const* variable, char** result ) @@ PRESAGE_0.8.5
presage_config_set ( presage_t prsg, char const* variable, char const* value ) @@ PRESAGE_0.8.5
presage_context ( presage_t prsg, char** result ) @@ PRESAGE_0.8.5
presage_context_change ( presage_t prsg, int* result ) @@ PRESAGE_0.8.5
presage_free ( presage_t prsg ) @@ PRESAGE_0.8.5
presage_free_string ( char* str ) @@ PRESAGE_0.8.5
presage_free_string_array ( char** str ) @@ PRESAGE_0.8.5
presage_new ( _presage_callback_get_past_stream past_stream_cb, void* past_stream_cb_arg, _presage_callback_get_future_stream future_stream_cb, void* future_stream_cb_arg, presage_t* result ) @@ PRESAGE_0.8.5
presage_new_with_config ( _presage_callback_get_past_stream past, void* past_stream_cb_arg, _presage_callback_get_future_stream future_stream_cb, void* future_stream_cb_arg, char const* config, presage_t* result ) @@ PRESAGE_0.8.5
presage_predict ( presage_t prsg, char*** result ) @@ PRESAGE_0.8.5
presage_prefix ( presage_t prsg, char** result ) @@ PRESAGE_0.8.5
presage_save_config ( presage_t prsg ) @@ PRESAGE_0.8.5
to the top
Removed Symbols (2)
presageException.h,
libpresage.so.1.1.1
PresageException::PresageException [in-charge] ( std::string const& msg ) @@ PRESAGE_0.8.3
[symbol: _ZN16PresageExceptionC1ERKSs@@PRESAGE_0.8.3]
PresageException::PresageException [not-in-charge] ( std::string const& msg ) @@ PRESAGE_0.8.3
[symbol: _ZN16PresageExceptionC2ERKSs@@PRESAGE_0.8.3]
to the top
Problems with Data Types, High Severity (1)
presageException.h
[+] class PresageException (1)
| Change |
Effect |
1 | Size of this class has been increased from 8 bytes to 12 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 neighboring objects on the stack or heap. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (2)
PresageException::~PresageException [in-charge] ( ) @@ PRESAGE_0.8.3This method is from 'PresageException' class.
PresageException::what ( ) const @@ PRESAGE_0.8.3This method is from 'PresageException' class.
to the top
Problems with Data Types, Low Severity (1)
presageException.h
[+] class PresageException (1)
| Change |
Effect |
1 | Field m_code 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)
PresageException::~PresageException [in-charge] ( ) @@ PRESAGE_0.8.3This method is from 'PresageException' class.
PresageException::what ( ) const @@ PRESAGE_0.8.3This method is from 'PresageException' class.
to the top
Other Changes in Data Types (1)
presageException.h
[+] class PresageException (1)
| Change |
Effect |
1 | Virtual method PresageException::code ( ) const has been added to this class. | No effect. You can add virtual functions at end of leaf classes with exported constructors. |
[+] show v-table (old and new)
Offset | Virtual Table (Old) - 5 entries | Virtual Table (New) - 6 entries |
---|
0 |
(int (*)(...))0 |
(int (*)(...))0 |
4 |
(int (*)(...))(& typeinfo) |
(int (*)(...))(& typeinfo) |
8 |
~PresageException |
~PresageException |
12 |
~PresageException |
~PresageException |
16 |
PresageException::what |
PresageException::what |
20 |
|
PresageException::code |
[+] affected symbols (2)
PresageException::~PresageException [in-charge] ( ) @@ PRESAGE_0.8.3This method is from 'PresageException' class.
PresageException::what ( ) const @@ PRESAGE_0.8.3This method is from 'PresageException' class.
to the top
Header Files (3)
presage.h
presageCallback.h
presageException.h
to the top
Shared Libraries (1)
libpresage.so.1.1.1
to the top