dyninst.git
3 years agoMerge pull request #291 from dyninst/release9.3/fixes/manuals
Bill Williams [Wed, 7 Dec 2016 21:25:17 +0000 (15:25 -0600)]
Merge pull request #291 from dyninst/release9.3/fixes/manuals

Update manual version numbers and minor fixes

3 years agoUpdate manual version numbers and minor fixes 291/head
Xiaozhu Meng [Wed, 7 Dec 2016 19:43:17 +0000 (13:43 -0600)]
Update manual version numbers and minor fixes

3 years agoMerge pull request #287 from dyninst/wrwilliams/line_info
Bill Williams [Wed, 7 Dec 2016 16:55:36 +0000 (10:55 -0600)]
Merge pull request #287 from dyninst/wrwilliams/line_info

Line info cleanup

3 years agoMerge pull request #289 from dyninst/stackanalysis_safety
Bill Williams [Tue, 6 Dec 2016 22:15:11 +0000 (16:15 -0600)]
Merge pull request #289 from dyninst/stackanalysis_safety

Remove stackanalysis assertions

3 years agoWrap stackanalysis in a try-catch per function, and replace assertions with exceptions. 289/head
Bill Williams [Tue, 6 Dec 2016 19:49:33 +0000 (13:49 -0600)]
Wrap stackanalysis in a try-catch per function, and replace assertions with exceptions.

3 years agoExtract ranges from statements if all else fails. 287/head
Bill Williams [Fri, 2 Dec 2016 19:26:02 +0000 (13:26 -0600)]
Extract ranges from statements if all else fails.

3 years agoCleaned up equal_range: it *must* use boost::tuple, not std::tuple, in order to look...
Bill Williams [Fri, 2 Dec 2016 19:22:48 +0000 (13:22 -0600)]
Cleaned up equal_range: it *must* use boost::tuple, not std::tuple, in order to look up by multiple fields of a composite key, but that works.

3 years agoDwarfWalker now ignores a lowpc/highpc entry of (0,0) and hands it back as "failed...
Bill Williams [Wed, 30 Nov 2016 20:03:16 +0000 (14:03 -0600)]
DwarfWalker now ignores a lowpc/highpc entry of (0,0) and hands it back as "failed to parse"; it's never meaningful DWARF and we shouldn't pretend it is.

3 years agoAdded interface to query whether a module already has address range information,...
Bill Williams [Wed, 30 Nov 2016 20:02:06 +0000 (14:02 -0600)]
Added interface to query whether a module already has address range information, and reindented--this had become a ragged mess of 3 space/4 space/tab indents. Fixed merge issues from architecture auto-detection.

3 years agoMerge pull request #228 from mxz297/master
Bill Williams [Fri, 2 Dec 2016 21:37:55 +0000 (14:37 -0700)]
Merge pull request #228 from mxz297/master

Merge ARM instruction semantics and jump table parsing

3 years agoMerge pull request #279 from rafzi/patch-1
Bill Williams [Fri, 2 Dec 2016 19:19:48 +0000 (12:19 -0700)]
Merge pull request #279 from rafzi/patch-1

Fix dependency of LibDwarf

3 years agoMerge pull request #284 from dyninst/ppc_elf_fix
Bill Williams [Fri, 2 Dec 2016 18:13:08 +0000 (11:13 -0700)]
Merge pull request #284 from dyninst/ppc_elf_fix

Use in-place translation

3 years agoMerge pull request #285 from dyninst/sfm/fixes/untouched_blocks
morehouse [Thu, 1 Dec 2016 22:18:19 +0000 (16:18 -0600)]
Merge pull request #285 from dyninst/sfm/fixes/untouched_blocks

Sfm/fixes/untouched blocks

3 years agoAvoid unnecessary block revisits in StackAnalyis. 285/head
Matt Morehouse [Thu, 1 Dec 2016 20:57:41 +0000 (14:57 -0600)]
Avoid unnecessary block revisits in StackAnalyis.

3 years agoAnalyze all blocks at least once in fixpoint.
Matt Morehouse [Thu, 1 Dec 2016 20:22:47 +0000 (14:22 -0600)]
Analyze all blocks at least once in fixpoint.

