4 years agoMerge branch 'master' of github.com:dyninst/dyninst
Xiaozhu Meng [Tue, 14 Jun 2016 00:52:26 +0000 (19:52 -0500)]
Merge branch 'master' of github.com:dyninst/dyninst

4 years agoCorrectly decode movsxd instruction operand sizes
Xiaozhu Meng [Tue, 14 Jun 2016 00:51:36 +0000 (19:51 -0500)]
Correctly decode movsxd instruction operand sizes

4 years agoMerge branch 'VEX' of github.com:dyninst/dyninst
Xiaozhu Meng [Mon, 13 Jun 2016 22:23:32 +0000 (17:23 -0500)]
Merge branch 'VEX' of github.com:dyninst/dyninst

4 years agoFixed instruction semantic assert issue
John Detter [Mon, 13 Jun 2016 22:22:21 +0000 (17:22 -0500)]
Fixed instruction semantic assert issue

4 years agoMerge branch 'VEX' of http://github.com/dyninst/dyninst into VEX
John Detter [Mon, 13 Jun 2016 22:16:07 +0000 (17:16 -0500)]
Merge branch 'VEX' of github.com/dyninst/dyninst into VEX

4 years agoInstruction movlsq->movsx mnumonic and operand fix
John Detter [Mon, 13 Jun 2016 22:13:52 +0000 (17:13 -0500)]
Instruction movlsq->movsx mnumonic and operand fix

4 years agoMerge branch 'VEX' of github.com:dyninst/dyninst
Xiaozhu Meng [Mon, 13 Jun 2016 21:32:41 +0000 (16:32 -0500)]
Merge branch 'VEX' of github.com:dyninst/dyninst

4 years agoFix for mapREX
John Detter [Mon, 13 Jun 2016 21:31:11 +0000 (16:31 -0500)]
Fix for mapREX

4 years agoMerge branch 'VEX' of github.com:dyninst/dyninst
Xiaozhu Meng [Mon, 13 Jun 2016 19:50:23 +0000 (14:50 -0500)]
Merge branch 'VEX' of github.com:dyninst/dyninst

4 years agoAnother REX fix
John Detter [Mon, 13 Jun 2016 19:48:25 +0000 (14:48 -0500)]
Another REX fix

4 years agoMerge branch 'VEX' of github.com:dyninst/dyninst
Xiaozhu Meng [Mon, 13 Jun 2016 19:47:18 +0000 (14:47 -0500)]
Merge branch 'VEX' of github.com:dyninst/dyninst

4 years agoFix for Xiaozhu's issue
John Detter [Mon, 13 Jun 2016 19:44:38 +0000 (14:44 -0500)]
Fix for Xiaozhu's issue

