Skip to content

Latest commit

 

History

History
1160 lines (1012 loc) · 102 KB

CHANGELOG.md

File metadata and controls

1160 lines (1012 loc) · 102 KB

Change Log

12.2.0 (2022-07-28)

Full Changelog

  • Add exec entry point to parse hints is missing
  • fix races with parallel analysis of cubins (1284)
  • Docker: make build.sh verbose, fix file copy bug in Dockerfile.test (1273)
  • Remove endian CMake check (1270)
  • Update and enforce formatting of CMake files (1267)
  • Fix bug in processing library paths in FindLibIberty.cmake (1266)
  • Fix decoding of DWARF expressions into machine registers for Intel GPUs (1262)
  • Docker: don't use autamus cache (1259)
  • Remove unused build options (1253)
  • Fix dyninstAPI_RT files to build with older glibc (1252)
  • Redo finalization to get correct function boundiaries when (1249)
  • Fix format string errors in stackwalk/callchecker.C (1250)
  • Make dyninstAPI_RT files build with standard C (1246)
  • Add cmake options for C/C++ language standards (1246)
  • Use bfd linker for LTO (1248)
  • Cleanup (remove) ancient linux kernel support (1241)
  • remove unused files containing pragmas (1240)
  • Remove unneeded #pragma's (1240)
  • Add compiler warning related cmake options (1239)
  • Add cmake option to disable diagnostic suppressions (1239)
  • Fix frame-larger-than warning (1239)
  • Remove MSC compiler warning suppressions (1239)
  • Improve compiler diagnostic suppression handling (1239)
  • Remove unused git files (1244)
  • Docker: make compile warnings fatal (1242)
  • Docker: use external-tests instead of testsuite in base image (1209)
  • Docker: don't build Dyninst through spack for the environment (1222)
  • Docker: use more OS packages for dependencies (1221)
  • Remove void pointer arithmetic when using Valgrind annotations (1236)
  • Add parsing of names for inlined functions in DWARF (1237)
  • Remove BUILD_RT option (1238)
  • Fix warnings with cmake's MINSIZEREL build type (1235)
  • Correctly propagate pc ranges for blocks and local variables (1226)
  • Docker: testing workflow to run libabigail (1220)
  • Remove usage of DW_AT_MIPS_linkage_name (1223)
  • Docker: adding a workflow for release (1219)
  • Merge pull request #1217 from dyninst/thaines/docker_base_container_defaults
  • Update dependency versions in base container config

12.1.0 (2022-03-09)

Full Changelog

  • Correctly handle DWARF subroutines during parallel parsing (1215)
  • Docker: simplify build script (1212)
  • Make a couple constant 64-bit ULL to avoid getting truncated during shifts (1207)
  • Docker: use more OS packages (1211)
  • Fix potential buffer overrun in AMDGPU decoders (1208)
  • Code clean up for AMDGPU (1205)
  • Tidy up classes in AMDGPU (1204)
  • Fix compiler warnings in amdgpu cdna2 code (1198)
  • Build fixes for amdgpu/cdna2 (1203)
  • Add Support for AMDGPU CDNA2 Architectures based on XML ISA spec (1107)
  • fix building of symlite (1197)
  • Additional cleanup of memory emulation for hybrid analysis (1172)
  • Allow zero-length ELF program headers (1192)
  • Remove dead code and variables related to Symtab::data_ptr_ and Symtab::code_ptr_ (1192)
  • Remove dead code Object::elf_vaddr_to_ptr (1192)
  • glibc r_debug extensions to support multiple namespaces (1175)
  • Symtab::module documentation cleanup (1189)
  • Dockerfile: use explicit packages for 'spack external find' (1195)
  • ParseAPI: Speed up the case where a function is called from many locations (1190)
  • ELF+DWARF: always parse first entry in source file table (1184)
  • Remove interposed definition of _r_debug (1176)
  • start of work to add automated testing to dyninst! (1183)
  • adding dyninst release trigger (1181)
  • fixing workflow trigger (1182)
  • Adding first stage of automated docker build (1180)
  • Remove erroneous use of realloc in symtabAPI/Type-mem.h (1170)
  • Clean up memoryTracker usage in binaryEdit (877)

12.0.1 (2021-11-23)

Full Changelog

Build Changes

  • Remove NVIDIA external line map configure check (1162)
  • Increase minimum elfutils version to 0.186 (1161)
  • Add conflict with CMake 3.19.0 (1153)

Enhancements

  • Refactor dwarfWalker::findConst (1160)
  • Add readable name for Symtab::typeRef (1157)
  • DwarfWalker: clean up interfaces for findDieName and findName (1154)
  • Added automated docker build for development and testing

12.0.0 (2021-11-11)

Full Changelog

GPU Support

  • Add CMake test to check if libdw supports NVIDIA extended line map
  • Adjust interface changes in elfutils regarding NVIDIA extended line map
  • Add compile-time checking to see if elfutils support nvidia extended line map when the user have specified ENABLE_NVIDIA_EXT_LINE_MAP
  • Fix compilation warning and add cmake option ENABLE_NVIDIA_EXT_LINE_MAP
    1. Handle unrelocated line map entries for CUBIN 2. Remove redundant addFunctionRange call to improve performance 3. Add some debug logging
  • Inline context from nvidia extended line map identifies an inlined call path
  • Start to construct inlining call chains using Nvidia's extended line map
  • cleaning up code for ingesting nvidia extended linemaps
  • first draft of support for nvidia enhanced line maps