3 years agoMerge branch 'master' into arm64/feature/semantics 228/head
Sunny Shah [Thu, 1 Dec 2016 17:28:58 +0000 (11:28 -0600)]
Merge branch 'master' into arm64/feature/semantics

3 years agoUse in-place translation 284/head
William Williams [Thu, 1 Dec 2016 17:22:25 +0000 (09:22 -0800)]
Use in-place translation

3 years agoMerge remote-tracking branch 'mx297/master' into arm64/feature/semantics
Sunny Shah [Thu, 1 Dec 2016 17:22:24 +0000 (11:22 -0600)]
Merge remote-tracking branch 'mx297/master' into arm64/feature/semantics

3 years agocmake: only make LibDwarf depend on LibElf if that exists 279/head
rafzi [Wed, 30 Nov 2016 22:57:19 +0000 (23:57 +0100)]
cmake: only make LibDwarf depend on LibElf if that exists

3 years agoMerge pull request #280 from cuviper/yama-process_vm_rw
Josh Stone [Wed, 30 Nov 2016 22:54:55 +0000 (14:54 -0800)]
Merge pull request #280 from cuviper/yama-process_vm_rw

common: use ptrace if yama blocked process_vm_readv/writev

3 years agoMerge pull request #261 from cuviper/procs-erase-inc
Josh Stone [Wed, 30 Nov 2016 22:54:40 +0000 (14:54 -0800)]
Merge pull request #261 from cuviper/procs-erase-inc

proccontrol: fix double-increment while erasing a dead process

3 years agoMerge pull request #259 from cuviper/scrub-failed-createThread
Josh Stone [Wed, 30 Nov 2016 22:54:28 +0000 (14:54 -0800)]
Merge pull request #259 from cuviper/scrub-failed-createThread

proccontrol: scrub newly created threads that fail to attach

3 years agocommon: use ptrace if yama blocked process_vm_readv/writev 280/head
Josh Stone [Wed, 30 Nov 2016 02:27:29 +0000 (18:27 -0800)]
common: use ptrace if yama blocked process_vm_readv/writev

Having sysctl kernel.yama.ptrace_scope=1, one may only call ptrace
attach on direct descendants.  The same restriction is also checked for
`process_vm_readv`/`writev` and certain procfs files.  However, if an
intermediate parent process already exited, we could end up with a
grandchild that we're still ptracing but isn't our descendant, so we
can't use the `process_vm` functions anymore -> `EPERM`.

We already had a fallback here for `EFAULT`, to just use `ptrace` memory
access, so use the same fallback after `EPERM` too.

Fixes #274.

3 years agoMerge pull request #277 from dyninst/release9.2/fixes/ppc-fixes
John Detter [Tue, 29 Nov 2016 21:57:40 +0000 (15:57 -0600)]
Merge pull request #277 from dyninst/release9.2/fixes/ppc-fixes

Cleanup ppc (and old gcc) issues

3 years agoFix dependency of LibDwarf
rafzi [Tue, 29 Nov 2016 21:52:20 +0000 (22:52 +0100)]
Fix dependency of LibDwarf

Dyninst would not build on the first run when libelf and libdwarf are not installed on the system.

3 years agoRemoved references to nullptr 277/head
John Detter [Tue, 29 Nov 2016 21:08:44 +0000 (15:08 -0600)]
Removed references to nullptr

3 years agoMerge pull request #273 from ikitayama/myv9.2.0
Bill Williams [Tue, 29 Nov 2016 17:06:27 +0000 (10:06 -0700)]
Merge pull request #273 from ikitayama/myv9.2.0

Compiling DynInst v9.2.0 on arm64

3 years agoMerge pull request #260 from dyninst/proccontrol/doc/tracking
Bill Williams [Tue, 29 Nov 2016 17:05:42 +0000 (10:05 -0700)]
Merge pull request #260 from dyninst/proccontrol/doc/tracking

Document some of the ProcControlAPI options in PlatFeatures.h.

