11.0.0 (2021-04-08)
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)
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)
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)
Implemented enhancements:
- Unset library variables when building elfutils from source #561
- Update LibIberty to new build system #601 (hainest)
- ARM effective address calculation #594 (mxz297)
- Elfutils cleanup #591 (hainest)
- TBB Cleanup #584 (hainest)
- Boost cleanup #578 (hainest)
- Add initial support for decoding AMD FMA4 and XOP instructions #575 (mxz297)
- Convert ThreadDB error message to info message #574 (hainest)
- Fix compilation of thread_db_process #571 (sashanicolas)
- Fixing TBB dependencies during build. #570 (sashanicolas)
- Support parsing cubin in dyninst-10.0 #556 (Jokeren)
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:
- Compilation fix for boost 1.70 #600 (mxz297)
- Bump minimum CMake version to 3.4.0 #598 (hainest)
- Fix DwarfFrameParser, decodeDwarfExpression and DwarfResult #596 (sashanicolas)
- simple working hybrid example of patchAPI #588 (ianamason)
- Remove assertions for jump table analysis #576 (mxz297)
- Should set errno to zero before calling ptrace #569 (mxz297)
- Implement ARMv8 IMFC and Load/Store Shared #562 (LER0ever)
- Fix ARM stack walking #559 (mxz297)
- Fix tests in PIC mode #553 (mxz297)
- Do not put newly added functions to .dynsym, which may cause the load #548 (mxz297)
- Ppcle rhel8 fix #543 (mxz297)
- Add some explicit casts from boost::tribool to bool for some code in #541 (mwkrentel)
- Ignore Eclipse settings files and folders #539 (hainest)
- Remove Travis and AppVeyor CI #537 (hainest)
- Remove undefined behavior from bit-shifting code #536 (hainest)
- fix missing installation of libdw when installing elfutils #531 (rafzi)
- Adjust Dyninst to support injecting CFGs for CUBINs #530 (Jokeren)
- Ppc pc fix #528 (mxz297)
- Fix several bugs in common/src/pathName.C #527 (hainest)
- Power abi v2 fixes #519 (mxz297)
- Don't use system header <> syntax for dyninst includes #518 (stanfordcox)
- Fix linemaps for CUBINs #516 (jmellorcrummey)
- as needed, add -fopenmp flag when linking executables #513 (jmellorcrummey)
- Fix whileExpr not generating the correct code and causing abort #510 (LER0ever)
- Fixes signed/unsigned operations for comparison, multiplication, #509 (mxz297)
- Add .dir suffix to examples/{codeCoverage,unstrip} #507 (stanfordcox)
- Install docs into target doc dirs #506 (stanfordcox)
v10.0.0 (2018-11-09)
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:
- Vector instruction support on Power and recycled opcode #498 (mxz297)
- Build fixes for parallel building and xdr-related issues #496 (LER0ever)
- Merge parallel code parsing #488 (mxz297)
- Power8 instrumentation fix #485 (mxz297)
- symtab: fix memory error in Statement::getFile #469 (rafzi)
- Vector categories merge into master #463 (jgalarowicz)
- Fix for crashing on relocating at unistrumentable points #460 (bwelton)
- New walker to walk out of Instrimentation Frames FP #452 (bwelton)
- Fixes for testsuite failures on powerv7 and block boundary aligning for overlapping instructions #446 (mxz297)
- Remove unused rpc/xdr references. #445 (stanfordcox)
- Very minor clean-up a particualrly ugly piece of code. #441 (thomasdullien)
- Fixes for non-returning functions, endianness for cross architecture parsing, and powerpc instruction decoding #437 (mxz297)
- add missing initialization for flags when Elf_X is a memory image #430 (jmellorcrummey)
- Fix sh_info for VERNEED section #427 (nedwill)
- Bugfixes windows #418 (mitalirawat)
- AArch32 ARM Parsing Support #417 (rchyena)
- Parallel Parsing changes #416 (jmellorcrummey)
- Add linux-vdso64.so.1 to the library blacklist. #414 (stanfordcox)
- Handle R_X86_64_IRELATIVE relocation. #413 (stanfordcox)
- Add basic support for EM_CUDA binary type #410 (jmellorcrummey)
- Fix the crash issue of retee #408 (mxz297)
- fix dwarf symbol frame #403 (sashanicolas)
- Merging my jump table improvements, att_syntax, and arm semantics #401 (mxz297)
- Fixing the destruction of objects under process control api. #382 (sashanicolas)
- Add FORCE_BOOST CMake option for @lee218llnl #381 (wrwilliams)
- fix a bug when generating relocation index #370 (fengharry)
- Clean up and refactor reaching definitions for better readability #369 (morehouse)
- Sfm/fixes/indirection fixes #368 (morehouse)
- Pull request for arm64/feature/relocation into master #367 (ssunny7)
- Pull request for att_syntax into master #366 (ssunny7)
- Prevent non-PIC thunks from being classified as such #365 (morehouse)
- Sfm/feature/reaching defs #364 (morehouse)
v9.3.2 (2017-04-17)
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:
- More 9.3.2 cleanup #362 (wrwilliams)
- Final cleanup bits for 9.3.2 #361 (wrwilliams)
- Support 32-bit builds in Jenkins #350 (cuviper)
- CMake fixup #349 (wrwilliams)
- Add a macro MSROp #348 (ikitayama)
- Fix up exception handling code so that we only consider call instructions for exception sensitivity and its attendant emulation #347 (wrwilliams)
- Refactor BPatch_type so it always has a reference to its underlying symtab type. #346 (wrwilliams)
- v9.3.x #341 (wrwilliams)
v9.3.1 (2017-03-02)
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:
- Replaced a bunch of asserts with graceful error handling. #340 (wrwilliams)
- Fix jump table analysis for lulesh #338 (mxz297)
- Better handling of anonymous structs and unions #335 (wrwilliams)
- Fix memory leaks found with lsan #333 (wrwilliams)
- Suppress debug message when no vsyscall page was found on arm64 #332 (wrwilliams)
- Use ifdef to guard x86 code #331 (wrwilliams)
- Fix memory leaks in indirect control flow. #329 (wrwilliams)
- Fixes for API and dependency issues in 9.3.0 #323 (wrwilliams)
- Changing the URL of libelf to download elfutil. #318 (sashanicolas)
- Displacement validation checks updated #314 (jdetter)
- Release9.3/fixes/icc binaries #310 (mxz297)
- Fix test_basic test error #309 (ikitayama)
- Make dyninst compile on x64 windows #168 (pefoley2)
v9.3.0 (2016-12-22)
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:
- ARM64 fixes for stack walking #307 (wrwilliams)
- Update AssignmentConverter instantiation to make use of stack analysis explicit. #306 (wrwilliams)
- Bug fix for PR#294 #302 (wrwilliams)
- Enhance DWARF parser to recognize (and skip) DW_TAG_member entries for static fields #299 (ma-neumann)
- Fix omitting leading 0's when concatenating hex bytes in stringstream #298 (ma-neumann)
- More manual fixes #297 (mxz297)
- arm64: remove syscall tracing workaround #294 (ikitayama)
- Autodetect RTLib location #293 (wrwilliams)
- Small fixes #292 (wrwilliams)
- Update manual version numbers and minor fixes #291 (mxz297)
- Remove stackanalysis assertions #289 (wrwilliams)
- Line info cleanup #287 (wrwilliams)
- Passing test_pt_ls (at least on RHEL7) #286 (mxz297)
- Sfm/fixes/untouched blocks #285 (morehouse)
- Use in-place translation #284 (wrwilliams)
- common: use ptrace if yama blocked process_vm_readv/writev #280 (cuviper)
- Fix dependency of LibDwarf #279 (rafzi)
- Compiling DynInst v9.2.0 on arm64 #273 (ikitayama)
- proccontrol: fix double-increment while erasing a dead process #261 (cuviper)
- Document some of the ProcControlAPI options in PlatFeatures.h. #260 (morehouse)
- proccontrol: scrub newly created threads that fail to attach #259 (cuviper)
- RT: trymmap should retry if the result is out of range #231 (cuviper)
- Merge ARM instruction semantics and jump table parsing #228 (mxz297)
- line info bugfixes #226 (wrwilliams)
- LibraryTracker documentation #225 (wrwilliams)
- proccontrol: Synchronize additional threads found during attach #214 (cuviper)
- Fix errors when thread disappears during attach #212 (cuviper)
- Added symbol linkage support for GNU unique linkage types #209 (bwelton)
- Fix icc warning flags #206 (pefoley2)
- Make dynC work on windows #205 (pefoley2)
- pefoley2-boost_win #194 (wrwilliams)
- ElfX: add xlate funcs #192 (wrwilliams)
- proccontrol: check thread handle before calculating TLS #191 (cuviper)
- Improved the findMain analysis significantly #189 (jdetter)
- Exception frame rewriting fixes #186 (jdetter)
- String table now includes an entry at zero for "unknown", so don't subtract from the DWARF file number. #185 (wrwilliams)
- cmake: Fix not building when libiberty is automatically installed #183 (rafzi)
- Determine the architecture of an ELF by looking at the file header in… #182 (rafzi)
- Documentation updates -- tentative #180 (jdetter)
- Fix operand types for vpand #177 (BlairArchibald)
- symtabAPI: dont expect a data segment in elf; eliminate dead code #173 (rafzi)
- elf: fix uninitialized isBigEndian for archives; duplicate code removal #172 (rafzi)
- Support building with LTO #171 (pefoley2)
- Fix various warnings under Visual Studio #169 (pefoley2)
- Guard StackMod implementation from non-x86 architectures. #166 (morehouse)
- Added generated cotire directories to gitignore #159 (jdetter)
- symtabAPI: use the known type for new relocations #156 (cuviper)
- Sfm/feature/interproc analysis #155 (morehouse)
- Remove unnecessary assert from dwarfWalker. Fixes #152. #154 (morehouse)
- proccontrol: fix process attachment without an exe #148 (cuviper)
- proccontrol: fix process attachment without an exe #147 (cuviper)
- Restored dyn_regs.h to v9.2.0 version #140 (jdetter)
- Fixes significant ABI issues on v9.2_patches. #138 (jdetter)
- Line info optimizations #135 (wrwilliams)
- Matt's patch applied -- fixes test_stack_1 issue #134 (jdetter)
- Rose build fixes #129 (pefoley2)
- Merge arm64/feature/semantics_setup into master #127 (ssunny7)
- V9.2 patches #124 (jdetter)
- Release9.2/fixes/liveness patch #118 (jdetter)
- Add config to build using Appveyor #19 (pefoley2)
- Fix warnings produced when compiling with clang #14 (pefoley2)
v9.2.0 (2016-06-29)
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)
v9.0.3 (2015-08-26)
v9.0.2 (2015-08-24)
v9.0.1 (2015-08-21)
v9.0.0 (2015-08-20)
milestone_5 (2015-01-15)
milestone_4 (2015-01-14)
milestone_3 (2015-01-12)
v8.2.1 (2014-10-30)
v8.2.0.1 (2014-08-19)
v8.2.0 (2014-08-19)
v8.1.2 (2013-06-18)
pre8.1.2RC3 (2013-06-07)
pre8.1.2RC2 (2013-06-04)
pre8.1.2RC1 (2013-05-29)
v8.1.1 (2013-03-14)
pre-8.1RC1 (2013-03-01)
pre-8.1 (2013-02-22)
v8.0 (2012-11-19)
SW8.0CrayRC3 (2012-10-15)
SW8.0RC2 (2012-10-15)
SW8.0RC1 (2012-10-15)
kevin-final (2012-01-11)
Release7_0 (2011-03-23)
Release6_1 (2009-12-04)
Release6_0 (2009-06-30)
SanDiegoDistro (2007-11-21)
Release5_1 (2007-05-31)
release5_1_beta (2007-01-04)
Release5_0 (2006-07-05)
pre_multitramp (2005-07-19)
Release4_2_1 (2005-04-12)
mrnet-1_1 (2005-04-04)
Release4_2 (2005-03-23)
Dyninst4_1 (2004-04-28)
mrnet-1-0 (2003-09-11)
Before_PVM_Removal (2003-07-30)
Dyninst4_0 (2003-05-30)
snapshot_20020513 (2002-05-10)
Dyninst3_0 (2002-01-17)
Release3_2 (2001-03-14)
Release3_1 (2000-08-24)
Release3_0 (2000-05-16)
Dyninst2_0 (2000-04-11)
Release2_1 (1998-05-06)
Release2_0 (1997-09-19)
Release1_1 (1996-08-16)
Release1_0 (1996-05-17)
v0_0 (1993-09-03)
* This Change Log was automatically generated by github_changelog_generator