Enhancements

  • Load callee's address when the callee and caller are in the same module (1056)
  • Give global annotation objects internal linkage and file scope
  • Summit fixes (1108)
  • Add x86 xsavec instruction (1074)
  • Convert TRAMP_*_OFFSET macros to functions (1073)
  • Add x86_64 xrstor instruction (1070)
  • Fix insertion operators in BPatch and Symtab (1069)
  • Add DWARF4 base type entry encodings to symtabAPI::typeScalar (1059)
  • Add xsave instruction (1055)
  • Cleanup orphaned code (1064)

ABI Breakages

  • Remove AddressSpace::causeTemplateInstantiations (1149)
  • Remove unregisterTrapMapping from PCProcess
  • Remove thread registration functions from PCProcess
  • Remove PCProcess::getDeadCode
  • Remove memory emulation (1146)
  • Remove unused generateSimple (1122)
  • Remove unused variables from Symtab
  • Remove special Fortran debug handling
  • Remove stabs from symbol demangling
  • Remove stabs from BPatch
  • Remove stabs from SymtabAPI
  • Remove Module::getAllVariables (1066)

Documentation

  • Improve docs for lookup functions in CodeObject (1147)
  • Update copyright to 2022 (1141)
  • Remove stabs from documentation (1120)

Build Changes

  • Remove ppc32 from builds (1145)
  • Unify meaning of 'cap_32_64' macro (1136)
  • Remove support for Cray CNL (1137)
  • Remove xlc macros (1132)
  • Remove common/src/language.h (1131)
  • Remove usage of arch_ppc and arch_ppc64 (1129)
  • Remove usage of x86_64_cnl (1130)
  • Remove DynC tests (1126)
  • Remove NO_INITIALIZER_LIST_SUPPORT (1125)
  • Turn on STERILE_BUILD by default (1118)
  • update minimum boost version to 1.70.0 (1117)
  • Remove boost_system linking (1112)
  • Enforce detection of libiberty (1099)
  • fix compiler warnings to work with clang (1092)
  • update optimization (-Og) and debug flags (-g3) (1084)
  • use the C11 standard for C code in Dyninst (1086)
  • Make Dyninst buildable with Clang (1021)
  • Remove valueAdded subdirectory completely (1065)
  • Remove valueAdded subdirectory (1063)

Bug Fixes

  • fix statement-like macros (1143)
  • Don't overflow aarch64 float register vector when setting used regs. (1127)
  • fix unused const variable warnings
  • fix pessimizing std::move warnings
  • fix xor operator used as power operator
  • fix misleading indentation warning
  • fix uninitialized this and variable warnings
  • fix float to double promotion warning
  • fix unused const variable warnings
  • Fix possible buffer overflow in BPatch::processCreate
  • Fix uninitialized variable use in DispatcherARM64::iproc_init
  • remove executable flag from .dyninst_heap section (1096)
  • fix broken cast of a char literal to pointer (1090)
  • fix possibly uninitialized variables (1082)
  • fix possible null 'this' pointer dereference (1082)
  • prevent maybe uninitialized warning (1082)
  • adjust large frame threshold for specific sources (1082)
  • fix deprecated implicit assignment operator (1082)
  • fix buffer overflow (1082)
  • fix duplicate branch condition by removing branch (1082)
  • fix out of bounds array access (1082)
  • fix potentially uninitialized variable warning (1082)
  • use unused variable to correct code (1082)
  • remove unused variables (1082)
  • make printf format and argument types match (1082)
  • fix broken bool expression that was always true (1082)
  • add missing initializer braces (1082)
  • make constructor public so class is usable (1082)
  • remove ';' after in-class method definitions (1082)
  • eliminate logical op warning (1082)
  • make implicit double promotions explicit (1082)
  • annotate malloc-like functions (1082)
  • make method noexcept, so noexcept expr can be true (1082)
  • add missing default to switch statement (1082)
  • fix int to void* cast if sizeof(int)<sizeof(void*) (1082)
  • eliminate conversion of NULL to non-pointer type (1082)
  • fix variable signedness (1082)
  • replace if stmt with identical branches with then stmt (1082)
  • fgetc returns an int not a char (1082)
  • do not discard volatile type qualifier in cast (1082)
  • add missing #include <assert.h> (1082)
  • fix unused vars/params/funcs on aarch64 (1082)
  • fix ambiguous type name warning (1082)
  • remove always true || sub-expression (1082)
  • fix possible sprintf buffer overflow (1082)
  • delete unnecessary ambiguous forward class decl (1082)
  • make destructor virtual if a virtual method exist (1082)
  • make printf format and argument signedness match (1082)
  • make printf format and argument types match (1082)
  • add compiler annotation to printf-like functions (1082)
  • fix var-tracking-assignments warnings (1082)
  • remove assert(this) as 'this' should never be null (1082)
  • remove obvious null pointer dereference (1082)
  • fix for C++20 removal of std::allocator methods (1082)
  • make cmp function object operator() a const func (1082)
  • make Boost and TBB include dirs be system includes (1082)
  • fix shadow variable warning, has other brokenness (1082)
  • fix duplicate branch warnings (1082)
  • eliminate switch case fall through warnings (1082)
  • explicit base class initialization in constructor (1082)
  • remove default argument from lambda (1082)
  • remove non-C++ compound literal (1082)
  • do not compile empty compilation units (1082)
  • fix deprecated implicit copy constructor if dtor (1082)
  • add missing copy assignment (1082)
  • fix illegal in C empty brace initialization (1082)
  • disable flexible array member warning in C++ (1082)
  • fix discard qualifiers: make char* -> const char* (1082)
  • fix non-standard use of __VA_ARGS__ (1082)
  • remove excess semicolons as reported by -pedantic (1082)
  • fix overflow warning for 0x90 assigned to a char (1082)
  • fix illegal function pointer to void* compare (1082)
  • remove use of GNU binary operator ?: (1082)
  • remove non-C++ variable length arrays (1082)
  • make printf format and argument types match (1082)
  • fix shadow identifier warnings (1082)
  • enable more warnings and test compiler support (1082)
  • miscellaneous compiler warning cleanups (1082)
  • eliminate switch case fall through warnings (1082)
  • add header with compiler annotation macros (1082)
  • add missing break statements (1082)
  • compute num array elements instead of fixed values (1082)
  • remove dynamic_ and dynamic() from fileDescriptor (1082)
  • remove emptyString static members (1082)
  • delete unnecessary .DS_Store file (1082)