3 years agoRevised ProcControlAPI platform-specific feature documentation. 260/head
Matt Morehouse [Mon, 28 Nov 2016 17:45:39 +0000 (11:45 -0600)]
Revised ProcControlAPI platform-specific feature documentation.

3 years agoMerge branch 'master' of https://github.com/dyninst/dyninst into proccontrol/doc...
Matt Morehouse [Mon, 28 Nov 2016 17:44:54 +0000 (11:44 -0600)]
Merge branch 'master' of https://github.com/dyninst/dyninst into proccontrol/doc/tracking

3 years agofix warnings under lto
Peter Foley [Fri, 25 Nov 2016 04:58:49 +0000 (23:58 -0500)]
fix warnings under lto

3 years agoAs reported by Will on the list, 273/head
Itaru Kitayama [Wed, 23 Nov 2016 01:32:16 +0000 (19:32 -0600)]
As reported by Will on the list,

https://www-auth.cs.wisc.edu/lists/dyninst-api/2015/msg00382.shtml

For the v9.2.0 release to be built on arm64, dyninst needs to be
aware of the namge changes.

3 years agoproccontrol: fix another process erasure during attach 261/head
Josh Stone [Mon, 21 Nov 2016 19:52:48 +0000 (11:52 -0800)]
proccontrol: fix another process erasure during attach

If a process initially failed to attach threads, a `pthrd_printf` was
indicating that it would try again, but the process was getting erased
from the set while incorrectly causing the iterator to double-increment.

Now the messages about "will try again" and "now an error" are changed
to simply report an immediate error, and it continus the loop after
process erasure to avoid incrementing the iterator again.

3 years agoOn x86, and instruction would generate an zf assignment that looks like an assignment...
Xiaozhu Meng [Mon, 21 Nov 2016 15:39:13 +0000 (09:39 -0600)]
On x86, and instruction would generate an zf assignment that looks like an assignment generated from a cmp instruction.
The zf assignment from and needs special handling from a zf assignment from cmp.

3 years agofix unused but set warning
Peter Foley [Mon, 21 Nov 2016 08:18:34 +0000 (03:18 -0500)]
fix unused but set warning

3 years agoFix writable string warning
Peter Foley [Mon, 21 Nov 2016 08:14:20 +0000 (03:14 -0500)]
Fix writable string warning

C.y:43:25: warning: ISO C++ forbids converting a string constant to
‘char*’ [-Wwrite-strings]

3 years agoremove trailing whitespace
Peter Foley [Mon, 21 Nov 2016 08:13:37 +0000 (03:13 -0500)]
remove trailing whitespace

3 years agodisable cmake boost debugging by default
Peter Foley [Mon, 21 Nov 2016 07:39:32 +0000 (02:39 -0500)]
disable cmake boost debugging by default

3 years agofix cmake warning
Peter Foley [Mon, 21 Nov 2016 07:39:15 +0000 (02:39 -0500)]
fix cmake warning

3 years agoAddress calculation should use 64-bit integers..
Xiaozhu Meng [Mon, 21 Nov 2016 04:03:43 +0000 (22:03 -0600)]
Address calculation should use 64-bit integers..

3 years ago1. An indirect jump may be shared by several different jump tables. Add value set...
Xiaozhu Meng [Mon, 21 Nov 2016 02:49:25 +0000 (20:49 -0600)]
1. An indirect jump may be shared by several different jump tables. Add value set representations so that we can union jump targets from different tables.
2. Separate input absloc from absloc at the current address, as they may have different values

3 years agoClean parsing log messages
Xiaozhu Meng [Sat, 19 Nov 2016 23:28:41 +0000 (17:28 -0600)]
Clean parsing log messages

3 years agoproccontrol: fix double-increment while erasing a dead process
Josh Stone [Fri, 18 Nov 2016 22:49:41 +0000 (14:49 -0800)]
proccontrol: fix double-increment while erasing a dead process

In the attach loop over waitfor_startup(), processes which fail are
erased from the set.  However, the iterator was getting incremented
again, which will skip the next process or even cause undefined behavior
if already at the end of the list.

With GCC 6.2.1, that UB manifested as an infinite loop on a self-
referential rbtree node.

