Binary compatibility report for the Dyninst library  between 7.99 and 7.99.2 versions on x86

Test Info


Library NameDyninst
Version #17.99
Version #27.99.2
CPU Typex86
GCC Version4.6.1

Test Results


Total Header Files122
Total Shared Libraries10
Total Symbols / Types4722 / 1784
VerdictIncompatible
(7%)

Problem Summary


SeverityCount
Added Symbols-72
Removed SymbolsHigh12
Problems with
Data Types
High13
Medium60
Low27
Problems with
Symbols
High3
Medium3
Low0
Problems with
Constants
Low0
Other Changes
in Data Types
-97

Added Symbols (72)


CFG.h, libparseAPI.so.8.0
namespace Dyninst::ParseAPI
Function::blocks ( ) const

CFGModifier.h, libparseAPI.so.8.0
namespace Dyninst::ParseAPI
CFGModifier::makeEntry Block* p1 ) [static]

dyn_regs.h, libcommon.so.8.0
namespace Dyninst
CFA [data]

Function.h, libsymtabAPI.so.8.0
namespace Dyninst::SymtabAPI
Function::getFramePtrRefForInit ( )

Module.h, libsymtabAPI.so.8.0
namespace Dyninst::SymtabAPI
Module::findSymbol ( std::vector<Symbol*>& ret, std::string const& name, enum Symbol::SymbolType sType, enum NameType nameType, bool isRegex, bool checkCase, bool includeUndefined )

PatchObject.h, libpatchAPI.so.8.0
namespace Dyninst::PatchAPI
PatchObject::addrMask ( ) const
PatchObject::codeOffsetToAddr Dyninst::Address offset ) const

PCProcess.h, libpcontrol.so.8.0
namespace Dyninst::ProcControlAPI
Library::isSharedLib ( ) const
Process::getSymbolReader ( ) const
Process::setDefaultSymbolReader Dyninst::SymbolReaderFactory* reader ) [static]
Process::setSymbolReader Dyninst::SymbolReaderFactory* reader ) const

PlatFeatures.h, libpcontrol.so.8.0
namespace Dyninst::ProcControlAPI
MultiToolControl::default_tool_name [data]
MultiToolControl::default_tool_priority [data]
MultiToolControl::getDefaultToolName ( ) [static]
MultiToolControl::getDefaultToolPriority ( ) [static]
MultiToolControl::getToolName ( ) const
MultiToolControl::getToolPriority ( ) const
MultiToolControl::MultiToolControl [in-charge] Process::ptr p )
MultiToolControl::MultiToolControl [not-in-charge] Process::ptr p )
MultiToolControl::setDefaultToolName std::string name ) [static]
MultiToolControl::setDefaultToolPriority MultiToolControl::priority_t p ) [static]
MultiToolControl::~MultiToolControl [in-charge] ( )
MultiToolControl::~MultiToolControl [not-in-charge] ( )

SymLiteCodeSource.h, libparseAPI.so.8.0
namespace Dyninst::ParseAPI
SymReaderCodeRegion::findCatchBlock ( Dyninst::Address addr, Dyninst::Address& catchStart )
SymReaderCodeRegion::getAddressWidth ( ) const
SymReaderCodeRegion::getArch ( ) const
SymReaderCodeRegion::getPtrToData Dyninst::Address const p1 ) const
SymReaderCodeRegion::getPtrToInstruction Dyninst::Address const p1 ) const
SymReaderCodeRegion::high ( ) const
SymReaderCodeRegion::isCode Dyninst::Address const p1 ) const
SymReaderCodeRegion::isData Dyninst::Address const p1 ) const
SymReaderCodeRegion::isValidAddress Dyninst::Address const p1 ) const
SymReaderCodeRegion::length ( ) const
SymReaderCodeRegion::low ( ) const
SymReaderCodeRegion::names ( Dyninst::Address p1, std::vector<std::string>& p2 )
SymReaderCodeRegion::offset ( ) const
SymReaderCodeRegion::SymReaderCodeRegion [in-charge] ( Dyninst::SymReader* p1, struct Dyninst::SymRegion* p2 )
SymReaderCodeRegion::SymReaderCodeRegion [not-in-charge] ( Dyninst::SymReader* p1, struct Dyninst::SymRegion* p2 )
SymReaderCodeRegion::~SymReaderCodeRegion [in-charge-deleting] ( )
SymReaderCodeRegion::~SymReaderCodeRegion [in-charge] ( )
SymReaderCodeRegion::~SymReaderCodeRegion [not-in-charge] ( )
SymReaderCodeSource::addCounter ( std::string name, int num ) const
SymReaderCodeSource::addNonReturning std::string func_name ) [static]
SymReaderCodeSource::decrementCounter std::string name ) const
SymReaderCodeSource::getAddressWidth ( ) const
SymReaderCodeSource::getArch ( ) const
SymReaderCodeSource::getPtrToData Dyninst::Address const p1 ) const
SymReaderCodeSource::getPtrToInstruction Dyninst::Address const p1 ) const
SymReaderCodeSource::have_stats ( ) const
SymReaderCodeSource::incrementCounter std::string name ) const
SymReaderCodeSource::isCode Dyninst::Address const p1 ) const
SymReaderCodeSource::isData Dyninst::Address const p1 ) const
SymReaderCodeSource::isValidAddress Dyninst::Address const p1 ) const
SymReaderCodeSource::length ( ) const
SymReaderCodeSource::nonReturning Dyninst::Address func_entry )
SymReaderCodeSource::nonReturning std::string func_name )
SymReaderCodeSource::offset ( ) const
SymReaderCodeSource::print_stats ( ) const
SymReaderCodeSource::resizeRegion ( struct Dyninst::SymRegion* p1, Dyninst::Address newDiskSize )
SymReaderCodeSource::SymReaderCodeSource [in-charge] char const* p1 )
SymReaderCodeSource::SymReaderCodeSource [in-charge] Dyninst::SymReader* p1 )
SymReaderCodeSource::SymReaderCodeSource [not-in-charge] char const* p1 )
SymReaderCodeSource::SymReaderCodeSource [not-in-charge] Dyninst::SymReader* p1 )
SymReaderCodeSource::~SymReaderCodeSource [in-charge-deleting] ( )
SymReaderCodeSource::~SymReaderCodeSource [in-charge] ( )
SymReaderCodeSource::~SymReaderCodeSource [not-in-charge] ( )

