Binary compatibility report for the LASzip library between 1.2.0 and 2.0.0 versions on x86
Test Info
Library Name | LASzip |
Version #1 | 1.2.0 |
Version #2 | 2.0.0 |
CPU Type | x86 |
GCC Version | 4.6.1 |
Test Results
Total Header Files | 4 |
Total Shared Libraries | 1 |
Total Symbols / Types | 27 / 28 |
Verdict | Incompatible (92.6%) |
Problem Summary
| Severity | Count |
---|
Added Symbols | - | 24 |
Removed Symbols | High | 9 |
Problems with Data Types | High | 3 |
Medium | 8 |
Low | 4 |
Problems with Symbols | High | 4 |
Medium | 2 |
Low | 0 |
Problems with Constants | Low | 0 |
Added Symbols (24)
lasunzipper.hpp,
liblaszip.so.1.0.0
LASunzipper::get_error ( ) const
[symbol: _ZNK11LASunzipper9get_errorEv]
LASunzipper::open ( FILE* file, LASzip const* laszip )
[symbol: _ZN11LASunzipper4openEP8_IO_FILEPK6LASzip]
LASunzipper::open ( std::istream& stream, LASzip const* laszip )
[symbol: _ZN11LASunzipper4openERSiPK6LASzip]
LASunzipper::seek ( unsigned int const position )
[symbol: _ZN11LASunzipper4seekEj]
LASunzipper::tell ( ) const
[symbol: _ZNK11LASunzipper4tellEv]
laszip.hpp,
liblaszip.so.1.0.0
LASzip::check ( )
[symbol: _ZN6LASzip5checkEv]
LASzip::check_coder ( unsigned short const coder )
[symbol: _ZN6LASzip11check_coderEt]
LASzip::check_compressor ( unsigned short const compressor )
[symbol: _ZN6LASzip16check_compressorEt]
LASzip::check_item ( LASitem const* item )
[symbol: _ZN6LASzip10check_itemEPK7LASitem]
LASzip::check_items ( unsigned short const num_items, LASitem const* items )
[symbol: _ZN6LASzip11check_itemsEtPK7LASitem]
LASzip::get_error ( ) const
[symbol: _ZNK6LASzip9get_errorEv]
LASzip::is_standard ( unsigned char* point_type, unsigned short* record_length )
[symbol: _ZN6LASzip11is_standardEPhPt]
LASzip::is_standard ( unsigned short const num_items, LASitem const* items, unsigned char* point_type, unsigned short* record_length )
[symbol: _ZN6LASzip11is_standardEtPK7LASitemPhPt]
LASzip::pack ( unsigned char*& bytes, int& num )
[symbol: _ZN6LASzip4packERPhRi]
LASzip::request_version ( unsigned short const requested_version )
[symbol: _ZN6LASzip15request_versionEt]
LASzip::set_chunk_size ( unsigned int const chunk_size )
[symbol: _ZN6LASzip14set_chunk_sizeEj]
LASzip::setup ( unsigned char const point_type, unsigned short const point_size, unsigned short const compressor )
[symbol: _ZN6LASzip5setupEhtt]
LASzip::setup ( unsigned short const num_items, LASitem const* items, unsigned short const compressor )
[symbol: _ZN6LASzip5setupEtPK7LASitemt]
LASzip::setup ( unsigned short* num_items, LASitem** items, unsigned char const point_type, unsigned short const point_size, unsigned short const compressor )
[symbol: _ZN6LASzip5setupEPtPP7LASitemhtt]
LASzip::unpack ( unsigned char const* bytes, int const num )
[symbol: _ZN6LASzip6unpackEPKhi]
laszipper.hpp,
liblaszip.so.1.0.0
LASzipper::chunk ( )
[symbol: _ZN9LASzipper5chunkEv]
LASzipper::get_error ( ) const
[symbol: _ZNK9LASzipper9get_errorEv]
LASzipper::open ( FILE* outfile, LASzip const* laszip )
[symbol: _ZN9LASzipper4openEP8_IO_FILEPK6LASzip]
LASzipper::open ( std::ostream& outstream, LASzip const* laszip )
[symbol: _ZN9LASzipper4openERSoPK6LASzip]
to the top
Removed Symbols (9)
lasunzipper.hpp,
liblaszip.so.1.0.0
LASunzipper::open ( FILE* file, unsigned int num_items, LASitem const* items, enum LASzip::Algorithm algorithm )
[symbol: _ZN11LASunzipper4openEP8_IO_FILEjPK7LASitemN6LASzip9AlgorithmE]
LASunzipper::open ( std::istream& stream, unsigned int num_items, LASitem const* items, enum LASzip::Algorithm algorithm )
[symbol: _ZN11LASunzipper4openERSijPK7LASitemN6LASzip9AlgorithmE]
laszip.hpp,
liblaszip.so.1.0.0
LASitem::set ( enum LASitem::Type t, unsigned short number )
[symbol: _ZN7LASitem3setENS_4TypeEt]
LASitem::supported ( ) const
[symbol: _ZNK7LASitem9supportedEv]
LASitem::supported_size ( ) const
[symbol: _ZNK7LASitem14supported_sizeEv]
LASitem::supported_type ( ) const
[symbol: _ZNK7LASitem14supported_typeEv]
LASitem::supported_version ( ) const
[symbol: _ZNK7LASitem17supported_versionEv]
laszipper.hpp,
liblaszip.so.1.0.0
LASzipper::open ( FILE* outfile, unsigned int num_items, LASitem* items, enum LASzip::Algorithm algorithm )
[symbol: _ZN9LASzipper4openEP8_IO_FILEjP7LASitemN6LASzip9AlgorithmE]
LASzipper::open ( std::ostream& outstream, unsigned int num_items, LASitem* items, enum LASzip::Algorithm algorithm )
[symbol: _ZN9LASzipper4openERSojP7LASitemN6LASzip9AlgorithmE]
to the top
Problems with Data Types, High Severity (3)
lasunzipper.hpp
[+] class LASunzipper (1)
| Change |
Effect |
1 | Size of this class has been increased from 12 bytes to 16 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 (4)
LASunzipper::close ( )This method is from 'LASunzipper' class.
LASunzipper::LASunzipper [in-charge] ( )This constructor is from 'LASunzipper' class.
LASunzipper::read ( unsigned char*const* point )This method is from 'LASunzipper' class.
LASunzipper::~LASunzipper [in-charge] ( )This method is from 'LASunzipper' class.
laszip.hpp
[+] class LASzip (1)
| Change |
Effect |
1 | Size of this class has been increased from 40 bytes to 48 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)
LASzip::LASzip [in-charge] ( )This constructor is from 'LASzip' class.
LASzip::~LASzip [in-charge] ( )This method is from 'LASzip' class.
laszipper.hpp
[+] class LASzipper (1)
| Change |
Effect |
1 | Size of this class has been increased from 12 bytes to 16 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 (4)
LASzipper::close ( )This method is from 'LASzipper' class.
LASzipper::LASzipper [in-charge] ( )This constructor is from 'LASzipper' class.
LASzipper::write ( unsigned char const*const* point )This method is from 'LASzipper' class.
LASzipper::~LASzipper [in-charge] ( )This method is from 'LASzipper' class.
to the top
Problems with Symbols, High Severity (4)
lasunzipper.hpp,
liblaszip.so.1.0.0
[+] LASunzipper::open ( FILE* file, unsigned int num_items, LASitem const* items, enum LASzip::Algorithm algorithm ) (1)
changed to:LASunzipper::open ( FILE* file, LASzip const* laszip )
[symbol: _ZN11LASunzipper4openEP8_IO_FILEjPK7LASitemN6LASzip9AlgorithmE]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN11LASunzipper4openEP8_IO_FILEjPK7LASitemN6LASzip9AlgorithmE to _ZN11LASunzipper4openEP8_IO_FILEPK6LASzip. This may cause "undefined reference" linker error in old client applications. |
[+] LASunzipper::open ( std::istream& stream, unsigned int num_items, LASitem const* items, enum LASzip::Algorithm algorithm ) (1)
changed to:LASunzipper::open ( FILE* file, LASzip const* laszip )
[symbol: _ZN11LASunzipper4openERSijPK7LASitemN6LASzip9AlgorithmE]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN11LASunzipper4openERSijPK7LASitemN6LASzip9AlgorithmE to _ZN11LASunzipper4openEP8_IO_FILEPK6LASzip. This may cause "undefined reference" linker error in old client applications. |
laszipper.hpp,
liblaszip.so.1.0.0
[+] LASzipper::open ( FILE* outfile, unsigned int num_items, LASitem* items, enum LASzip::Algorithm algorithm ) (1)
changed to:LASzipper::open ( FILE* outfile, LASzip const* laszip )
[symbol: _ZN9LASzipper4openEP8_IO_FILEjP7LASitemN6LASzip9AlgorithmE]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN9LASzipper4openEP8_IO_FILEjP7LASitemN6LASzip9AlgorithmE to _ZN9LASzipper4openEP8_IO_FILEPK6LASzip. This may cause "undefined reference" linker error in old client applications. |
[+] LASzipper::open ( std::ostream& outstream, unsigned int num_items, LASitem* items, enum LASzip::Algorithm algorithm ) (1)
changed to:LASzipper::open ( FILE* outfile, LASzip const* laszip )
[symbol: _ZN9LASzipper4openERSojP7LASitemN6LASzip9AlgorithmE]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN9LASzipper4openERSojP7LASitemN6LASzip9AlgorithmE to _ZN9LASzipper4openEP8_IO_FILEPK6LASzip. This may cause "undefined reference" linker error in old client applications. |
to the top
Problems with Data Types, Medium Severity (8)
laszip.hpp
[+] class LASzip (8)
| Change |
Effect |
1 | Field chunk_size 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 | Field coder 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. |
3 | Field compressor 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. |
4 | Type of field num_items has been changed from unsigned int (4 bytes) to unsigned short (2 bytes). | This field may be incorrectly initialized or accessed by applications. |
5 | The relative position of field num_items has been changed from 5 to 7. | 1) Applications will access incorrect memory when attempting to access this field. 2) Size of the inclusive type has been changed. |
6 | The relative position of field num_points has been changed from 6 to 5. | 1) Applications will access incorrect memory when attempting to access this field. 2) Size of the inclusive type has been changed. |
7 | Field num_chunks has been removed from this type. | 1) Applications will access incorrect memory when attempting to access this field. 2) Size of the inclusive type has been changed. |
8 | The relative position of field num_bytes has been changed from 7 to 6. | Applications will access incorrect memory when attempting to access this field. |
[+] affected symbols (2)
LASzip::LASzip [in-charge] ( )This constructor is from 'LASzip' class.
LASzip::~LASzip [in-charge] ( )This method is from 'LASzip' class.
to the top
Problems with Symbols, Medium Severity (2)
lasunzipper.hpp,
liblaszip.so.1.0.0
[+] LASunzipper::close ( ) (1)
[symbol: _ZN11LASunzipper5closeEv]
| Change | Effect |
---|
1 | Type of return value has been changed from unsigned int (4 bytes) to bool (1 byte). | Applications will obtain a different return value and execution may change. |
laszipper.hpp,
liblaszip.so.1.0.0
[+] LASzipper::close ( ) (1)
[symbol: _ZN9LASzipper5closeEv]
| Change | Effect |
---|
1 | Type of return value has been changed from unsigned int (4 bytes) to bool (1 byte). | Applications will obtain a different return value and execution may change. |
to the top
Problems with Data Types, Low Severity (4)
lasunzipper.hpp
[+] class LASunzipper (1)
| Change |
Effect |
1 | Field error_string 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 (4)
LASunzipper::close ( )This method is from 'LASunzipper' class.
LASunzipper::LASunzipper [in-charge] ( )This constructor is from 'LASunzipper' class.
LASunzipper::read ( unsigned char*const* point )This method is from 'LASunzipper' class.
LASunzipper::~LASunzipper [in-charge] ( )This method is from 'LASunzipper' class.
laszip.hpp
[+] class LASzip (2)
| Change |
Effect |
1 | Field error_string 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 algorithm has been renamed to bytes. | Renaming of a field in data type may indicate a change in the semantic meaning of the field. |
[+] affected symbols (2)
LASzip::LASzip [in-charge] ( )This constructor is from 'LASzip' class.
LASzip::~LASzip [in-charge] ( )This method is from 'LASzip' class.
laszipper.hpp
[+] class LASzipper (1)
| Change |
Effect |
1 | Field error_string 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 (4)
LASzipper::close ( )This method is from 'LASzipper' class.
LASzipper::LASzipper [in-charge] ( )This constructor is from 'LASzipper' class.
LASzipper::write ( unsigned char const*const* point )This method is from 'LASzipper' class.
LASzipper::~LASzipper [in-charge] ( )This method is from 'LASzipper' class.
to the top
Header Files (4)
lasunzipper.hpp
laszip.hpp
laszipexport.hpp
laszipper.hpp
to the top
Shared Libraries (1)
liblaszip.so.1.0.0
to the top