The simple solution is to `continue` the loop after `erase(i++)`, as is
done in many other places with this same pattern.

3 years agoDocument some of the ProcControlAPI options in PlatFeatures.h.
Matt Morehouse [Thu, 17 Nov 2016 19:42:00 +0000 (13:42 -0600)]
Document some of the ProcControlAPI options in PlatFeatures.h.

3 years agoStubs for fixing PPC binaries without OPD sections
Bill Williams [Thu, 17 Nov 2016 18:40:46 +0000 (12:40 -0600)]
Stubs for fixing PPC binaries without OPD sections

3 years agoPPC build fixed
Bill Williams [Thu, 17 Nov 2016 17:33:36 +0000 (11:33 -0600)]
PPC build fixed

3 years agoproccontrol: scrub newly created threads that fail to attach 259/head
Josh Stone [Wed, 16 Nov 2016 21:44:37 +0000 (13:44 -0800)]
proccontrol: scrub newly created threads that fail to attach

If `int_thread::createThread` failed to actually attach to the thread,
it was leaving the thread object in the process in the `neonatal` state.
This failed assertions later when trying to stop all of the process's
threads, as it would have handler `stopped` and generator `neonatal`.

Now when a thread attach fails, it is set to `errorstate` and removed
from the active thread pools.  The assumption is that this thread simply
exited before we could attach, but we can't be sure of that without
having access to the ptrace return code (`ESRCH`).

3 years agoMerge pull request #205 from dyninst/dync_windows
Bill Williams [Tue, 15 Nov 2016 22:43:38 +0000 (15:43 -0700)]
Merge pull request #205 from dyninst/dync_windows

Make dynC work on windows

3 years agoMerge pull request #231 from cuviper/constrain-trymmap-master
Bill Williams [Tue, 15 Nov 2016 18:01:53 +0000 (11:01 -0700)]
Merge pull request #231 from cuviper/constrain-trymmap-master

RT: trymmap should retry if the result is out of range

3 years agoRT: trymmap should retry if the result is out of range 231/head
Josh Stone [Fri, 9 Sep 2016 21:27:49 +0000 (14:27 -0700)]
RT: trymmap should retry if the result is out of range

An address passed to `mmap` is just taken as a hint, and the OS may
return something wildly different if that address is not available.
This is undesirable when we're trying to create a constrained alloc.

Now we will check that the address is in the requested range before
accepting it.  Otherwise, unmap it and try a new hint.

3 years agoMerge pull request #186 from dyninst/release9.2/fixes/eh_frame_rewriting
Bill Williams [Mon, 14 Nov 2016 18:11:24 +0000 (11:11 -0700)]
Merge pull request #186 from dyninst/release9.2/fixes/eh_frame_rewriting

Exception frame rewriting fixes

3 years agoRemove fprintf output
Xiaozhu Meng [Mon, 14 Nov 2016 01:39:46 +0000 (19:39 -0600)]
Remove fprintf output

3 years agoSemantics for BIC and BFM variants
Sunny Shah [Fri, 11 Nov 2016 22:17:22 +0000 (16:17 -0600)]
Semantics for BIC and BFM variants

Instructions covered:
* BIC
* BICS
* BFM
* BFXIL
* BFI

3 years agoDo not output missing semantics to stderr
Xiaozhu Meng [Fri, 11 Nov 2016 20:24:47 +0000 (14:24 -0600)]
Do not output missing semantics to stderr

3 years agoException rewriting tests passing 186/head
John Detter [Fri, 11 Nov 2016 20:22:13 +0000 (14:22 -0600)]
Exception rewriting tests passing

3 years agoMerge ARM jump table parsing and instruction semantics into master
Xiaozhu Meng [Fri, 11 Nov 2016 19:59:00 +0000 (13:59 -0600)]
Merge ARM jump table parsing and instruction semantics into master

Conflicts:
common/src/dyn_regs.C
dataflowAPI/rose/semantics/SymEvalSemantics.C
parseAPI/src/BoundFactData.C
parseAPI/src/JumpTablePred.C
parseAPI/src/JumpTablePred.h

