dyninst.git
3 years agoFixed bad assembly 307/head
Bill Williams [Thu, 22 Dec 2016 22:00:37 +0000 (16:00 -0600)]
Fixed bad assembly

3 years agoGuard with cap_stack_mod
Bill Williams [Thu, 22 Dec 2016 17:58:46 +0000 (11:58 -0600)]
Guard with cap_stack_mod

3 years agoMerge pull request #302 from dyninst/wrwilliams/pcontrol_fix
Bill Williams [Wed, 21 Dec 2016 21:54:25 +0000 (15:54 -0600)]
Merge pull request #302 from dyninst/wrwilliams/pcontrol_fix

Bug fix for PR#294

3 years agoFixed heading markdown
Bill Williams [Wed, 21 Dec 2016 20:37:11 +0000 (14:37 -0600)]
Fixed heading markdown

3 years agoClean up memory leaks in binary rewriting. 302/head
Bill Williams [Wed, 21 Dec 2016 19:45:11 +0000 (13:45 -0600)]
Clean up memory leaks in binary rewriting.

3 years agoMerge pull request #297 from dyninst/release9.3/fixes/dyninstAPI_manual
Bill Williams [Wed, 21 Dec 2016 17:22:04 +0000 (11:22 -0600)]
Merge pull request #297 from dyninst/release9.3/fixes/dyninstAPI_manual

More manual fixes

3 years agoVersion bump for release.
Bill Williams [Tue, 20 Dec 2016 20:29:39 +0000 (14:29 -0600)]
Version bump for release.

3 years agoFix non-ARM register read: the do_ptrace from PEEK* returns the value read, and a... 301/head
Bill Williams [Tue, 20 Dec 2016 20:06:23 +0000 (14:06 -0600)]
Fix non-ARM register read: the do_ptrace from PEEK* returns the value read, and a non-zero result is not an error. -1 indicates that we should check errno.

3 years agoMerge f47d0f6d5aa5878147dac31a86eabcc22f259da2 into 348e18947cf790e5fff8405e93140487c...
Itaru Kitayama [Mon, 19 Dec 2016 22:58:17 +0000 (22:58 +0000)]
Merge f47d0f6d5aa5878147dac31a86eabcc22f259da2 into 348e18947cf790e5fff8405e93140487ce96373e

3 years agoMerge pull request #298 from teco-kit/master
Bill Williams [Mon, 19 Dec 2016 22:56:53 +0000 (16:56 -0600)]
Merge pull request #298 from teco-kit/master

Fix omitting leading 0's when concatenating hex bytes in stringstream

3 years agoMerge pull request #286 from dyninst/release9.3/fixes/test_pt_ls
Bill Williams [Mon, 19 Dec 2016 22:53:45 +0000 (16:53 -0600)]
Merge pull request #286 from dyninst/release9.3/fixes/test_pt_ls

Passing test_pt_ls (at least on RHEL7)

3 years agoTreat calls as non-sensitive in normal mode. 286/head
Bill Williams [Mon, 19 Dec 2016 21:08:30 +0000 (15:08 -0600)]
Treat calls as non-sensitive in normal mode.

3 years agoFix Windows build
Bill Williams [Mon, 19 Dec 2016 16:59:29 +0000 (10:59 -0600)]
Fix Windows build