4 years agoSimplify INTERP logic for better consistency (#84)
Josh Stone [Mon, 13 Jun 2016 12:01:25 +0000 (05:01 -0700)]
Simplify INTERP logic for better consistency (#84)

When .interp was in the first page, keep it there like the comment about
FreeBSD requires.  Just shift it for the new PHDR.  But if .interp is
already past the first page, as seen in libc.so for instance, then move
its offset a whole page like we do for every other section.  Then
program headers follow the same logic.

The conditional around startMovingSections and object type is totally
removed, as it did the wrong thing for PIE binaries which otherwise look
like shared libraries.  We now just move all sections except low interp.

Fixes #71.

4 years agoBuild fix for addrtranslate (#87)
Peter Foley [Sun, 12 Jun 2016 15:15:32 +0000 (11:15 -0400)]
Build fix for addrtranslate (#87)

4 years agoOnly check the outer most memory reads for jump table format
Xiaozhu Meng [Sun, 12 Jun 2016 12:59:30 +0000 (07:59 -0500)]
Only check the outer most memory reads for jump table format

4 years agotemporarily disable broken clang build (#85)
Peter Foley [Sat, 11 Jun 2016 03:57:20 +0000 (23:57 -0400)]
temporarily disable broken clang build (#85)

4 years agoJump tables should be only in read only sections
Xiaozhu Meng [Fri, 10 Jun 2016 19:37:09 +0000 (14:37 -0500)]
Jump tables should be only in read only sections

4 years agoStop slicing when we are sure an indirect jump is not a jump table
Xiaozhu Meng [Fri, 10 Jun 2016 18:50:37 +0000 (13:50 -0500)]
Stop slicing when we are sure an indirect jump is not a jump table

4 years agoVarious fixes for jump table analysis 1. add instruction semantics for conditional...
Xiaozhu Meng [Fri, 10 Jun 2016 15:42:51 +0000 (10:42 -0500)]
Various fixes for jump table analysis 1. add instruction semantics for conditional moves 2. correctly distinguish zero extended memory read from sign extended memory read 3. ignore variable size when tracking variable aliasing 4. more precise bound tracking for sub instruction

4 years agoMerge branch 'VEX'
John Detter [Fri, 10 Jun 2016 16:15:34 +0000 (11:15 -0500)]
Merge branch 'VEX'

4 years agoMerge branch 'master' of http://github.com/dyninst/dyninst
John Detter [Fri, 10 Jun 2016 16:15:29 +0000 (11:15 -0500)]
Merge branch 'master' of github.com/dyninst/dyninst

4 years agoMerge branch 'VEX' of http://github.com/dyninst/dyninst into VEX
John Detter [Fri, 10 Jun 2016 16:08:49 +0000 (11:08 -0500)]
Merge branch 'VEX' of github.com/dyninst/dyninst into VEX

4 years agokmask memory addressing mode now properly parses modr/m byte.
John Detter [Fri, 10 Jun 2016 16:06:53 +0000 (11:06 -0500)]
kmask memory addressing mode now properly parses modr/m byte.

4 years agoFix for square root floating point instructions (#82)
John Detter [Fri, 10 Jun 2016 13:17:00 +0000 (08:17 -0500)]
Fix for square root floating point instructions (#82)

* Fixed VEX assert issue

* Significant fixes to John Mellor-Crummey's binary parsing issue.

* Git log corrections -- small fixes

4 years agosseidx fixes for group map tables
John Detter [Fri, 10 Jun 2016 12:34:06 +0000 (07:34 -0500)]
sseidx fixes for group map tables

4 years agoPatch for sseMapTer decoding logic issue.
John Detter [Fri, 10 Jun 2016 11:47:02 +0000 (06:47 -0500)]
Patch for sseMapTer decoding logic issue.

4 years agoGit log corrections -- small fixes 82/head
John Detter [Fri, 10 Jun 2016 05:20:50 +0000 (00:20 -0500)]
Git log corrections -- small fixes

4 years agoSignificant fixes to John Mellor-Crummey's binary parsing issue.
John Detter [Thu, 9 Jun 2016 22:46:07 +0000 (17:46 -0500)]
Significant fixes to John Mellor-Crummey's binary parsing issue.

4 years agoFixed floating point square root instructions
John Detter [Thu, 9 Jun 2016 23:08:57 +0000 (18:08 -0500)]
Fixed floating point square root instructions

4 years agoSignificant fixes to John Crummy's binary parsing issue.
John Detter [Thu, 9 Jun 2016 22:46:07 +0000 (17:46 -0500)]
Significant fixes to John Crummy's binary parsing issue.

4 years agoFixed VEX assert issue
John Detter [Thu, 9 Jun 2016 20:22:09 +0000 (15:22 -0500)]
Fixed VEX assert issue

4 years agoSet defaults for Windows first-party stack walking: library tracker (#78)
Bill Williams [Thu, 9 Jun 2016 15:33:09 +0000 (10:33 -0500)]
Set defaults for Windows first-party stack walking: library tracker (#78)

4 years agoDefine htobe on Windows/MSVC as a wrapper for _byteswap_ulong (#77)
Bill Williams [Thu, 9 Jun 2016 15:32:48 +0000 (10:32 -0500)]
Define htobe on Windows/MSVC as a wrapper for _byteswap_ulong (#77)

4 years agorelease9.2/bugs/rtheap_mmap_only (#76)
Bill Williams [Thu, 9 Jun 2016 15:32:09 +0000 (10:32 -0500)]
release9.2/bugs/rtheap_mmap_only (#76)

* remove mallocs from the RTlib's os_malloc call when we're on the mmap path

* Fix mmap flags: MAP_32BIT is x86_64 only, and MAP_FIXED is inappropriate for this application

* Cleanup: remove dangling free() on malloc path, and adjust heap allocations such that:

1) Usable size >= requested size
2) Heap data structure at end, not at beginning, of heap (so that user heaps start aligned, and so that we aren't grabbing a whole previous page regardless of requested size).

* Node should go at the end of the returned heap

The node data structure should, in the case where the actual heap and the returned heap differ, go at the end of the returned heap so that the returned heap's size is correct.

4 years agoGrammar and formatting fixes for DataflowAPI manual.
Matt Morehouse [Tue, 7 Jun 2016 21:15:37 +0000 (16:15 -0500)]
Grammar and formatting fixes for DataflowAPI manual.

4 years agoDataflowAPI manual writing
Xiaozhu Meng [Fri, 3 Jun 2016 19:10:19 +0000 (14:10 -0500)]
DataflowAPI manual writing

4 years agoDisabled debugging output
John Detter [Fri, 3 Jun 2016 15:20:18 +0000 (10:20 -0500)]
Disabled debugging output

4 years agoReverting att syntax change -- should NOT be in 9.2.X
John Detter [Fri, 3 Jun 2016 15:18:46 +0000 (10:18 -0500)]
Reverting att syntax change -- should NOT be in 9.2.X

4 years agoSmall fixes for addressing modes V and W
John Detter [Fri, 3 Jun 2016 15:06:55 +0000 (10:06 -0500)]
Small fixes for addressing modes V and W

4 years agoAddressing mode am_V fix for high numbered floating point registers
John Detter [Fri, 3 Jun 2016 10:59:37 +0000 (05:59 -0500)]
Addressing mode am_V fix for high numbered floating point registers

4 years agoMerge branch 'VEX' of http://github.com/dyninst/dyninst into VEX
John Detter [Fri, 3 Jun 2016 10:48:00 +0000 (05:48 -0500)]
Merge branch 'VEX' of github.com/dyninst/dyninst into VEX

4 years agoFixed dwarf assert issue with newest version of libdwarf.
John Detter [Fri, 3 Jun 2016 10:47:38 +0000 (05:47 -0500)]
Fixed dwarf assert issue with newest version of libdwarf.

4 years agoRename emitElf64 to emitElf and add it as a generic *nix file. (#73)
Bill Williams [Thu, 2 Jun 2016 16:47:12 +0000 (11:47 -0500)]
Rename emitElf64 to emitElf and add it as a generic *nix file. (#73)

4 years agoproccontrol: init int_thread's fakeSyscallExitBp members
Josh Stone [Wed, 1 Jun 2016 21:24:38 +0000 (14:24 -0700)]
proccontrol: init int_thread's fakeSyscallExitBp members

4 years agoMerge pull request #69 from cuviper/wexitstatus-int
Bill Williams [Wed, 1 Jun 2016 14:41:56 +0000 (09:41 -0500)]
Merge pull request #69 from cuviper/wexitstatus-int

Truncate PTRACE_GETEVENTMSG exit status to int

4 years agoTruncate PTRACE_GETEVENTMSG exit status to int 69/head
Josh Stone [Wed, 1 Jun 2016 01:28:07 +0000 (18:28 -0700)]
Truncate PTRACE_GETEVENTMSG exit status to int

The sys/wait.h macros are expecting to operate on an int, and they have
some ugly pointer macros to deal with old BSD compatibility.  But we get
an unsigned long from PTRACE_GETEVENTMSG.  Normally this work out ok,
but on big-endian ppc64 those macros end up reading the int from the
most significant bits only, which are zero.

Cast the long down to a local int first, so WEXITSTATUS works properly.

Fixes #35.

4 years agoAdded am_T back into InstructionDecoder-x86.C 68/head
John Detter [Tue, 31 May 2016 21:36:58 +0000 (16:36 -0500)]
Added am_T back into InstructionDecoder-x86.C

4 years agoMerge pull request #61 from dyninst/Functions_not_filed_into_correct_Modules
Bill Williams [Fri, 27 May 2016 19:37:50 +0000 (14:37 -0500)]
Merge pull request #61 from dyninst/Functions_not_filed_into_correct_Modules

Fix Function/Module mapping

4 years ago1. For ARM, add br as a branch instruction category and blr as a call instruction...
Xiaozhu Meng [Tue, 10 May 2016 15:23:05 +0000 (10:23 -0500)]
1. For ARM, add br as a branch instruction category and blr as a call instruction category. 2. Need to skip the first two PLT entry sizes on ARM 3. Only invoke new jump table parsing on x86. On power, we use the old heuristics. On ARM, we currently give up

4 years agoProperly initialize decoder states for lazy operand decoding
Xiaozhu Meng [Thu, 12 May 2016 15:24:12 +0000 (10:24 -0500)]
Properly initialize decoder states for lazy operand decoding

4 years agoFunctions not filed into correct Modules 61/head
Bill Williams [Fri, 27 May 2016 18:41:45 +0000 (13:41 -0500)]
Functions not filed into correct Modules

4 years agoFunctions not filed into correct Modules
Bill Williams [Fri, 27 May 2016 18:23:53 +0000 (13:23 -0500)]
Functions not filed into correct Modules

4 years agoMerge pull request #57 from cuviper/issue52
Bill Williams [Fri, 27 May 2016 18:20:11 +0000 (13:20 -0500)]
Merge pull request #57 from cuviper/issue52

Fix rewriting interp sections and debug symbols

4 years agoFix for functions being filed incorrectly: replace the fixSymbolsInModules code with...
Bill Williams [Fri, 27 May 2016 15:57:19 +0000 (10:57 -0500)]
Fix for functions being filed incorrectly: replace the fixSymbolsInModules code with a new type of DwarfWalker that does what's needful.

4 years agoFirst pass at PPC64 semantics.
Bill Williams [Fri, 13 May 2016 14:29:07 +0000 (09:29 -0500)]
First pass at PPC64 semantics.

4 years agoAdd an isDebug flag to Symbol, set via Aggregate 57/head
Josh Stone [Thu, 26 May 2016 23:36:48 +0000 (16:36 -0700)]
Add an isDebug flag to Symbol, set via Aggregate

When symbols are discovered in debuginfo, they should be noted but
otherwise not affect the rewritten symbol tables.  The dwarf walker now
sets this flag, and Symbol::isInSymtab() and Symbol::isInDynSymtab()
both return false for debug symbols.

4 years agoAdjust the interp location when adding a PHDR
Josh Stone [Wed, 25 May 2016 18:44:47 +0000 (11:44 -0700)]
Adjust the interp location when adding a PHDR

Assuming that INTERP immediately follows PHDR, it must move when a new
PHDR is added.  While the offset moves up, the memory address must move
down to keep in line with the page-adjusted mapping.

4 years agoMerge branch 'master' into VEX
John Detter [Tue, 24 May 2016 17:06:22 +0000 (12:06 -0500)]
Merge branch 'master' into VEX

4 years agoSmall InstructionAPI refactoring
John Detter [Mon, 23 May 2016 20:09:03 +0000 (15:09 -0500)]
Small InstructionAPI refactoring

4 years agoMasking registers are now part of the operand list
John Detter [Mon, 23 May 2016 18:23:08 +0000 (13:23 -0500)]
Masking registers are now part of the operand list

4 years agoSmall VEX bug fixes found by Nathan
John Detter [Mon, 23 May 2016 16:57:34 +0000 (11:57 -0500)]
Small VEX bug fixes found by Nathan

4 years agoUse the new immediate types for condition codes and prefetch operation types.
Sunny Shah [Fri, 20 May 2016 20:55:29 +0000 (15:55 -0500)]
Use the new immediate types for condition codes and prefetch operation types.

4 years agoSupport custom formatting for ARM64 operand that specifies the prefetch type for...
Sunny Shah [Fri, 20 May 2016 20:52:29 +0000 (15:52 -0500)]
Support custom formatting for ARM64 operand that specifies the prefetch type for the PRFM instruction and ARM64 operands that correspond to a condition code:
* The 18 prefetch types that can appear in the first operand of the PRFM instructions should be printed as their string representation (as provided in the manual), and not as the raw immediate values.
ArmPrfmTypeImmediate extends Immediate to have a custom formatting method that uses a map to get the string representation, while keeping the rest of the functionality same as the base class.
* The 16 condition codes that can appear in conditional instructions should be printed as their two-letter representation (as provided in the manual), and not as the raw immediate values.
ArmConditionImmediate extends Immediate to have a custom formatting method that uses a map to get the condition code string representation, while keeping the rest of the functionality same as the base class.

4 years agoFixes to correctly handle aliases in the conditional select instruction category.
Sunny Shah [Wed, 11 May 2016 22:46:40 +0000 (17:46 -0500)]
Fixes to correctly handle aliases in the conditional select instruction category.

This includes changes to the instruction and decoder tables: all instructions in this category map to either CSINC, CSINV, CSNEG or CSEL and the correct alias is applied when handling one of these instructions. One or more of the source registers may need to be skipped for processing when the alias is applied, and the condition code should accordingly be modified.

4 years agoFixes for correctly handling aliases of the UBFM instruction to LSL and LSR.
Sunny Shah [Tue, 26 Apr 2016 23:25:52 +0000 (18:25 -0500)]
Fixes for correctly handling aliases of the UBFM instruction to LSL and LSR.

4 years agoReformatted the ARM64 decoder code to have consistent braaces, indents and line spacing.
Sunny Shah [Tue, 26 Apr 2016 21:41:26 +0000 (16:41 -0500)]
Reformatted the ARM64 decoder code to have consistent braaces, indents and line spacing.

4 years agoFurther fixes for correctly aliasing bfm, sbfm and ubfm to the signed/unsigned extend...
Sunny Shah [Tue, 26 Apr 2016 21:35:27 +0000 (16:35 -0500)]
Further fixes for correctly aliasing bfm, sbfm and ubfm to the signed/unsigned extending variants. Also included the fix to use the zero register when the register encoding is 31 and stack pointer is not expected.

4 years agoFixed aliasing of the bfm, sbfm and ubfm bitfield instructions to their correct variants
Sunny Shah [Tue, 26 Apr 2016 18:35:49 +0000 (13:35 -0500)]
Fixed aliasing of the bfm, sbfm and ubfm bitfield instructions to their correct variants

4 years agoFixes to correctly handle stack pointer in the first source register field
Sunny Shah [Sat, 16 Apr 2016 21:28:52 +0000 (16:28 -0500)]
Fixes to correctly handle stack pointer in the first source register field

The first source register register can be SP only under certain conditions which had not been enforced. This is fixed now.

4 years agoFixes to correctly handle stack pointer in the destination register field
Sunny Shah [Fri, 15 Apr 2016 22:35:24 +0000 (17:35 -0500)]
Fixes to correctly handle stack pointer in the destination register field

The destination register can be SP only under certain conditions which had not been enforced. This is fixed now.

4 years agoFixes for load/store unsigned immediate instructions
Sunny Shah [Thu, 14 Apr 2016 17:26:58 +0000 (12:26 -0500)]
Fixes for load/store unsigned immediate instructions

The immediate in these instructions needs to be left shifted by 4 if size is 0 and high bit of opc is 1.

4 years agoDecoder table modifications to detect LD*R instructions.
Sunny Shah [Thu, 14 Apr 2016 16:43:58 +0000 (11:43 -0500)]
Decoder table modifications to detect LD*R instructions.

New entries have been added to the decoder to distinguish between LD1 and LD1R, LD2 and LD2R, LD3 and LD3R and LD4 and LD4R.

4 years agoAdded definition of a single register representing all implementation defined system...
Sunny Shah [Tue, 5 Apr 2016 21:14:49 +0000 (16:14 -0500)]
Added definition of a single register representing all implementation defined system registers

All s3... named implementation defined system registers will flatten to this register for now.

4 years agoCorrectly handle left shift and 64-bit sign extension for PC relative addressing...
Sunny Shah [Tue, 5 Apr 2016 21:14:00 +0000 (16:14 -0500)]
Correctly handle left shift and 64-bit sign extension for PC relative addressing instructions (ADR and ADRP)

4 years agoThe entire set of implementation defined system registers for ARM64 will flatten...
Sunny Shah [Tue, 5 Apr 2016 18:24:18 +0000 (13:24 -0500)]
The entire set of implementation defined system registers for ARM64 will flatten to a single register named "IMPLEMENTATION_DEFINED_SYSREG".

4 years agoSystem register definitions for ARM64
Sunny Shah [Mon, 4 Apr 2016 21:55:55 +0000 (16:55 -0500)]
System register definitions for ARM64

Added a new file containing the macro definitions for all ARM64 system registers

4 years agoReplaced hyphens in system register names with underscores.
Sunny Shah [Mon, 4 Apr 2016 21:51:06 +0000 (16:51 -0500)]
Replaced hyphens in system register names with underscores.

4 years agoSystem register map supports all system registers
Sunny Shah [Fri, 1 Apr 2016 20:16:06 +0000 (15:16 -0500)]
System register map supports all system registers

Prior to this commit, only EL0 accessible system registers were detected by InstructionAPI. With this commit, registers accessible at all 4 levels will be detected.

4 years agoMax index for system registers that have multiple registers of the same name but...
Sunny Shah [Fri, 1 Apr 2016 18:44:25 +0000 (13:44 -0500)]
Max index for system registers that have multiple registers of the same name but different indices should be 30, if the index field is 5 bits.

4 years agoGenerating output for system register declarations in the dyn_regs header
Sunny Shah [Fri, 1 Apr 2016 18:40:59 +0000 (13:40 -0500)]
Generating output for system register declarations in the dyn_regs header

The Python script that parses system register XMLs now generates the code that needs to be added to dyn_regs.h for register declarations.
This also required the computation of register sizes from the XMLs.

4 years agoPython script to generate system register names and encodings from the XML files
Sunny Shah [Fri, 1 Apr 2016 18:22:48 +0000 (13:22 -0500)]
Python script to generate system register names and encodings from the XML files

The newly added script reads and parses the XML files for the ARM64 system registers and generates the equivalent entries for the system register map, with the mapping from the register encodings to their names.

4 years agoFix uninitialized data in rewriter elf_update (#54)
Josh Stone [Fri, 20 May 2016 21:15:57 +0000 (14:15 -0700)]
Fix uninitialized data in rewriter elf_update (#54)

Valgrind complained of uninitialized data in pwrite during elf_update.
Using --track-origins=yes found three origins to fix:

- trap_mapping_header has a padding field that was unset.  Use memset on
  the whole thing to be sure it's fully initialized.
- Parts of .dyninstInst may not be written due to gaps from inferior
  realloc or free.  Use calloc to initially zero this buffer.
- The new dynstr section leaves a byte of padding between the old and
  new data, but did not set it.  Make that NUL.

4 years agoMerge branch 'master' into VEX
John Detter [Thu, 19 May 2016 15:38:35 +0000 (10:38 -0500)]
Merge branch 'master' into VEX

4 years agoFixed misparsed group instructions
John Detter [Thu, 19 May 2016 15:37:54 +0000 (10:37 -0500)]
Fixed misparsed group instructions

4 years agoBacked off symtab change
John Detter [Thu, 19 May 2016 14:51:20 +0000 (09:51 -0500)]
Backed off symtab change

4 years agoSmall bug/instrution fixes.
John Detter [Wed, 18 May 2016 23:54:05 +0000 (18:54 -0500)]
Small bug/instrution fixes.

4 years agoAdded a variety of instructions including non-volatile memory (prefetch).
John Detter [Tue, 17 May 2016 19:00:29 +0000 (14:00 -0500)]
Added a variety of instructions including non-volatile memory (prefetch).

4 years agoMerge 9.2 branch back to master (#51)
Bill Williams [Mon, 16 May 2016 17:22:24 +0000 (12:22 -0500)]
Merge 9.2 branch back to master (#51)

* Configuration changes: add BUILD_RTLIB and BUILD_DOCS options.

* Skeleton of DataflowAPI manual.

* Handle strings safely in STABS debug info. Thanks to Laksono Adhianto at Rice for the bug report.

* cmake: make the c++11 abi configurable, default unset

GCC 5 made several ABI changes for C++11 support, but they also kept
support for the older ABI.  The macro _GLIBCXX_USE_CXX11_ABI can force
which mode you compile against.

Fedora 22 shipped with GCC 5 configured to use the old ABI by default,
as if -D_GLIBCXX_USE_CXX11_ABI=0, and Fedora 23 moved to the new ABI.
In either case you could make a different choice with that macro, but
any APIs you expose will be ABI-tagged, and programs you link with must
use the same choice.  For working in a Linux distribution, it's usually
best to leave it at the default.

Commit dbd452640a57 forced the old ABI unconditionally.  This patch adds
a cmake USE_CXX11_ABI setting, left blank to use the compiler default,
or set to a cmake boolean to force the new ABI on or off.


* Add PPC return registers to ABI class.

* Write StackAnalysis section.

* Skeleton of DataflowAPI manual.

* Handle strings safely in STABS debug info. Thanks to Laksono Adhianto at Rice for the bug report.

* Remove all unneeded extern template class declarations.

* Configuration changes: add BUILD_RTLIB and BUILD_DOCS options.

4 years agoMore small VEX instruction fixes
John Detter [Sat, 14 May 2016 02:15:22 +0000 (21:15 -0500)]
More small VEX instruction fixes

4 years agoFixed vmread/vmwrite
John Detter [Fri, 13 May 2016 22:55:23 +0000 (17:55 -0500)]
Fixed vmread/vmwrite

4 years agogroup map VEX instructions have much cleaner decoding.
John Detter [Fri, 13 May 2016 22:24:12 +0000 (17:24 -0500)]
group map VEX instructions have much cleaner decoding.

4 years agoMerge branch 'master' into VEX
John Detter [Fri, 13 May 2016 21:48:39 +0000 (16:48 -0500)]
Merge branch 'master' into VEX

4 years agoMerge branch 'master' of http://github.com/dyninst/dyninst
John Detter [Fri, 13 May 2016 21:48:32 +0000 (16:48 -0500)]
Merge branch 'master' of github.com/dyninst/dyninst

4 years agoFixing some VEX instruction bugs
John Detter [Fri, 13 May 2016 21:48:10 +0000 (16:48 -0500)]
Fixing some VEX instruction bugs

4 years agofix#48 (#49)
Bill Williams [Fri, 13 May 2016 21:01:02 +0000 (16:01 -0500)]
fix#48 (#49)

* Fix broken conditional.

* Fix broken conditional.

4 years agosymtabAPI: don't free cuDIE in parseLineInfoForCU (#47)
Josh Stone [Fri, 13 May 2016 19:59:59 +0000 (15:59 -0400)]
symtabAPI: don't free cuDIE in parseLineInfoForCU (#47)

The cuDIE in parseLineInfoForCU is a parameter, so it shouldn't act like
it owns this.  But it was calling dwarf_dealloc when that CU had no line
info, which led to a double-free crash when the callers tried to free
that cuDIE itself.  Just return and let the proper owner do it.

The double-free was easily reproducible on Fedora 23 x86_64, test1_30.

4 years agoMerge pull request #46 from cuviper/symtab-spam
Bill Williams [Fri, 13 May 2016 19:58:24 +0000 (14:58 -0500)]
Merge pull request #46 from cuviper/symtab-spam

symtabAPI: comment out some debug chatter

4 years agoMerge branch 'master' into VEX
John Detter [Fri, 13 May 2016 19:35:44 +0000 (14:35 -0500)]
Merge branch 'master' into VEX

4 years agoMerge branch 'master' of http://github.com/dyninst/dyninst
John Detter [Fri, 13 May 2016 19:35:36 +0000 (14:35 -0500)]
Merge branch 'master' of github.com/dyninst/dyninst

4 years agoMinor Refactoring
John Detter [Fri, 13 May 2016 19:35:04 +0000 (14:35 -0500)]
Minor Refactoring