3 years agoOnly stop slicing when encoutering missing instruction semantics on ARM
Xiaozhu Meng [Fri, 11 Nov 2016 19:41:04 +0000 (13:41 -0600)]
Only stop slicing when encoutering missing instruction semantics on ARM

3 years agoMerge pull request #226 from dyninst/origin-master
Bill Williams [Fri, 11 Nov 2016 16:57:15 +0000 (10:57 -0600)]
Merge pull request #226 from dyninst/origin-master

line info bugfixes

3 years agoMerge pull request #206 from dyninst/icc_flags
Bill Williams [Fri, 11 Nov 2016 16:56:48 +0000 (10:56 -0600)]
Merge pull request #206 from dyninst/icc_flags

Fix icc warning flags

3 years agoMerge pull request #182 from rafzi/pr3_arch_from_elf
Bill Williams [Fri, 11 Nov 2016 16:56:39 +0000 (10:56 -0600)]
Merge pull request #182 from rafzi/pr3_arch_from_elf

Determine the architecture of an ELF by looking at the file header in…

3 years agoWhen we encounter instructions without instruction semantics, we should stop jump...
Xiaozhu Meng [Fri, 11 Nov 2016 16:17:20 +0000 (10:17 -0600)]
When we encounter instructions without instruction semantics, we should stop jump table analyis.
In such case, if the missing instruction is key to the jump table analysis, we will not be able to
resolve it. If the missing instruction is not relevant to the jump table analysis, the slicing
is including unnecessary instruction. In either case, we should fix things.

3 years agoOn ARM, many jump table reads are one-byte memory reads. Assuming one-byte read yield...
Xiaozhu Meng [Fri, 11 Nov 2016 15:54:00 +0000 (09:54 -0600)]
On ARM, many jump table reads are one-byte memory reads. Assuming one-byte read yields a value in [0,255] would cause too many bogus edges. Disable this heuristics on ARM

3 years agoFix checking of zero flag for table index
Xiaozhu Meng [Fri, 11 Nov 2016 15:49:56 +0000 (09:49 -0600)]
Fix checking of zero flag for table index

3 years agoRegenerate flex/bison files to fix build on windows. 205/head
Peter Foley [Fri, 1 Jul 2016 23:30:22 +0000 (19:30 -0400)]
Regenerate flex/bison files to fix build on windows.

3 years agodynC for Windows
Peter Foley [Fri, 1 Jul 2016 18:27:32 +0000 (14:27 -0400)]
dynC for Windows

3 years agoMerge remote-tracking branch 'upstream/release9.2/fixes/object-elf-arch-defs' into... 182/head
Rafael Stahl [Thu, 10 Nov 2016 23:08:53 +0000 (00:08 +0100)]
Merge remote-tracking branch 'upstream/release9.2/fixes/object-elf-arch-defs' into pr3_arch_from_elf

Conflicts:
symtabAPI/src/Object-elf.C

3 years agoObject-nt: implement getArch
Rafael Stahl [Wed, 28 Sep 2016 14:33:29 +0000 (16:33 +0200)]
Object-nt: implement getArch

3 years agoObject-nt: Fix member function constness
Rafael Stahl [Sun, 25 Sep 2016 19:26:37 +0000 (21:26 +0200)]
Object-nt: Fix member function constness

3 years agoDetermine the architecture of an ELF by looking at the file header instead of the...
Rafael Stahl [Sun, 25 Sep 2016 19:05:11 +0000 (21:05 +0200)]
Determine the architecture of an ELF by looking at the file header instead of the compiled architecture

3 years agoMerge remote-tracking branch 'origin/origin-master' into origin-master 226/head
Bill Williams [Thu, 10 Nov 2016 22:32:35 +0000 (16:32 -0600)]
Merge remote-tracking branch 'origin/origin-master' into origin-master

3 years agoSafeguard against infinite loop
Bill Williams [Thu, 10 Nov 2016 21:30:43 +0000 (15:30 -0600)]
Safeguard against infinite loop

3 years agoFix for broken libelfs that can't handle translate-in-place on Elf_Data.
Bill Williams [Thu, 10 Nov 2016 20:01:07 +0000 (14:01 -0600)]
Fix for broken libelfs that can't handle translate-in-place on Elf_Data.