3 years agoFixes to reduce quantity of stack analysis required (we were performing it by default...
Bill Williams [Mon, 19 Dec 2016 16:35:44 +0000 (10:35 -0600)]
Fixes to reduce quantity of stack analysis required (we were performing it by default when performing any absloc/absregion analysis) and to ensure stack analysis performed during relocation gets cleaned up afterward.

3 years agoarm64 check return value of the ptrace systemcall, not errno 294/head
Itaru Kitayama [Fri, 16 Dec 2016 12:46:43 +0000 (06:46 -0600)]
arm64 check return value of the ptrace systemcall, not errno

3 years agoBuild fixes for Windows
John Detter [Wed, 14 Dec 2016 18:28:58 +0000 (12:28 -0600)]
Build fixes for Windows

3 years agoMerge branch 'wrwilliams/rtlib_autodetect' of http://github.com/dyninst/dyninst into...
John Detter [Wed, 14 Dec 2016 17:11:14 +0000 (11:11 -0600)]
Merge branch 'wrwilliams/rtlib_autodetect' of github.com/dyninst/dyninst into release9.3/fixes/test_pt_ls

3 years agoFix omitting leading 0's when concatenating hex bytes in stringstream 298/head
mneumann [Tue, 13 Dec 2016 13:16:38 +0000 (14:16 +0100)]
Fix omitting leading 0's when concatenating hex bytes in stringstream

3 years agoAdd description for BPatch::registerDynamicCallCallback and document BPatch_point... 297/head
Xiaozhu Meng [Mon, 12 Dec 2016 19:19:39 +0000 (13:19 -0600)]
Add description for BPatch::registerDynamicCallCallback and document BPatch_point::monitorCalls and BPatch_point::stopMonitoring

3 years agoarm64 remove SYSCALL_EXIT_BREAKPOINT define and the DSIABLE_POSTONE code
Itaru Kitayama [Sat, 10 Dec 2016 07:53:58 +0000 (01:53 -0600)]
arm64 remove SYSCALL_EXIT_BREAKPOINT define and the DSIABLE_POSTONE code

3 years agoarm64: remove syscall tracing workaround
Itaru Kitayama [Sat, 10 Dec 2016 04:42:22 +0000 (22:42 -0600)]
arm64: remove syscall tracing workaround

3 years agoAdd windows-ish implementation for process-level getRTLibName. 293/head
Bill Williams [Thu, 8 Dec 2016 22:10:01 +0000 (16:10 -0600)]
Add windows-ish implementation for process-level getRTLibName.

3 years agoWarning cleanup
Bill Williams [Thu, 8 Dec 2016 21:34:54 +0000 (15:34 -0600)]
Warning cleanup

3 years agoFix statically linked rewriting crash?
Bill Williams [Thu, 8 Dec 2016 21:34:45 +0000 (15:34 -0600)]
Fix statically linked rewriting crash?

3 years agoAuto-detect RTlib name on Unix-ish based on library paths
Bill Williams [Wed, 16 Nov 2016 19:58:10 +0000 (13:58 -0600)]
Auto-detect RTlib name on Unix-ish based on library paths

3 years agoWarning cleanup
Bill Williams [Wed, 7 Dec 2016 21:56:22 +0000 (15:56 -0600)]
Warning cleanup

3 years agoMerge pull request #292 from dyninst/wrwilliams/papercuts
Bill Williams [Wed, 7 Dec 2016 21:55:02 +0000 (15:55 -0600)]
Merge pull request #292 from dyninst/wrwilliams/papercuts

Small fixes

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 agoFixed build for gcc 4.4: structs can't be defined inside functions. Also removed... 292/head
Bill Williams [Wed, 7 Dec 2016 20:47:42 +0000 (14:47 -0600)]
Fixed build for gcc 4.4: structs can't be defined inside functions. Also removed lurking debug output.

3 years agoFix fencepost error in string table guard; get shared pointer once rather than at...
Bill Williams [Wed, 7 Dec 2016 20:47:01 +0000 (14:47 -0600)]
Fix fencepost error in string table guard; get shared pointer once rather than at each use so that it can't disappear mid-function by accident.

3 years agoFix crash when walking backward through blocks ending in fallthrough edges only
Bill Williams [Wed, 7 Dec 2016 20:45:56 +0000 (14:45 -0600)]
Fix crash when walking backward through blocks ending in fallthrough edges only

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 agoAdd StackAnalysis handling for pushing memory values on stack.
Matt Morehouse [Mon, 5 Dec 2016 22:15:18 +0000 (16:15 -0600)]
Add StackAnalysis handling for pushing memory values on stack.

3 years agoMerge branch 'master' of https://github.com/dyninst/dyninst into release9.3/fixes...
Matt Morehouse [Mon, 5 Dec 2016 21:12:48 +0000 (15:12 -0600)]
Merge branch 'master' of https://github.com/dyninst/dyninst into release9.3/fixes/test_pt_ls

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 agoFix findMain analysis: we should analyze the first instruction before the call
Xiaozhu Meng [Fri, 2 Dec 2016 15:38:24 +0000 (09:38 -0600)]
Fix findMain analysis: we should analyze the first instruction before the call

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