SymReader.h, libparseAPI.so.8.0
getSymReaderFactory ( )

SymReader.h, libsymtabAPI.so.8.0
namespace Dyninst
SymReader::getFD ( )

Symtab.h, libsymtabAPI.so.8.0
namespace Dyninst::SymtabAPI
relocationEntry::getGlobalRelType ( unsigned int addressWidth, Symbol* sym ) [static]
Symtab::debugDwarf ( )
Symtab::getTOCoffset Dyninst::Offset off ) const
Symtab::getTOCoffset Function* func ) const

to the top

Removed Symbols (12)


CFG.h, libparseAPI.so.8.0
namespace Dyninst::ParseAPI
Edge::src ( ) const
Edge::trg ( ) const

Module.h, libsymtabAPI.so.8.0
namespace Dyninst::SymtabAPI
Module::findSymbolByType ( std::vector<Symbol*>& ret, std::string const& name, enum Symbol::SymbolType sType, bool isMangled, bool isRegex, bool checkCase )
Module::findSymbolByType ( std::vector<Symbol*>& ret, std::string const& name, enum Symbol::SymbolType sType, enum NameType nameType, bool isRegex, bool checkCase )

Region.h, libsymtabAPI.so.8.0
namespace Dyninst::SymtabAPI
Region::getRegionAddr ( ) const

Symbol.h, libsymtabAPI.so.8.0
namespace Dyninst::SymtabAPI
Symbol::getModuleName ( ) const

Symtab.h, libsymtabAPI.so.8.0
namespace Dyninst::SymtabAPI
relocationEntry::getGlobalRelType unsigned int addressWidth ) [static]
relocationEntry::operator = relocationEntry const& ra )
Symtab::findFuncByEntryOffset ( std::vector<Symbol*>& ret, Dyninst::Offset const offset )
Symtab::findSymbolByType ( std::vector<Symbol*>& ret, std::string const& name, enum Symbol::SymbolType sType, bool isMangled, bool isRegex, bool checkCase )
Symtab::getTOCoffset ( ) const

VariableLocation.h, libcommon.so.8.0
namespace Dyninst
VariableLocation::operator == VariableLocation const& p1 )

to the top

Problems with Data Types, High Severity (13)


CFG.h
namespace ParseAPI
[+] class EdgePredicate (1)
[+] class Interproc (1)
[+] class Intraproc (1)
[+] class SingleContext (1)
[+] class SingleContextOrInterproc (1)

Function.h
namespace SymtabAPI
[+] class Function (1)

Module.h
namespace SymtabAPI
[+] class Module (1)

Region.h
namespace SymtabAPI
[+] class Region (1)

SymReader.h
namespace Dyninst
[+] class SymReader (1)

Symtab.h
namespace SymtabAPI
[+] class relocationEntry (1)

Variable.h
namespace SymtabAPI
[+] class localVar (1)

VariableLocation.h
namespace Dyninst
[+] class VariableLocation (2)

to the top

Problems with Symbols, High Severity (3)


PCProcess.h, libpcontrol.so.8.0
namespace Dyninst::ProcControlAPI
[+] Process::getDefaultSymbolReader ( ) (1)

Symtab.h, libsymtabAPI.so.8.0
namespace Dyninst::SymtabAPI
[+] relocationEntry::getGlobalRelType unsigned int addressWidth ) [static] (1)
[+] Symtab::getTOCoffset ( ) const (1)

to the top

Problems with Data Types, Medium Severity (60)


CFG.h
namespace ParseAPI
[+] class Edge (1)
[+] class EdgePredicate (1)
[+] enum FuncSource (1)