11.0.1 (2021-06-14)

Full Changelog

Enhancements:

  • fix Position Independent Executable (PIE) handling (1042)

Bug Fixes:

  • Find function by address, not by entry (1047)
  • Fix implicit operand decoding of x86 instructions on non-x86 architectures (1044)
  • Fixing calling dwarf_getabbrevcode and refactoring debug logging in common (1037)
  • Search for 'version.h' when determining version for TBB (1041)
  • Fix data races and asserts discovered on Power (1038)
  • Remove the use of C++17's structured binding (1036)
  • Skip parsing of blocks whose code buffer is null (1033)
  • Remove debug printing that causes large output (1029)
  • Fix catch block parsing (1030)
  • Do not treat symbols in any text sections as data (.text, .init, or .fini) (1026)
  • Allow usage of SIGILL for signal trampolines (963)
  • Set -B and -S when configuring dyninstAPI_RT (1020)

11.0.0 (2021-04-08)

Full Changelog

Minimum Version Changes:

  • Bump minimum Boost version to 1.67 (993)
  • Require gcc >= 6.0 (932)
  • Add note about minimum elfutils version (912)
  • Require c++11 thread_local support (860)
  • Require standards-compliant c++11 ABI (882)

GPU Support:

  • Add support for instructions with largest opcode in each instruction family (1014)
  • Add Initial support for Analyzing Indirect Control Flow on Amdgpu Vega (979)
  • Fix unhandled enum values for Intel GPUs (955)
  • Fixing another bug related to amdgpu register names (948)
  • Fix a bug in MachRegister::name for AMD GPUs (928)
  • Add initial support for analyzing AMDGPU binaries (900)
  • Nvidia GPU slicing and support for opening Intel GPU binaries (865)
  • Add arch address for intel gen9 gpus (874)
  • Some necessary changes for overlapping text regions (855)