3 years agoMerge pull request #225 from dyninst/origin-master
Bill Williams [Thu, 10 Nov 2016 22:03:39 +0000 (16:03 -0600)]
Merge pull request #225 from dyninst/origin-master

LibraryTracker documentation

3 years agoMerge branch 'arm64/feature/semantics' of /home/ssunny/dyninst/dyninst-code into...
Xiaozhu Meng [Thu, 10 Nov 2016 21:48:23 +0000 (15:48 -0600)]
Merge branch 'arm64/feature/semantics' of /home/ssunny/dyninst/dyninst-code into upstream/arm64/feature/semantics

3 years ago1. Add timing statistics for parsing
Xiaozhu Meng [Thu, 10 Nov 2016 21:47:13 +0000 (15:47 -0600)]
1. Add timing statistics for parsing
2. Fix tail call heuristics for ARM
3. Eliminate redundant indirect edges

3 years agoSafeguard against infinite loop
Bill Williams [Thu, 10 Nov 2016 21:30:43 +0000 (15:30 -0600)]
Safeguard against infinite loop

3 years agoMerge pull request #214 from cuviper/attach-thread-sync
Bill Williams [Thu, 10 Nov 2016 21:07:42 +0000 (15:07 -0600)]
Merge pull request #214 from cuviper/attach-thread-sync

proccontrol: Synchronize additional threads found during attach

3 years agoFix for broken libelfs that can't handle translate-in-place on Elf_Data.
Bill Williams [Thu, 10 Nov 2016 20:01:07 +0000 (14:01 -0600)]
Fix for broken libelfs that can't handle translate-in-place on Elf_Data.

3 years agoLibraryTracker documentation 225/head
Bill Williams [Wed, 9 Nov 2016 17:31:16 +0000 (11:31 -0600)]
LibraryTracker documentation

3 years agoMerge branch 'arm64/feature/semantics' of bigking.cs.wisc.edu:/u/s/s/ssunny/dev-home...
Sunny Shah [Thu, 10 Nov 2016 19:16:03 +0000 (13:16 -0600)]
Merge branch 'arm64/feature/semantics' of bigking.cs.wisc.edu:/u/s/s/ssunny/dev-home/dyninst/dyninst-code into arm64/feature/semantics

3 years agoSemantics for immediate variants of LSL, LSR and ASR
Sunny Shah [Thu, 10 Nov 2016 18:24:21 +0000 (12:24 -0600)]
Semantics for immediate variants of LSL, LSR and ASR

3 years agoproccontrol: move thread sync to linux_process, and count neonatal 214/head
Josh Stone [Thu, 10 Nov 2016 02:13:28 +0000 (18:13 -0800)]
proccontrol: move thread sync to linux_process, and count neonatal

3 years agoMerge branch 'upstream/arm64/feature/semantics' of coriander.cs.wisc.edu:/p/paradyn...
Xiaozhu Meng [Mon, 7 Nov 2016 17:37:19 +0000 (11:37 -0600)]
Merge branch 'upstream/arm64/feature/semantics' of coriander.cs.wisc.edu:/p/paradyn/development/xmeng/dyninstapi/dyninst_development/dyninst into upstream/arm64/feature/semantics

3 years agoSemantics for EOR variants and EON
Sunny Shah [Mon, 7 Nov 2016 16:48:58 +0000 (10:48 -0600)]
Semantics for EOR variants and EON

3 years agoSemantics for ORR variants (including two MOV instructions), ORN and AND/ANDS variants
Sunny Shah [Mon, 7 Nov 2016 16:42:47 +0000 (10:42 -0600)]
Semantics for ORR variants (including two MOV instructions), ORN and AND/ANDS variants

The semantics use the newly added LogicalOp enum to identify the type of
logical operation.

3 years agoMerge branch 'upstream/arm64/feature/semantics' of coriander.cs.wisc.edu:/p/paradyn...
Xiaozhu Meng [Mon, 7 Nov 2016 14:51:19 +0000 (08:51 -0600)]
Merge branch 'upstream/arm64/feature/semantics' of coriander.cs.wisc.edu:/p/paradyn/development/xmeng/dyninstapi/dyninst_development/dyninst into upstream/arm64/feature/semantics

