Test Info
| Module Name | libjack |
| Version #1 | 1.9.10 |
| Version #2 | 1.9.16 |
| Arch | x86_64 |
| Subject | Binary Compatibility |
Test Results
| Total Header Files | 41 |
| Total Source Files | 4 |
| Total Objects | 1 |
| Total Symbols / Types | 172 / 107 |
| Compatibility |
99.7% |
Problem Summary
| Severity | Count |
|---|
| Added Symbols | - | 5 |
| Removed Symbols | High | 0 |
Problems with Data Types | High | 0 |
| Medium | 3 |
| Low | 7 |
Problems with Symbols | High | 0 |
| Medium | 0 |
| Low | 1 |
Problems with Constants | Low | 0 |
Added Symbols 5
JackAPI.cpp,
libjack.so.0.1.0
jack_port_rename ( jack_client_t* ext_client, jack_port_t* port, char const* name )
JackMetadata.cpp,
libjack.so.0.1.0
JACK_METADATA_EVENT_TYPES [data]
JACK_METADATA_ICON_NAME [data]
JACK_METADATA_ORDER [data]
JACK_METADATA_SIGNAL_TYPE [data]
to the top
Problems with Data Types, Medium Severity 3
JackLibGlobals.h
namespace Jack
[+] struct JackLibGlobals 2
|
Change |
Effect |
| 1 |
Field fMetadata has been added at the middle position of this structural type. |
1) Size of the inclusive type has been changed. 2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications. |
| 2 |
Size of field fGraphManager has been changed from 14 bytes to 15 bytes. |
1) Size of the inclusive type has been changed. 2) Previous accesses of applications and library functions to this field may be broken. |
[+] affected symbols: 1 (0.6%)
JackLibGlobals::fGlobals [data]
Return value (pointer) has base type 'struct JackLibGlobals'.
JackPlatformPlug_os.h
namespace Jack
[+] typedef JackSynchro 1
|
Change |
Effect |
| 1 |
Base type has been changed from JackPosixSemaphore to JackLinuxFutex of different format. |
The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications. |
[+] affected symbols: 1 (0.6%)
JackLibGlobals::fGlobals [data]
Field 'retval.fSynchroTable' in the return value (pointer) has base type 'JackSynchro'.
to the top
Problems with Data Types, Low Severity 7
JackLibGlobals.h
namespace Jack
[+] struct JackLibGlobals 3
|
Change |
Effect |
| 1 |
Size of this type has been changed from 17568 bytes to 71848 bytes. |
The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications. |
| 2 |
Size of field fEngineControl has been changed from 14 bytes to 15 bytes. |
Previous accesses of applications and library functions to this field may be broken. |
| 3 |
Type of field fSynchroTable has been changed from JackSynchro[64] to JackSynchro[256]. |
Replacement of the field data type may indicate a change in the semantic meaning of the field. |
[+] affected symbols: 1 (0.6%)
JackLibGlobals::fGlobals [data]
Return value (pointer) has base type 'struct JackLibGlobals'.
JackPlatformPlug_os.h
namespace Jack
[+] typedef JackSynchro 1
|
Change |
Effect |
| 1 |
Size of this type has been changed from 17408 bytes to 71680 bytes. |
The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications. |
[+] affected symbols: 1 (0.6%)
JackLibGlobals::fGlobals [data]
Field 'retval.fSynchroTable' in the return value (pointer) has base type 'JackSynchro'.
JackShmMem.h
namespace Jack
[+] class JackShmReadWritePtr<JackEngineControl> 1
|
Change |
Effect |
| 1 |
Size of this type has been changed from 14 bytes to 15 bytes. |
The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications. |
[+] affected symbols: 1 (0.6%)
JackLibGlobals::fGlobals [data]
Field 'retval.fEngineControl' in the return value (pointer) is of type 'JackShmReadWritePtr<JackEngineControl>'.
[+] class JackShmReadWritePtr<JackGraphManager> 1
|
Change |
Effect |
| 1 |
Size of this type has been changed from 14 bytes to 15 bytes. |
The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications. |
[+] affected symbols: 1 (0.6%)
JackLibGlobals::fGlobals [data]
Field 'retval.fGraphManager' in the return value (pointer) is of type 'JackShmReadWritePtr<JackGraphManager>'.
types.h
[+] typedef JackPortRenameCallback 1
|
Change |
Effect |
| 1 |
Base type has been changed from int(*)(unsigned int, char const*, char const*, void*) to void(*)(unsigned int, char const*, char const*, void*). |
Replacement of the base data type may indicate a change in its semantic meaning. |
[+] affected symbols: 1 (0.6%)
jack_set_port_rename_callback ( jack_client_t* ext_client, int(*rename_callback)(unsigned int, char const*, char const*, void*), void* arg )
2nd parameter 'rename_callback' is of type 'JackPortRenameCallback'.
to the top
Problems with Symbols, Low Severity 1
JackAPI.cpp,
libjack.so.0.1.0
[+] jack_uuid_unparse ( jack_uuid_t p1, char* buf ) 1
⇣
jack_uuid_unparse ( jack_uuid_t u, char* b )
|
Change |
Effect |
| 1 |
2nd parameter buf has been renamed to b. |
Renaming of a parameter may indicate a change in its semantic meaning. |
to the top
Header Files 41
alloc_traits.h
allocator.h
basic_string.h
c++config.h
char_traits.h
JackActivationCount.h
JackAtomicArrayState.h
JackAtomicState.h
JackConnectionManager.h
JackEngineControl.h
JackFrameTimer.h
JackGraphManager.h
JackLibGlobals.h
JackMetadata.h
JackMidiPort.h
JackPlatformPlug_os.h
JackPort.h
JackPosixSemaphore.h
JackSession.h
JackShmMem.h
JackSynchro.h
JackTransportEngine.h
JackTypes.h
JackTypes_os.h
locale_facets.h
new_allocator.h
pthreadtypes.h
select.h
semaphore.h
shm.h
sigset.h
stddef.h
stdint.h
stl_function.h
stl_iterator.h
stl_pair.h
stl_tree.h
stl_vector.h
systemdeps.h
types.h
vector.tcc
to the top
Source Files 4
JackAPI.cpp
JackLibAPI.cpp
JackMidiAPI.cpp
ringbuffer.c
to the top
Objects 1
libjack.so.0.1.0
to the top
Test Info
| Module Name | libjack |
| Version #1 | 1.9.10 |
| Version #2 | 1.9.16 |
| Arch | x86_64 |
| Subject | Source Compatibility |
Test Results
| Total Header Files | 41 |
| Total Source Files | 4 |
| Total Objects | 1 |
| Total Symbols / Types | 174 / 107 |
| Compatibility |
100% |
Problem Summary
| Severity | Count |
|---|
| Added Symbols | - | 6 |
| Removed Symbols | High | 0 |
Problems with Data Types | High | 0 |
| Medium | 0 |
| Low | 4 |
Problems with Symbols | High | 0 |
| Medium | 0 |
| Low | 0 |
Problems with Constants | Low | 0 |
Other Changes in Symbols | - | 1 |
Added Symbols 6
JackAPI.cpp
jack_port_rename ( jack_client_t* ext_client, jack_port_t* port, char const* name )
JackLibAPI.cpp
jack_get_all_properties ( jack_description_t** descriptions )
JackMetadata.cpp
JACK_METADATA_EVENT_TYPES [data]
JACK_METADATA_ICON_NAME [data]
JACK_METADATA_ORDER [data]
JACK_METADATA_SIGNAL_TYPE [data]
to the top
Problems with Data Types, Low Severity 4
JackLibGlobals.h
namespace Jack
[+] struct JackLibGlobals 2
|
Change |
Effect |
| 1 |
Field fMetadata has been added to this type. |
This field will not be initialized or used by old client applications. |
| 2 |
Type of field fSynchroTable has been changed from JackSynchro[64] to JackSynchro[256]. |
Recompilation of a client program may be broken. |
[+] affected symbols: 1 (0.6%)
JackLibGlobals::fGlobals [data]
Return value (pointer) has base type 'struct JackLibGlobals'.
JackPlatformPlug_os.h
namespace Jack
[+] typedef JackSynchro 1
|
Change |
Effect |
| 1 |
Base type has been changed from JackPosixSemaphore to JackLinuxFutex of different format. |
Recompilation of a client program may be broken. |
[+] affected symbols: 1 (0.6%)
JackLibGlobals::fGlobals [data]
Field 'retval.fSynchroTable' in the return value (pointer) has base type 'JackSynchro'.
types.h
[+] typedef JackPortRenameCallback 1
|
Change |
Effect |
| 1 |
Base type has been changed from int(*)(unsigned int, char const*, char const*, void*) to void(*)(unsigned int, char const*, char const*, void*). |
Recompilation of a client program may be broken. |
[+] affected symbols: 1 (0.6%)
jack_set_port_rename_callback ( jack_client_t* ext_client, int(*rename_callback)(unsigned int, char const*, char const*, void*), void* arg )
2nd parameter 'rename_callback' is of type 'JackPortRenameCallback'.
to the top
Other Changes in Symbols 1
JackAPI.cpp
[+] jack_uuid_unparse ( jack_uuid_t p1, char* buf ) 1
⇣
jack_uuid_unparse ( jack_uuid_t u, char* b )
|
Change |
Effect |
| 1 |
2nd parameter buf has been renamed to b. |
No effect. |
to the top
Header Files 41
alloc_traits.h
allocator.h
basic_string.h
c++config.h
char_traits.h
JackActivationCount.h
JackAtomicArrayState.h
JackAtomicState.h
JackConnectionManager.h
JackEngineControl.h
JackFrameTimer.h
JackGraphManager.h
JackLibGlobals.h
JackMetadata.h
JackMidiPort.h
JackPlatformPlug_os.h
JackPort.h
JackPosixSemaphore.h
JackSession.h
JackShmMem.h
JackSynchro.h
JackTransportEngine.h
JackTypes.h
JackTypes_os.h
locale_facets.h
new_allocator.h
pthreadtypes.h
select.h
semaphore.h
shm.h
sigset.h
stddef.h
stdint.h
stl_function.h
stl_iterator.h
stl_pair.h
stl_tree.h
stl_vector.h
systemdeps.h
types.h
vector.tcc
to the top
Source Files 4
JackAPI.cpp
JackLibAPI.cpp
JackMidiAPI.cpp
ringbuffer.c
to the top
Objects 1
libjack.so.0.1.0
to the top