Binary compatibility report for the ctpp2 library between 2.6.15 and 2.7.0 versions on x86
Test Info
Library Name | ctpp2 |
Version #1 | 2.6.15 |
Version #2 | 2.7.0 |
CPU Type | x86 |
GCC Version | 4.6.1 |
Test Results
Total Header Files | 61 |
Total Shared Libraries | 1 |
Total Symbols / Types | 791 / 373 |
Verdict | Incompatible (1%) |
Problem Summary
| Severity | Count |
---|
Added Symbols | - | 6 |
Removed Symbols | High | 2 |
Problems with Data Types | High | 1 |
Medium | 0 |
Low | 2 |
Problems with Symbols | High | 1 |
Medium | 0 |
Low | 0 |
Problems with Constants | Low | 1 |
Other Changes in Constants | - | 6 |
Added Symbols (6)
CDT.hpp,
libctpp2.so.2.7.0
namespace CTPP
CDT::Nonzero ( ) const
[symbol: _ZNK4CTPP3CDT7NonzeroEv]
CTPP2Compiler.hpp,
libctpp2.so.2.7.0
namespace CTPP
CTPP2Compiler::ClearPushComplexVariable ( VMDebugInfo const& oDebugInfo )
[symbol: _ZN4CTPP13CTPP2Compiler24ClearPushComplexVariableERKNS_11VMDebugInfoE]
CTPP2Compiler::IndirectArrayCall ( VMDebugInfo const& oDebugInfo )
[symbol: _ZN4CTPP13CTPP2Compiler17IndirectArrayCallERKNS_11VMDebugInfoE]
CTPP2Compiler::IndirectHashCall ( VMDebugInfo const& oDebugInfo )
[symbol: _ZN4CTPP13CTPP2Compiler16IndirectHashCallERKNS_11VMDebugInfoE]
CTPP2Compiler::PreparePushComplexVariable ( VMDebugInfo const& oDebugInfo )
[symbol: _ZN4CTPP13CTPP2Compiler26PreparePushComplexVariableERKNS_11VMDebugInfoE]
CTPP2Compiler::PushScopedVariable ( CCHAR_P szNS, UINT_32 const iNSLength, CCHAR_P szName, UINT_32 const iNameLength, CCHAR_P szFullVariable, UINT_32 const iFullVariableLength, VMDebugInfo const& oDebugInfo, bool bNoPushVariable )
[symbol: _ZN4CTPP13CTPP2Compiler18PushScopedVariableEPKcjS2_jS2_jRKNS_11VMDebugInfoEb]
to the top
Removed Symbols (2)
CDT.hpp,
libctpp2.so.2.6.15
namespace CTPP
CDT::Defined ( ) const
[symbol: _ZNK4CTPP3CDT7DefinedEv]
CTPP2Compiler.hpp,
libctpp2.so.2.6.15
namespace CTPP
CTPP2Compiler::PushScopedVariable ( CCHAR_P szNS, UINT_32 const iNSLength, CCHAR_P szName, UINT_32 const iNameLength, CCHAR_P szFullVariable, UINT_32 const iFullVariableLength, VMDebugInfo const& oDebugInfo )
[symbol: _ZN4CTPP13CTPP2Compiler18PushScopedVariableEPKcjS2_jS2_jRKNS_11VMDebugInfoE]
to the top
Problems with Data Types, High Severity (1)
CTPP2Parser.hpp
namespace CTPP
[+] class CTPP2Parser (1)
| Change |
Effect |
1 | Size of this class has been increased from 88 bytes to 92 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 (4)
CTPP2Parser::Compile ( UINT_32 const& iHalt )This method is from 'CTPP2Parser' class.
CTPP2Parser::CTPP2Parser [in-charge] ( CTPP2SourceLoader* pISourceLoader, CTPP2Compiler* pICTPP2Compiler, std::string const& sISourceName, bool const& bIInForeach, INT_32 const iIRecursionLevel )This constructor is from 'CTPP2Parser' class.
CTPP2Parser::SetParamMap ( CTPP2Parser::IncludeMapType const& oIParamTranslationMap )This method is from 'CTPP2Parser' class.
CTPP2Parser::~CTPP2Parser [in-charge] ( )This method is from 'CTPP2Parser' class.
to the top
Problems with Symbols, High Severity (1)
CTPP2Compiler.hpp,
libctpp2.so.2.6.15
namespace CTPP
[+] CTPP2Compiler::PushScopedVariable ( CCHAR_P szNS, UINT_32 const iNSLength, CCHAR_P szName, UINT_32 const iNameLength, CCHAR_P szFullVariable, UINT_32 const iFullVariableLength, VMDebugInfo const& oDebugInfo ) (1)
changed to:CTPP2Compiler::PushScopedVariable ( CCHAR_P szNS, UINT_32 const iNSLength, CCHAR_P szName, UINT_32 const iNameLength, CCHAR_P szFullVariable, UINT_32 const iFullVariableLength, VMDebugInfo const& oDebugInfo, bool bNoPushVariable )
[symbol: _ZN4CTPP13CTPP2Compiler18PushScopedVariableEPKcjS2_jS2_jRKNS_11VMDebugInfoE]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN4CTPP13CTPP2Compiler18PushScopedVariableEPKcjS2_jS2_jRKNS_11VMDebugInfoE to _ZN4CTPP13CTPP2Compiler18PushScopedVariableEPKcjS2_jS2_jRKNS_11VMDebugInfoEb. This may cause "undefined reference" linker error in old client applications. |
to the top
Problems with Data Types, Low Severity (2)
CTPP2Parser.hpp
namespace CTPP
[+] class CTPP2Parser (2)
| Change |
Effect |
1 | Field bInsideComplexVariable 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 bNoPushVariable 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)
CTPP2Parser::Compile ( UINT_32 const& iHalt )This method is from 'CTPP2Parser' class.
CTPP2Parser::CTPP2Parser [in-charge] ( CTPP2SourceLoader* pISourceLoader, CTPP2Compiler* pICTPP2Compiler, std::string const& sISourceName, bool const& bIInForeach, INT_32 const iIRecursionLevel )This constructor is from 'CTPP2Parser' class.
CTPP2Parser::SetParamMap ( CTPP2Parser::IncludeMapType const& oIParamTranslationMap )This method is from 'CTPP2Parser' class.
CTPP2Parser::~CTPP2Parser [in-charge] ( )This method is from 'CTPP2Parser' class.
to the top
Problems with Constants, Low Severity (1)
CTPP2VMOpcodes.h
[+] MOVIREG
| Change | Effect |
---|
1 | The constant MOVIREG with value 0x04070000 has been removed. | The value of this constant may no longer be properly handled by new-version library functions. |
to the top
Other Changes in Constants (6)
CTPP2VMOpcodes.h
[+] DEFINED
| Change | Effect |
---|
1 | The constant DEFINED with value 0x08080000 has been added. | No effect. |
[+] MOVIREGI
| Change | Effect |
---|
1 | The constant MOVIREGI with value 0x04070000 has been added. | No effect. |
[+] MOVIREGS
| Change | Effect |
---|
1 | The constant MOVIREGS with value 0x04080000 has been added. | No effect. |
[+] REPLINT
| Change | Effect |
---|
1 | The constant REPLINT with value 0x08050000 has been added. | No effect. |
[+] REPLSTR
| Change | Effect |
---|
1 | The constant REPLSTR with value 0x08060000 has been added. | No effect. |
[+] XCHG
| Change | Effect |
---|
1 | The constant XCHG with value 0x08070000 has been added. | No effect. |
to the top
Header Files (61)
CDT.hpp
CDTSortRoutines.hpp
CTPP2BitIndex.hpp
CTPP2CharIterator.hpp
CTPP2Compiler.hpp
CTPP2DTOA.hpp
CTPP2Error.hpp
CTPP2ErrorCodes.h
CTPP2Exception.hpp
CTPP2FileLogger.hpp
CTPP2FileOutputCollector.hpp
CTPP2FileSourceLoader.hpp
CTPP2GlobalDefines.h
CTPP2HashTable.hpp
CTPP2JSONFileParser.hpp
CTPP2JSONParser.hpp
CTPP2Logger.hpp
CTPP2OutputCollector.hpp
CTPP2Parser.hpp
CTPP2ParserException.hpp
CTPP2SimpleCompiler.hpp
CTPP2SimpleVM.hpp
CTPP2SourceLoader.hpp
CTPP2Sprintf.hpp
CTPP2StaticData.hpp
CTPP2StaticText.hpp
CTPP2StreamOutputCollector.hpp
CTPP2StringBuffer.hpp
CTPP2StringIconvOutputCollector.hpp
CTPP2StringOutputCollector.hpp
CTPP2SymbolTable.hpp
CTPP2Syntax.h
CTPP2SyscallFactory.hpp
CTPP2SysHeaders.h
CTPP2SysTypes.h
CTPP2Types.h
CTPP2Util.hpp
CTPP2VM.hpp
CTPP2VMArgStack.hpp
CTPP2VMCodeStack.hpp
CTPP2VMDebugInfo.hpp
CTPP2VMDumper.hpp
CTPP2VMException.hpp
CTPP2VMExecutable.hpp
CTPP2VMFileLoader.hpp
CTPP2VMInstruction.hpp
CTPP2VMLoader.hpp
CTPP2VMMemoryCore.hpp
CTPP2VMOpcodeCollector.hpp
CTPP2VMOpcodes.h
CTPP2VMStackException.hpp
CTPP2VMSTDLib.hpp
CTPP2VMSyscall.hpp
STLException.hpp
STLFunctional.hpp
STLIosfwd.hpp
STLMap.hpp
STLOstream.hpp
STLPair.hpp
STLString.hpp
STLVector.hpp
to the top
Shared Libraries (1)
libctpp2.so.2.6.15
to the top