Enhancements:

  • Update copyrights to 2021 (1015)
  • Add a ParseAPI::Block constructor to allow external parsers to set correctly block end address (1011)
  • Clean up PLTFunction in dyninstAPI/Parse (1003)
  • add erase to 2 std::remove calls
  • Aggregate variable symbols based on offset and size (933)
  • make Symbol methods const (936)
  • Add direct tail call case for Point::getCallee (931)
  • Make assert expressions side effect free (927)
  • Improve single thread's backward slicing speed by 40% (917)
  • make symbol name demangling consistent (#872, #717)
  • Ensure data is copied in memoryTracker::realloc (886)
  • Include in CodeTracker.C (887)
  • clean up BoundFactCalculator constructor (884)
  • CodeSource destructor cleanup (883)
  • Fix memory leaks in BinaryEdit::openResolvedLibraryName (879)
  • Add lookup by name in block_instance::callee (875)
  • cleanup memoryTracker memory handling (876)
  • Provide correct default constructor for parse_func class (878)
  • Correctly destruct AddressSpace objects (871)
  • Update documentation for ParseAPI::CodeObject::CodeObject (870)
  • Remove include cycle in dyntypes.h (868)
  • Cleanup dyn_hash_{set,map} (861)
  • parseThat: remove autotools build files (858)
  • Replace BPatch_vector internal implementation with std::vector (844)
  • InstructionAPI docs: Update InsnCategory values returned from Instruction::getCategory (851)

Bug Fixes:

  • Remove assert in block_instance::callee(std::string const&) (999)
  • Fix breakage introduced by PR990 (997)
  • Fix non-deterministic inline function lookup when bad DWARF is generated for OpenMP outlined code (1012)
  • Fix wrong return value in DwarfHandle::init_dbg (939)
  • Fix memory leaks in emitElf (895)
  • SymElf: fix memory leak of cached demangled names
  • properly check for empty string in parseStabString
  • fix duplicate Windows demangle code
  • Fix PLT function call lookup (1001)
  • Fix undefined behavior in usage of std::transform (862)

DWARF Changes:

  • In DwarfWalker, start a new context dissociated from the current context (1013)
  • DWARF supplemental file and type parsing (1002)
  • Add debuginfod support (736)
  • Suppress parallelism in dwarf parsing when an alternative debug file is present (929)

Compiler Warning Cleanup:

  • Clean up "unused parameter" warnings on Aarch64 (1005)
  • Fix "unused parameter" warnings on PPC64 (1004)
  • Remove dead code from ia32_decode (989)
  • Clean up sign-compare warnings (991)
  • Add the default case in adhocMovementTransformer::isPCRelData to suppress compiler warning (995)
  • Clean up "unused variable" warnings (990)
  • Correctly declare Aggregate::operator<< (988)
  • Fix unhandled switch case in Region::regionType2Str (987)
  • Fix unused values (978)
  • Remove unused parameter 'b' from BoundFactsCalculator::Meet (983)
  • Fix string truncations in parseThat (982)
  • Use std::locale when writing a timeStamp to a stream (981)
  • Remove ignored cast qualifier in SnippetGenerator::findParameter (980)
  • Fix shifts of negative values (976)
  • Remove unused function 'InsertFrames' in parseAPI/Parser (977)
  • Fix deprecated usage of boost::bind (975)
  • Fix inclusion of boost deprecated headers (974)
  • Fix constructor member intializer list reordering (973)
  • Fix pointer arithmetic on 'void*' in codeGen::insert (972)
  • Remove usage of designated initializer in dwarfHandle.C (971)
  • Fix possibly uninitialized local variable in InstructionDecoder_aarch64 (970)
  • Fix ignored qualifiers on some C-style casts in Object-elf::read_val_of_type (969)
  • Fix C-string format specifier mismatch in Operand::getReadSet (968)
  • Fix several C-string truncations in parseThat (967)
  • Fix possible buffer overflow in parseThat::runHunt_binaryEdit (966)
  • Clean up "unused parameter" warnings (965)
  • Fix misleading indentation compiler warning in codeRangeTree::remove (964)
  • Remove empty region_data constructor (960)
  • Fix -Wreturn-type warning (956)
  • Remove unused parameter 'elf' from Object::parse_all_relocations (962)
  • Remove unused 'name' parameter from Collections::addGlobalVariable (961)
  • Fix compile warnings for AMDGPU for Release 11.0 (954)

Build Changes:

  • add missing libiberty include dir (950)
  • Make libiberty detection more flexible (922)
  • Correctly set up libiberty to be consumed by build system (901)

Remove Deprecated Functionality:

  • Remove JumpTableIndexPred::FillInOutEdges (959)
  • Remove BoundFactCalculator::CheckZeroExtend (958)
  • Remove BoundsFactCalculator::ThunkBound (957)
  • API-breaking changes for 11.0 release (920)
  • Remove old InstrucIter class references (890)
  • code cleanup integer funcs to * and / by constants
  • Remove unused lineDict class (880)
  • Remove bluegene support (847)
  • Remove vxworks support (859)
  • Replace pdvector with std::vector (856)
  • Remove vectorSet (857)
  • Remove vestiges of sparc (850)
  • Remove vestiges of AIX (849)
  • Remove binaryEdit::deleteBinaryEdit (866)

10.2.1 (2020-09-09)

Full Changelog

Implemented enhancements:

  • Remove exception specifications (841)
  • Remove unused Doxygen files from instructionAPI (829)
  • Remove deprecated members of BPatch_flowGraph (828)
  • Undeprecate mapped_object::getBaseAddress (827)
  • Remove unused symtabAPI/doc/symtab-text.txt (826)
  • Make ~DynObject virtual (813)
  • Remove cotire (816)
  • Fix cmake configuration with -pie (817)
  • Remove usage of miniTramp class (801)
  • Add include for Elf_X in emitElf.h (790)
  • Clean up some includes (796)

Fixed bugs:

  • Fix memory leak in singleton_object_pool (835)
  • Fix power instruction decoding regression
  • Fix aarch64 instruction decoding regression
  • Fix memory leak in singleton_object_pool
  • Fix memory leak in SymEval::expandInsn (793)
  • Fix aliasing bug of Region::buffer on copy (791)
  • Cleanup memory handling when emitting Elf for static libraries (789)

10.2.0 (2020-07-30)

Full Changelog

Implemented enhancements:

  • Fix Variable location parsing (781)
  • Fix proccontrol hangs in test_thread_X (780)
  • proccontrol: Handle "ghost" threads (742)
  • Elf extended numbering (776)
  • Expand the list of non-returning functions in CodeSource.C. (748)
  • Memory leak fixes (758)
  • C++ cleanup (610)
  • Libxul fixes (755)
  • Potential fixes needed for relocating libraries (754)
  • Add compiler-specific search directories in getResolvedLibraryPath (732)
  • More parallel parsing optimization and fixes (729)
  • Add search of libgcc.a to x86 and aarch64 (731)
  • PIE/PIC aarch64 rewrite implementation (698)
  • Fixes for AbsRegion and jump table index slicing involving global variable (695)
  • Parallel DWARF parsing and improved parallel code parsing (651)
  • Allow same address range to map to different source lines in DWARF (643)
  • Parse dwarf variables with abstract origin attribute (642)
  • Fix instrumentation regressions for libc-2.29 on ARM (653)
  • Implement the check of ThreadDB at BPatch level (667)
  • Use static AArch64 decoder tables. (633)
  • Don't use software breakpoints when creating traps for springboards (637)
  • ARMv8 initial work on rewriter (612)

Fixed bugs:

  • Revert CUDA binaries openning to libdw (787)
  • Updates for #780 (783)
  • Improve detection of ghost threads (784)
  • Remove Aggregate::setModule declaration (779)
  • Remove examples (764)
  • Improve logging in PCEventHandler::handleThreadCreate (772)
  • Retain hint function from CodeSource even if we do not parse the code object. (768)
  • remove unnecessary assertion for unknown phdr_type (757)
  • Use register x30 (Link Register) to generate long branch (720)
  • Do not use non-trivial types in varargs (704)
  • Remove undefined behavior from Symtab::Type (706)
  • Update Examples in dataflowAPI (700)
  • Prevent corruption to rax during stack alignment on x86-64 (670)
  • Ignore additional Eclipse file and spurious .gitignore (681)
  • Add explicit ElfUtils dependency for ParseThat and examples (678)
  • Add $INSTALL/lib/elfutils subdirectory to build paths (680)
  • Allow sterile builds (641)
  • Reorder includes to fix hidden build dependencies (665)
  • Deprecate Blue Gene/Q support (662)
  • Delete duplicate friend declaration of Parser in Block (649)
  • Rename getType() -> getDataClass() in Section 8.1 of SymtabAPI docs (661)
  • Fix spelling of getTypedefType in Section 8.1 of SymtabAPI docs (660)
  • Update handling of TBB CMake file for clang (654)
  • Fix typo in declaration of 'create' in Section 8.3 (659)
  • Change dataTypeDefine -> DataTypedef in DataClass enum documentation (650)
  • Use CMAKE_xx_COMPILER when building external dependencies (636)
  • Allow CMake files for dependencies to be included multiple times (639)
  • Fix overlapping bug of program header segments on fixPhdr. (618)
  • Updates TLS descriptors values in .dynamic section (ARMv8, #614)
  • Use private writable mmap when opening binaries and debug files (624)
  • Convert snprintf with PRIx64 to std::to_string (627)
  • Use PRIx64 macros for long long results for i686. (517)
  • Delete .syntastic_cpp_config
  • Add note on TBB usage when built from source

10.1.0 (2019-05-15)

Full Changelog

Implemented enhancements:

Fixed bugs:

  • InstructionAPI fails to decode some vector instructions on x86-64 #573
  • Make boost available after 'make install' #563
  • Assertion failure in LivenessAnalyzer::getLivenessIn(Dyninst::ParseAPI::Block*) #560
  • Homogenize cmake includes #557
  • Legacy test failures #550
  • Implicit ParseFunctionRanges is not thread-safe #360
  • GCC7 issues: new warnings, building with cotire causes GCC crash #321
  • [ARMv8 Decoding] SHA instruction should have 0s for bits 20 and 22 #264
  • [ARM Decoding] Some compare instructions should be invalid #251
  • [ARM Decoding] Reserved value for register shift field should create invalid insn #250
  • [ARM Syntax] Should print zero immediate for compares #237
  • [ARM Decoding] Compare instructions with zero ignore reserved bits #236
  • [ARM Decoding] SQSHL instruction has invalid bits set #235
  • [ARM Decoding] Invalid Subtract instruction #234
  • Update LibIberty to new build system #601 (hainest)
  • Update README to reflect new build system #597 (hainest)
  • TBB spack fixes #595 (hainest)
  • Fix BPatch_effectiveAddress on ppc where only low 32-bit address is extracted #593 (mxz297)
  • More fixes for parallel parsing, spring boards, and ARM #592 (mxz297)
  • Elfutils cleanup #591 (hainest)
  • TBB Cleanup #584 (hainest)
  • Boost cleanup #578 (hainest)
  • A few fixes for parallel parsing #572 (mxz297)
  • Fix bad interactions between patchAPI and parseAPI #564 (mxz297)
  • Elfutil version check #558 (hainest)
  • Add --enable-install-elfh when building elfutils from source #555 (hainest)
  • Attempts to fix legacy test failures in Dyninst test suite #549 (mxz297)

Closed issues:

  • Altering input operand of an instruction #590
  • BPatch_addressSpace replaceFunctionCall does not set R12 on Power #589
  • Trying to get a very simple PatchAPI example working #587
  • Cobwebs on the Documentation and boost 1.70.0 issues. #585
  • libboost_system.so.1.58.0: error adding symbols: DSO missing from command line #579
  • Symtab should not always demangle every function name #577
  • Springboards can trample function data due to incorrect range #551
  • lib/libdw.so.1 not copied on install #547
  • linking old system libelf when found #546
  • Spack Build Failed with errors about variable not declared in the scope #544
  • separate debuginfo failures #542
  • Any support for ARM32 and MIPS #538
  • After instrument with dyninst binary exports functions from libc #529
  • Dyninst errors when building with boost-1.69.0 #526
  • Bpatch_effectiveAddress truncates memory addresses to bottom 32 bits (PPC Only) #524
  • segfault #523
  • Abort in Dyninst 10.0.0 when trying to open file: libcublas.so.9.2.88 #508
  • Dyninst-10.0.0 boost::shared_ptr<Dyninst::InstructionAPI::Instruction> instead of Dyninst::InstructionAPI::Instruction #505
  • Dyninst-10.0.0 undeclared EM_AARCH64 #503
  • dyninst 10 hangs on ppcle at bpatch.processAttach #502
  • function return value destroyed when instrumented function access the input parameters at return statement only #501
  • 'repfunc' error #499
  • Mutator 'Aborted' when injecting BPatch_while #494
  • Segfault (nullptr deref) in getCalledFunction() #489
  • The return value at BPatch_exit points #391
  • Instrumenting indirect callsites and calltargets with labels #386
  • libelf install not copying libelf-0.168.so #375

Merged pull requests:

v10.0.0 (2018-11-09)

Full Changelog

Implemented enhancements:

  • Migrate Dyninst from libdwarf to libdw #328
  • Auto-detect Cilk #326
  • Make ParseAPI (optionally) multi-threaded #145

Fixed bugs:

  • Misc. x86 Decoding Issues #372
  • Segfault when singleton_object_pool reallocs #359
  • assert fails at insnCodeGen::generateBranchViaTrap #356
  • Incorrect function boundaries for functions sharing code #149

Closed issues:

  • Intel TBB install #500
  • Compilation Error #491
  • Build fails on Arch Linux #486
  • Power 8 Instrimentation stack frame generation destroys vector register values #484
  • Missing Vector Instructions and Reused Opcodes in Power 8 #483
  • Codegen gen.point() fails in most cases on Power (returns NULL) #482
  • Power support for code generation of long branch calls (i.e. branch with link to SPR) #481
  • relocation of branch +0x4 causes erratic behaviors on PowerPC #480
  • Handling Relocation of Power 8 Function Preamble #479
  • SymtabAPI dumps core when reading an exception table for a KNL (provided) binary #477
  • PCWidget::PCtoReturnAddr sets LR unnecessarily on non-x86 architectures #474
  • Spack Build Fails with missing dependency on libiberty #473
  • how to print the instruction which contains “cmp” #465
  • Instrumentation blocks not saving/restoring correct registers. #461
  • Segfault #456
  • InsertSnippet does not check if "when" parameter is legal #455
  • Heuristics to determined prologues #454
  • processCreate crashed on aarch64 #449
  • virtual bool AstCallNode::initRegisters(codeGen&): Assertion `callee' failed. Aborted (core dumped) #442
  • undefined reference to symbol '_ZNK7Dyninst14InstructionAPI11Instruction4sizeEv #440
  • cannot find -ldwarf? #439
  • xdrrec_create() type cast error: char* vs. void* #438
  • Error in build boost c++ library during installing Dyninst in Linux Ubuntu #435
  • dyninst not saving/restoring a register used in insertSnippet #434
  • Non-returning function analysis involving tail calls #433
  • Several problems for analyzing powerpc binarieson x86 #432
  • Patch without libdyninstAPI_RT.so #428
  • testsuite failures with separate debuginfo #423
  • make[2]: *** No rule to make target libiberty/libiberty.a', needed by common/libcommon.so.9.3.2'. Stop. #420
  • make failing in latest branch #419
  • Serious problem introduced when libdw was adopted #415
  • emitElf::createLoadableSections uses hard-coded sh_info #405
  • Memory corruption in ROSE memory pool allocator #400
  • ebx should be callee-saved #399
  • getFirstSymbol()->getMangledName SIGSEGV in PLT stub processing #396
  • disassembling issue #395
  • parseAPI shouldn't segfault if c++filt cannot demangle a symbol #390
  • The value of BPatch_registerExpr(BPatch_register reg) #388
  • Dyninst doesn't instrument the binary when it is compiled with -O3 flag (g++) #384
  • The address of instructions #380
  • Thunk call judgement condition #379
  • Is there any APIs that can be used for finding the indirect calls? #378
  • force boost build and force boost install #374
  • Compilation issue wrt to libdwarf an then zlib #373
  • CFG of stripped binary is empty #371
  • BPatch_statement::fileName() returns the empty string since somewhere between 9.2.0...9.3.0 #363
  • Power ABI v2 abstractions #119

Merged pull requests:

v9.3.2 (2017-04-17)

Full Changelog

Fixed bugs:

  • memcpy can fail with rewriter tests #355
  • dyninst does not build on i386 #343
  • [ARMv8 Decoding] SQ* instructions need to check bits with specific values #268
  • [ARMv8 Decoding] SMADDL and SMSUBL should have 32-bit register for operands 2 and 3 #266
  • [ARMv8 Decoding] SHL and SLI should have 0 for bit 11 #265
  • [ARMv8 Decoding] NEG instruction must have size = '11' #263
  • [ARMv8 Decoding] FMUL instruction cannot have size:q = '10' #262
  • [ARM Decoding] FMUL instructions cannot have 'size:L' == '11' #258
  • [ARM Decoding] Convert instruction immediate has reserved values (currently ignored) #257
  • [ARM Decoding] FCVTXN should be FCVTXN2 #255
  • [ARM Decoding] FCVT 'type' field cannot equal 'opc' field #254
  • [ARM Decoding] Reserved size value for some vector register instructions is ignored #249
  • [ARM Decoding] Stack pointer used where zero register should be #248
  • [ARM Decoding] Signed multiply instructions ignore size resitrictions #247
  • [ARM Decoding] Paired memory accesses must access aligned memory #245
  • [ARM Decoding] Convert instruction immediates appear incorrect at 64 #241
  • [ARM Decoding] Convert instruction immediate should not be larger than the register size #240
  • [ARM Syntax] Signed immediates should be shown as signed #239
  • [ARM Decoding] We should print the full operands of PRFUM #238
  • [ARM Decoding] Bad shift amounts. #233
  • [ARM Decoding] SIMD load instruction should be valid #223
  • [ARM Decoding] Decoding of MOVK instruction ignores restriction on combination of size and hw bits #222
  • [ARM Decoding] Decoding of ADDHN ignore reserved size bits #221
  • [ARM Syntax] Zero register should have sizing, either XZR or WZR #220
  • [ARM Decoding] Invalid CCMP and CCMN decoded as valid #219
  • [ARM Syntax] Shifted immediate for CCMP and CCMN #218
  • [ARM Syntax] Immediate out of range for LDRSB #217
  • [ARM Syntax] Repeated register number as constant #216

Merged pull requests:

v9.3.1 (2017-03-02)

Full Changelog

Fixed bugs:

  • Abort on PPC64LE when trying to get line number info #337
  • Seg Fault on PPC64LE during attach #336
  • Memory leaks in indirect control flow analysis #322
  • BPatch_binaryEdit::writeFile() fails for stack diversification #311
  • Stackwalk issue on arm64 #303
  • Decode returns null shared pointer #288
  • Operands labelled "[empty]" with operand type mismatch (all with 0x67 prefix) #203

Merged pull requests:

v9.3.0 (2016-12-22)

Full Changelog

Implemented enhancements:

  • Update build requirements: drop libelf.so.0 support #242
  • Merge AT&T syntax for x86 and ARM #210
  • Two options for opcode should print one, not both. #199
  • document proccontrol "tracking" APIs #151
  • Read access to SymtabAPI and ParseAPI should be thread-safe #144
  • New format for decoding tables #128
  • InstructionAPI disassembly should match AT&T syntax #4
  • x86 decoding and syntax fixes -- tentative #271 (jdetter)
  • findMain improvements #142 (jdetter)
  • Added asserts in liveness.C to prevent buffer underreads for #141 (jdetter)

Fixed bugs:

  • arm64 building current master fails #304
  • CMake boost error #300
  • arm64 pc_irpc test failure #296
  • arm64 pc_tls Library TLS was not the expected value #295
  • arm64 Problem with simple example code in the ProcControlAPI Programmer’s Guide #290
  • Stackanalysis asserts when analyzing __start_context in libc #283
  • test1_30 test failure #281
  • 'nullptr' not declared for GCC 4.4.7-17 compiler #278
  • Test4_4 seems to be in deadlock on amd64_ubu14 #274
  • Testsuite not building with branch att_syntax_formerge #272
  • AppVeyor having issues downloading boost #270
  • PGI line info regression #243
  • att_syntax not building after merge #230
  • VEX3 and EVEX assert - decoding invalid should throw exception or return error #213
  • Race conditions with transient threads #208
  • Dynist returns error "(bad)" decoding for valid sal variants. #207
  • No opcode suffix and no register operand creates ambiguous size. #204
  • Instructions produce FIXME opcodes, but otherwise appear correct #202
  • Invalid instructions produce FIXME opcodes #201
  • Invalid register numbers for VEX3 instructions #200
  • Opcode suffixes do not take into account prefix bytes #198
  • Incorrect operand suffix for register size for string instruction #197
  • Decode incorrect VEX3 as valid instruction #196
  • Decode incorrect VEX2 as valid instruction #195
  • Double printing first operand #193
  • findMain failing on master under Jenkins #188
  • Call emulation causing testsuite failures #187
  • PPC64 generateBranchViaTrap: Assertion `isCall == false' failed. #175
  • error: ‘class func_instance’ has no member named ‘freeStackMod’ #165
  • make install not working on latest master #160
  • Add generated cotire directories to gitignore #158
  • test_pt_ls failing on master (RHEL6) #157
  • Assertion failed with a bad DYNINSTAPI_RT_LIB #153
  • Assertion failure in DwarfWalker #152
  • Segfault when a process is attached without specifying exe #146
  • Indirect jumps that use jump tables are not relocated correctly #139
  • PC-relative read in indirect jump was not modified during relocation #133
  • stackanalysis assert while running in 32bit mode on master #131
  • Assert in StackAnalysis on release9.2/fixes/test_pt_ls #130
  • Cannot find malloc symbol in libc.so #126
  • test_pt_ls fails with Dyninst master #123
  • Line information fixes for HPCToolkit #122
  • Rewrite exception handlers to adjust for relocated code #121
  • Assertion failure during rewriting #116
  • Crash during liveness analysis #114
  • Segfault during traversal of slice generated in StackMod #113
  • Segfault when parsing binary with no functions #53
  • rewriter tests fail/crash on ppc64 #34
  • Warnings not being properly disabled under Visual Studio #26
  • Cleanup ppc (and old gcc) issues #277 (wrwilliams)
  • CMake fixes for Cotie and GCC 4.4 compatibility #164 (jdetter)
  • fix insnCodeGen::modifyData's 64-bit conversion #163 (cuviper)
  • Fixes for test_pt_ls #143 (jdetter)

Closed issues:

  • ABI changes from v9.2.0 to v9.2_patches #136

Merged pull requests:

v9.2.0 (2016-06-29)

Full Changelog

Implemented enhancements:

  • Dataflow documentation: Stack Analysis #31
  • Dataflow documentation: Slicing and SymEval #30
  • Dataflow documentation: Intro/Abstractions #29

Fixed bugs:

  • Rewriting with StackMods broken #111
  • Assertion during libxul PIE rewriting (VEX/master) #110
  • Testsuite failures on master/VEX for 32 bit platform #104
  • RHEL6 "cannot allocate memory in static TLS block" #101
  • Infinite recursion in TLS tramp guard #98
  • Rewritten binary dies with SIGILL #96
  • pc_fork_exec failure on master and VEX #94
  • Rewritten libc.so is not usable #93
  • dyninstAPI_RT build failure on Windows #92
  • amd64_7_arg_call passing, then segfaulting from shared pointer on VEX #90
  • Multiple testsuite failures on VEX #89
  • New instruction decoding problem in master branch #88
  • Build failure on windows #86
  • Dyninst parsing part of function multiple times #83
  • runTest -test pc_addlibrary fails/dumps core (actually, none of the proccontrol tests run) #81
  • Problems with Instruction API parsing x86-64 binaries: xhpl executable #80
  • Problems with Instruction API parsing x86-64 binaries: sqrtsd #79
  • parseThat not outputting executable binary (Exec format error) #71
  • symtabAPI fails to link on 32bit linux #70
  • Dyndwarf assert thrown on latest master #67
  • decodeOneOperand() called with unknown addressing method 18 #66
  • Segfault during PIE rewriting #65
  • walkSingleFrame run against local process on WIndows crashes #64
  • Symtab can't find any functions without libc #58
  • Rewriting of binaries with GNU_RELRO segment fails on master #52
  • Master timeout on test4_2 and test4_4 on Fedora23 #50
  • ERROR: failed bind/eval #48
  • Possible slicing/frame issue #44
  • dyninstAPI documentation typo #41
  • MachRegister::getReturnAddress not implemented on x86/x86_64 #40
  • Master not building with boost 1.58.0 (undefined references) #38
  • ptrace_peektext failing and producing spam in thread tests #36
  • Test 4_1, 4_2, and 4_4 fail on ppc64 #35
  • test1_33 fails on ppc64 #33
  • PLT entries misparsed on ARM #32
  • BPatch_function.C.o build failure on PPC64le #23
  • getABIVersion() not defined in Object-nt.h #21
  • Enable build only if .travis.yml is present option for repo #20
  • Bundling cvconst.h #17
  • Missing htobe32 function under Visual Studio #16
  • Line info gets misfiled into incorrect Modules #15
  • ./runTests -test test1_1 fails on ppc64 platform #8
  • LivenessAnalyzer::isMMX assertion failure #7
  • "Bad addressing mode!" in F23 libm.so #6
  • pc_tls fails #3
  • pc_add_library fails in attach mode on 9.2.x #2
  • test_mem_* fails on 9.2.x #1

Merged pull requests:

  • Disabled condition decoding in stack rewriting. #112 (jdetter)
  • symtabAPI: Apply corrections for the library_adjust page offset #109 (cuviper)
  • fix dll linkage on windows #108 (pefoley2)
  • Rewriter fixes, instruction decoding fixes. #107 (jdetter)
  • Don't use broken llvm apt mirror #105 (pefoley2)
  • Fixes for jump table, instruction decoding, windows proccontrol #102 (mxz297)
  • RTlib: use static TLS for the tramp guard #99 (cuviper)
  • Visual Studio Build Fixes #97 (pefoley2)
  • Refactor RTheap to avoid doing arithmetic with void* #95 (pefoley2)
  • Latest fix for rice folks #91 (mxz297)
  • Build fix for addrtranslate #87 (pefoley2)
  • Temporarily disable broken clang build #85 (pefoley2)
  • Simplify INTERP logic for better consistency #84 (cuviper)
  • Fix for square root floating point instructions #82 (jdetter)
  • Set defaults for Windows first-party stack walking: library tracker #78 (wrwilliams)
  • Define htobe on Windows/MSVC as a wrapper for _byteswap_ulong #77 (wrwilliams)
  • release9.2/bugs/rtheap_mmap_only #76 (wrwilliams)
  • Fix 32-bit build; rename emitElf64 to emitElf #73 (wrwilliams)
  • Truncate PTRACE_GETEVENTMSG exit status to int #69 (cuviper)
  • Fix Function/Module mapping #61 (wrwilliams)
  • Fix rewriting interp sections and debug symbols #57 (cuviper)
  • Fix uninitialized data in rewriter elf_update #54 (cuviper)
  • Merge 9.2 branch back to master #51 (wrwilliams)
  • fix#48 #49 (wrwilliams)
  • symtabAPI: don't free cuDIE in parseLineInfoForCU #47 (cuviper)
  • symtabAPI: comment out some debug chatter #46 (cuviper)
  • Remove low-level warnings from ptrace read/write failures #43 (cuviper)
  • Recover from a bad force push. #42 (wrwilliams)
  • Remove low-level warnings from ptrace read/write failures #39 (cuviper)
  • Fix #23, build failure on PPC64le #25 (pefoley2)
  • Provided base class virtual for getABIVersion() that returns false when not implemented #24 (mcfadden8)
  • Allow dyninst to be compiled using clang #13 (pefoley2)
  • Add initial file for travis #12 (pefoley2)
  • Misc fixes and improvements #11 (pefoley2)
  • ProcControl and Symtab support for ppc64le #10 (mcfadden8)

v9.1.0 (2015-12-16)

Full Changelog

v9.0.3 (2015-08-26)

Full Changelog

v9.0.2 (2015-08-24)

Full Changelog

v9.0.1 (2015-08-21)

Full Changelog

v9.0.0 (2015-08-20)

Full Changelog

milestone_5 (2015-01-15)

Full Changelog

milestone_4 (2015-01-14)

Full Changelog

milestone_3 (2015-01-12)

Full Changelog

v8.2.1 (2014-10-30)

Full Changelog

v8.2.0.1 (2014-08-19)

Full Changelog

v8.2.0 (2014-08-19)

Full Changelog

v8.1.2 (2013-06-18)

Full Changelog

pre8.1.2RC3 (2013-06-07)

Full Changelog

pre8.1.2RC2 (2013-06-04)

Full Changelog

pre8.1.2RC1 (2013-05-29)

Full Changelog

v8.1.1 (2013-03-14)

Full Changelog

pre-8.1RC1 (2013-03-01)

Full Changelog

pre-8.1 (2013-02-22)

Full Changelog

v8.0 (2012-11-19)

Full Changelog

SW8.0CrayRC3 (2012-10-15)

Full Changelog

SW8.0RC2 (2012-10-15)

Full Changelog

SW8.0RC1 (2012-10-15)

Full Changelog

kevin-final (2012-01-11)

Full Changelog

Release7_0 (2011-03-23)

Full Changelog

Release6_1 (2009-12-04)

Full Changelog

Release6_0 (2009-06-30)

Full Changelog

SanDiegoDistro (2007-11-21)

Full Changelog

Release5_1 (2007-05-31)

Full Changelog

release5_1_beta (2007-01-04)

Full Changelog

Release5_0 (2006-07-05)

Full Changelog

pre_multitramp (2005-07-19)

Full Changelog

Release4_2_1 (2005-04-12)

Full Changelog

mrnet-1_1 (2005-04-04)

Full Changelog

Release4_2 (2005-03-23)

Full Changelog

Dyninst4_1 (2004-04-28)

Full Changelog

mrnet-1-0 (2003-09-11)

Full Changelog

Before_PVM_Removal (2003-07-30)

Full Changelog

Dyninst4_0 (2003-05-30)

Full Changelog

snapshot_20020513 (2002-05-10)

Full Changelog

Dyninst3_0 (2002-01-17)

Full Changelog

Release3_2 (2001-03-14)

Full Changelog

Release3_1 (2000-08-24)

Full Changelog

Release3_0 (2000-05-16)

Full Changelog

Dyninst2_0 (2000-04-11)

Full Changelog

Release2_1 (1998-05-06)

Full Changelog

Release2_0 (1997-09-19)

Full Changelog

Release1_1 (1996-08-16)

Full Changelog

Release1_0 (1996-05-17)

Full Changelog

v0_0 (1993-09-03)

Full Changelog

* This Change Log was automatically generated by github_changelog_generator