3 years agoInstruction decoding fix: Alias ORR to MOV when the first source operand is WZR and...
Sunny Shah [Sun, 6 Nov 2016 23:41:34 +0000 (17:41 -0600)]
Instruction decoding fix: Alias ORR to MOV when the first source operand is WZR and the 'shift'
and 'imm6' fields are both 0.

3 years agofix AddressRange forward declarations
Peter Foley [Sun, 6 Nov 2016 16:35:19 +0000 (11:35 -0500)]
fix AddressRange forward declarations

3 years agoFix warnings
Peter Foley [Sun, 6 Nov 2016 04:41:59 +0000 (00:41 -0400)]
Fix warnings

3 years agofix icc warning flags 206/head
Peter Foley [Wed, 6 Jul 2016 13:58:54 +0000 (09:58 -0400)]
fix icc warning flags

3 years agoproccontrol: Synchronize additional threads found during attach
Josh Stone [Sat, 5 Nov 2016 01:31:28 +0000 (18:31 -0700)]
proccontrol: Synchronize additional threads found during attach

When additional threads are found during the attach process, we should
synchronize to their stopping point, and check for new threads again,
until no new threads are found.  This keeps a more consistent state if
threads are racing to start while we're attaching.

3 years agocommon: include ostream in IBSTree.h
Josh Stone [Fri, 4 Nov 2016 19:06:31 +0000 (12:06 -0700)]
common: include ostream in IBSTree.h

It's needed to solve this error with GCC 6.2:

common/h/IBSTree.h:138:32: error: ‘endl’ is not a member of ‘std’
         stream << node.val_ << std::endl;
                                ^~~

3 years agoMerge branch 'arm64/feature/semantics' of /home/ssunny/dyninst/dyninst-code into...
Xiaozhu Meng [Fri, 4 Nov 2016 18:53:35 +0000 (13:53 -0500)]
Merge branch 'arm64/feature/semantics' of /home/ssunny/dyninst/dyninst-code into upstream/arm64/feature/semantics

3 years agoFix for decoding error in register based load/store instructions
Sunny Shah [Fri, 4 Nov 2016 17:14:35 +0000 (12:14 -0500)]
Fix for decoding error in register based load/store instructions

The shift amount for the second source register in load/store (register)
instructions should depend only on the value of the 'S' field.

3 years agoFix for decoding error in register based load/store instructions
Sunny Shah [Fri, 4 Nov 2016 17:14:35 +0000 (12:14 -0500)]
Fix for decoding error in register based load/store instructions

The shift amount for the second source register in load/store (register)
instructions should depend only on the value of the 'S' field.

3 years agoMerge pull request #171 from pefoley2/lto
Bill Williams [Fri, 4 Nov 2016 15:56:18 +0000 (10:56 -0500)]
Merge pull request #171 from pefoley2/lto

Support building with LTO

3 years agoMerge pull request #212 from cuviper/fix_pc_thread_disappears
Bill Williams [Thu, 3 Nov 2016 21:03:20 +0000 (16:03 -0500)]
Merge pull request #212 from cuviper/fix_pc_thread_disappears

Fix errors when thread disappears during attach

3 years agoMerge pull request #135 from dyninst/release9.2/fixes/line_info
Bill Williams [Thu, 3 Nov 2016 21:02:00 +0000 (16:02 -0500)]
Merge pull request #135 from dyninst/release9.2/fixes/line_info

Line info optimizations

3 years agoUpdated semantics for SBFM and UBFM variants
Sunny Shah [Thu, 3 Nov 2016 19:28:59 +0000 (14:28 -0500)]
Updated semantics for SBFM and UBFM variants

Semantics updated to not make redundant function calls with the same arguments. Also added implementation for DispatcherARM64::getBitfieldMask().

3 years agoRemove redundant stream operator definitions to make CLang happy 135/head
Bill Williams [Wed, 2 Nov 2016 16:38:45 +0000 (11:38 -0500)]
Remove redundant stream operator definitions to make CLang happy