entryIDs.h
[+] enum entryID (49)

InstructionCategories.h
namespace InstructionAPI
[+] enum InsnCategory (1)

Symbol.h
namespace SymtabAPI
[+] class LookupInterface (1)

Symtab.h
namespace SymtabAPI
[+] class Symtab (1)

VariableLocation.h
namespace Dyninst
[+] enum storageClass (3)
[+] enum storageRefClass (2)

to the top

Problems with Symbols, Medium Severity (3)


CFG.h, libparseAPI.so.8.0
namespace Dyninst::ParseAPI
[+] Function::callEdges ( ) (1)
[+] Function::exitBlocks ( ) (1)
[+] Function::returnBlocks ( ) (1)

to the top

Problems with Data Types, Low Severity (27)


CFG.h
namespace Dyninst::ParseAPI
[+] class Block (4)
[+] class EdgePredicate (1)
[+] class Function (7)
[+] class NoSinkPredicate (1)
[+] typedef Function::blocklist (2)
[+] typedef Function::edgelist (2)

CodeObject.h
namespace Dyninst::ParseAPI
[+] class CodeObject (1)

entryIDs.h
[+] enum entryID (1)

Function.h
namespace Dyninst::SymtabAPI
[+] class Function (3)

Region.h
namespace Dyninst::SymtabAPI
[+] class Region (1)

Symtab.h
namespace Dyninst::SymtabAPI
[+] class relocationEntry (1)
[+] class Symtab (2)

Variable.h
namespace Dyninst::SymtabAPI
[+] class localVar (1)

to the top

Other Changes in Data Types (97)


CFG.h
namespace ParseAPI
[+] enum FuncSource (1)

entryIDs.h
[+] enum entryID (93)

InstructionCategories.h
namespace InstructionAPI
[+] enum InsnCategory (1)

VariableLocation.h
namespace Dyninst
[+] enum storageClass (1)
[+] enum storageRefClass (1)

to the top

Header Files (122)


ABI.h
Absloc.h
AbslocInterface.h
AddrLookup.h
AddrSpace.h
Aggregate.h
Annotatable.h
Archive.h
basetypes.h
BinaryFunction.h
bitArray.h
BPatch.h
BPatch_addressSpace.h
BPatch_basicBlock.h
BPatch_basicBlockLoop.h
BPatch_binaryEdit.h
BPatch_callbacks.h
BPatch_dll.h
BPatch_edge.h
BPatch_enums.h
BPatch_eventLock.h
BPatch_flowGraph.h
BPatch_frame.h
BPatch_function.h
BPatch_image.h
BPatch_instruction.h
BPatch_loopTreeNode.h
BPatch_memoryAccess_NP.h
BPatch_module.h
BPatch_object.h
BPatch_parRegion.h
BPatch_point.h
BPatch_process.h
BPatch_Set.h
BPatch_snippet.h
BPatch_sourceBlock.h
BPatch_sourceObj.h
BPatch_statement.h
BPatch_thread.h
BPatch_type.h
BPatch_Vector.h
Buffer.h
CFG.h
CFGFactory.h
CFGMaker.h
CFGModifier.h
CodeObject.h
CodeSource.h
Collections.h
Command.h
Decoder.h
Dereference.h
DynAST.h
dynC.h
dyntypes.h
Edge.h
entryIDs.h
Event.h
EventType.h
Expression.h
frame.h
framestepper.h
Function.h
Graph.h
Handler.h
IBSTree.h
Immediate.h
Instruction.h
InstructionAST.h
InstructionCache.h
InstructionCategories.h
InstructionDecoder.h
InstructionSource.h
Instrumenter.h
LineInformation.h
liveness.h
Location.h
Mailbox.h
Module.h
Node.h
Operand.h
Operation.h
ParseContainers.h
PatchCallback.h
PatchCFG.h
PatchCommon.h
PatchMgr.h
PatchModifier.h
PatchObject.h
PCErrors.h
PCProcess.h
PlatFeatures.h
Point.h
ProcessSet.h
ProcReader.h
procstate.h
RangeLookup.h
Region.h
Register.h
RegisterIDs.h
Result.h
Serialization.h
slicing.h
Snippet.h
snippetGen.h
steppergroup.h
stl_utils.h
sw_c.h
swk_errors.h
Symbol.h
SymEval.h
symlookup.h
SymReader.h
Symtab.h
SymtabReader.h
symutil.h
Type.h
util.h
Variable.h
VariableLocation.h
Visitor.h
walker.h

to the top

Shared Libraries (10)


libcommon.so.8.0
libdynC_API.so.8.0
libdyninstAPI.so.8.0
libdyninstAPI_RT.so.8.0
libinstructionAPI.so.8.0
libparseAPI.so.8.0
libpatchAPI.so.8.0
libpcontrol.so.8.0
libstackwalk.so.8.0
libsymtabAPI.so.8.0

to the top




Generated on Thu Jan 31 19:17:13 2013 for Dyninst by ABI Compliance Checker 1.98.8  
A tool for checking backward compatibility of a C/C++ library API