dyninst.git
10 years agoUpdate copyright to LGPL on all files
Matthew Legendre [Mon, 23 Nov 2009 23:40:07 +0000 (17:40 -0600)]
Update copyright to LGPL on all files

10 years agoAdd test_snip_remove to testsuite.
Madhavi Krishnan [Fri, 13 Nov 2009 19:32:57 +0000 (13:32 -0600)]
Add test_snip_remove to testsuite.

10 years agoAdded missing test source files.
Bill Williams [Fri, 13 Nov 2009 16:04:46 +0000 (10:04 -0600)]
Added missing test source files.

10 years agoBug fix for PLT stub removal (fixes bugs 1047, 1048).
Bill Williams [Thu, 12 Nov 2009 21:10:42 +0000 (15:10 -0600)]
Bug fix for PLT stub removal (fixes bugs 1047, 1048).

PLT tail calls should inherit the return status of their targets (assume returning unless on our blacklist).  However, since we don't have a function for PLT entries (we're now aborting parsing and thus deleting it), we need to check this case specifically for return status.

10 years agoBugfix for init/fini callback: when adding sections with empty functions, don't forge...
Bill Williams [Mon, 9 Nov 2009 23:06:25 +0000 (17:06 -0600)]
Bugfix for init/fini callback: when adding sections with empty functions, don't forget to balanced the stack.

10 years agoSegment register fix, build fix.
Bill Williams [Mon, 9 Nov 2009 17:52:20 +0000 (11:52 -0600)]
Segment register fix, build fix.

10 years agoFix for multiple PLT-entry symbol creation: clean up symtab if we're aborting parsing.
Bill Williams [Mon, 9 Nov 2009 17:52:02 +0000 (11:52 -0600)]
Fix for multiple PLT-entry symbol creation: clean up symtab if we're aborting parsing.
Fix for multiple PLT-entry symbol creation: don't include deleted syms in DynSymtab/Symtab sections.
Fix for function deletion: don't invalidate iterators mid-iteration, delete *all* matches.

10 years agoInitial lower bound/upper bound fix for gap parsing: adhere to section boundaries...
Bill Williams [Wed, 4 Nov 2009 16:01:04 +0000 (10:01 -0600)]
Initial lower bound/upper bound fix for gap parsing: adhere to section boundaries for first/final gaps.
Possible TODO: extend this to all gaps?

10 years agoInit/fini callback incremental commit: platform-specific code to linux.C, improvement...
Bill Williams [Wed, 4 Nov 2009 00:28:03 +0000 (18:28 -0600)]
Init/fini callback incremental commit: platform-specific code to linux.C, improvements to test for dynamic mode.
Still needs custom execution path in order to behave right in dynamic mode.

10 years agoBug fix: existence check and subsequent lookup should be off the same key.
Bill Williams [Wed, 4 Nov 2009 00:26:17 +0000 (18:26 -0600)]
Bug fix: existence check and subsequent lookup should be off the same key.

10 years agoFix for calls/jumps relocated on 32-bit x86 such that they're >2GB.
Bill Williams [Wed, 4 Nov 2009 00:25:24 +0000 (18:25 -0600)]
Fix for calls/jumps relocated on 32-bit x86 such that they're >2GB.

10 years agoParsing bugfixes & IAPI allocation bugfix.
Bill Williams [Thu, 29 Oct 2009 22:17:48 +0000 (17:17 -0500)]
Parsing bugfixes & IAPI allocation bugfix.

10 years agoInitial implementation & executable-level test for init/fini section lookup & callbac...
Bill Williams [Thu, 29 Oct 2009 22:17:20 +0000 (17:17 -0500)]
Initial implementation & executable-level test for init/fini section lookup & callback instrumentation.

Conflicts:

symtabAPI/src/Symtab.C
testsuite/i386-unknown-linux2.4/tuples
testsuite/x86_64-unknown-linux2.4/tuples

10 years agoAdd safety check for jump table parsing; fail the parse if we detect an unaligned...
Andrew Bernat [Fri, 6 Nov 2009 19:58:04 +0000 (13:58 -0600)]
Add safety check for jump table parsing; fail the parse if we detect an unaligned destination address.

10 years agoResolve bug #1040: Segfault on Rewritten Function Parameter
Ray Chen [Thu, 5 Nov 2009 05:04:19 +0000 (00:04 -0500)]
Resolve bug #1040: Segfault on Rewritten Function Parameter

Completes implementation for writable parameters and return values on Power,
ia64, and SPARC platforms.  Also enables test_write_param for these platforms.

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Wed, 4 Nov 2009 22:37:59 +0000 (16:37 -0600)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoFix error causing libelf to error when writing some binaries and preventing symbols...
Matthew Legendre [Wed, 4 Nov 2009 22:37:44 +0000 (16:37 -0600)]
Fix error causing libelf to error when writing some binaries and preventing symbols from being added to others.

10 years agoFix issue where Dyninst was creating duplicates of existing symbols.
Matthew Legendre [Wed, 4 Nov 2009 22:33:53 +0000 (16:33 -0600)]
Fix issue where Dyninst was creating duplicates of existing symbols.

10 years agoAdd StackwalkerAPI frame stepper that walks through instrumentation.
Matthew Legendre [Wed, 4 Nov 2009 22:33:26 +0000 (16:33 -0600)]
Add StackwalkerAPI frame stepper that walks through instrumentation.

10 years agoAllow Dyninst to optionally create symbols for base tramps when instrumenting
Matthew Legendre [Wed, 4 Nov 2009 22:31:53 +0000 (16:31 -0600)]
Allow Dyninst to optionally create symbols for base tramps when instrumenting

10 years agoFix issue when instrumentation runs in binary rewriter mode before RT library initializes
Matthew Legendre [Wed, 4 Nov 2009 22:30:58 +0000 (16:30 -0600)]
Fix issue when instrumentation runs in binary rewriter mode before RT library initializes

10 years agoFix compilation warnings
Matthew Legendre [Wed, 4 Nov 2009 22:28:31 +0000 (16:28 -0600)]
Fix compilation warnings

10 years agoSecure PLT handling and function call replacement for ppc32_linux platform.
Ray Chen [Wed, 4 Nov 2009 07:29:35 +0000 (02:29 -0500)]
Secure PLT handling and function call replacement for ppc32_linux platform.

10 years agoResolves bug #1031: PLT functions given improper names
Ray Chen [Wed, 4 Nov 2009 06:50:54 +0000 (01:50 -0500)]
Resolves bug #1031: PLT functions given improper names

CFG parser requires checkEntry() to return false when PLT entries are analyzed.

10 years agoAIX fixes
Madhavi Krishnan [Sun, 1 Nov 2009 16:17:42 +0000 (10:17 -0600)]
AIX fixes

We were using /proc/pid/object/a.out names for creating Symtab Objects.
When we do an exec, the new execed file is also called
/proc/pid/object/a.out and hence Symtab does not re-parse it.

This is fixed by passing the executable name itself instead of a.out

The number of "createMappedFiles" and "closeMappedFiles" is not matched
properly. This was causing some segfaults. This is also fixed.

10 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst
Nick Rutar [Thu, 29 Oct 2009 17:29:41 +0000 (13:29 -0400)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst

10 years agoFixed Bug 1029
Nick Rutar [Thu, 29 Oct 2009 17:27:03 +0000 (13:27 -0400)]
Fixed Bug 1029

10 years agofix for last fix dprintf->logerror in select tests
James Waskiewicz [Thu, 29 Oct 2009 01:15:07 +0000 (21:15 -0400)]
fix for last fix dprintf->logerror in select tests

10 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst
James Waskiewicz [Thu, 29 Oct 2009 01:04:40 +0000 (21:04 -0400)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst

10 years agowindows buildfix
James Waskiewicz [Thu, 29 Oct 2009 01:04:20 +0000 (21:04 -0400)]
windows buildfix

10 years agomore serialization bugfixes/cleaning, etc
James Waskiewicz [Thu, 29 Oct 2009 00:18:58 +0000 (20:18 -0400)]
more serialization bugfixes/cleaning, etc

10 years agoBugfixes:
Bill Williams [Wed, 28 Oct 2009 20:05:24 +0000 (15:05 -0500)]
Bugfixes:

* use correct thunk base value on IA32
* only correct table stride based on scale in jump when it's different from what we expect
* add some more logging for easier debugging
* eliminate thunks post-jump-table (address-wise) as candidates, on the grounds that we've likely run into a construct we can't actually parse right

10 years agoBuild fix for autoconf: use libraries from their build locations, not their install...
Bill Williams [Wed, 28 Oct 2009 15:57:02 +0000 (10:57 -0500)]
Build fix for autoconf: use libraries from their build locations, not their install locations, for linking.

10 years agoFix for jump table parsing in IA32 libc, step 1: fix precedence errors, add debugging...
Bill Williams [Fri, 23 Oct 2009 17:00:32 +0000 (12:00 -0500)]
Fix for jump table parsing in IA32 libc, step 1: fix precedence errors, add debugging parsing_printfs.

10 years agoShared code fix: update function end properly
Bill Williams [Wed, 28 Oct 2009 16:04:34 +0000 (11:04 -0500)]
Shared code fix: update function end properly

Conflicts:

dyninstAPI/src/image-flowGraph.C

10 years agoDocument disabling of warning.
Bill Williams [Tue, 20 Oct 2009 18:00:49 +0000 (13:00 -0500)]
Document disabling of warning.

10 years agoRemove dead code, remove invalid warning (have verified that gap parsing can trigger...
Bill Williams [Tue, 20 Oct 2009 15:35:39 +0000 (10:35 -0500)]
Remove dead code, remove invalid warning (have verified that gap parsing can trigger this legitimately).

10 years agoFixes for previous commits after testing
Matthew Legendre [Wed, 28 Oct 2009 21:16:41 +0000 (16:16 -0500)]
Fixes for previous commits after testing

10 years agoFix problem in branch size detection in emitting funcJumpExpr's
Matthew Legendre [Wed, 28 Oct 2009 20:44:56 +0000 (15:44 -0500)]
Fix problem in branch size detection in emitting funcJumpExpr's

10 years agoFix issues regarding re-opening a file that had already been written in binary rewriting
Matthew Legendre [Wed, 28 Oct 2009 20:44:27 +0000 (15:44 -0500)]
Fix issues regarding re-opening a file that had already been written in binary rewriting

10 years agoFix race condition caused by bad locking in RT library
Matthew Legendre [Tue, 27 Oct 2009 22:57:19 +0000 (17:57 -0500)]
Fix race condition caused by bad locking in RT library

10 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst
James Waskiewicz [Mon, 26 Oct 2009 02:28:50 +0000 (22:28 -0400)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst

10 years agocleaning, temporarily disabling tests,e tc
James Waskiewicz [Mon, 26 Oct 2009 02:28:15 +0000 (22:28 -0400)]
cleaning, temporarily disabling tests,e tc

10 years agomore serialization polishing, crash & bugfixes
James Waskiewicz [Sat, 24 Oct 2009 04:06:59 +0000 (00:06 -0400)]
more serialization polishing, crash & bugfixes

10 years agoFix problems with cleaning thread data structures
Matthew Legendre [Fri, 23 Oct 2009 23:20:35 +0000 (18:20 -0500)]
Fix problems with cleaning thread data structures

10 years agoFix warnings
Matthew Legendre [Fri, 23 Oct 2009 23:16:50 +0000 (18:16 -0500)]
Fix warnings

10 years agofix finalizeInsertionSet crash if attempted on a running process
Matthew Legendre [Fri, 23 Oct 2009 21:34:57 +0000 (16:34 -0500)]
fix finalizeInsertionSet crash if attempted on a running process

10 years agoAttach-to-stopped startup mode in Dyninst was interfering with subsequent fork operations
Matthew Legendre [Fri, 23 Oct 2009 21:32:18 +0000 (16:32 -0500)]
Attach-to-stopped startup mode in Dyninst was interfering with subsequent fork operations

10 years agoFix readString to return errors rather than segfault on bad input
Matthew Legendre [Fri, 23 Oct 2009 21:29:14 +0000 (16:29 -0500)]
Fix readString to return errors rather than segfault on bad input

10 years agoAdd new interface for creating variables
Matthew Legendre [Fri, 23 Oct 2009 21:28:49 +0000 (16:28 -0500)]
Add new interface for creating variables

10 years agoload library could mess up our tracking of the mutatee's visible state
Matthew Legendre [Fri, 23 Oct 2009 21:17:27 +0000 (16:17 -0500)]
load library could mess up our tracking of the mutatee's visible state

10 years agoFix assert failure with gap parsing and size 0 functions
Matthew Legendre [Fri, 23 Oct 2009 19:24:19 +0000 (14:24 -0500)]
Fix assert failure with gap parsing and size 0 functions

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Fri, 23 Oct 2009 19:16:00 +0000 (14:16 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoCode cleanup
Matthew Legendre [Fri, 23 Oct 2009 19:15:16 +0000 (14:15 -0500)]
Code cleanup

10 years agoFix assert failure in gap parsing triggered by bad shared code parsing
Matthew Legendre [Fri, 23 Oct 2009 19:14:40 +0000 (14:14 -0500)]
Fix assert failure in gap parsing triggered by bad shared code parsing

10 years agoPerformance optimization for gap parsing
Matthew Legendre [Fri, 23 Oct 2009 19:13:56 +0000 (14:13 -0500)]
Performance optimization for gap parsing

10 years agoFixed conflict between pd_log_perror functions in dyninstAPI and symtabAPI
Michael Lam [Fri, 23 Oct 2009 17:57:46 +0000 (12:57 -0500)]
Fixed conflict between pd_log_perror functions in dyninstAPI and symtabAPI

10 years agoFix problem with stack becoming unbalanced in cleanup
Matthew Legendre [Fri, 23 Oct 2009 01:01:05 +0000 (20:01 -0500)]
Fix problem with stack becoming unbalanced in cleanup

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Fri, 23 Oct 2009 00:57:45 +0000 (19:57 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoMerge branch 'windows'
Matthew Legendre [Fri, 23 Oct 2009 00:52:31 +0000 (19:52 -0500)]
Merge branch 'windows'

10 years agoFix problem accessing orig EAX values
legendre [Fri, 23 Oct 2009 00:51:41 +0000 (19:51 -0500)]
Fix problem accessing orig EAX values

10 years agoAdd preprocessor macro enabling optimized code gen on windows
legendre [Thu, 22 Oct 2009 22:29:00 +0000 (17:29 -0500)]
Add preprocessor macro enabling optimized code gen on windows

10 years agotest_driver path fix
Madhavi Krishnan [Thu, 22 Oct 2009 21:53:58 +0000 (16:53 -0500)]
test_driver path fix

test_driver does not search the current directory
for executable. This was causing test4_3(exec callback)failure on
bruckner.

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Thu, 22 Oct 2009 21:33:54 +0000 (16:33 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoMerge branch 'ppc_linux'
Matthew Legendre [Thu, 22 Oct 2009 21:32:43 +0000 (16:32 -0500)]
Merge branch 'ppc_linux'

10 years agoStackwalkerAPI ppc fixes
Matthew Legendre [Thu, 22 Oct 2009 21:36:38 +0000 (16:36 -0500)]
StackwalkerAPI ppc fixes

10 years agoFix git branch mistake
Matthew Legendre [Thu, 22 Oct 2009 21:30:59 +0000 (16:30 -0500)]
Fix git branch mistake

10 years agoStackwalkerAPI ppc fixes
Matthew Legendre [Thu, 22 Oct 2009 21:20:54 +0000 (16:20 -0500)]
StackwalkerAPI ppc fixes

10 years agoFix problem where testsuite sorting could be inconsistent
Matthew Legendre [Thu, 22 Oct 2009 20:29:18 +0000 (15:29 -0500)]
Fix problem where testsuite sorting could be inconsistent

10 years agoFix Stackwalker Linux issues with inconsistent SIGCHLD delivery
Matthew Legendre [Thu, 22 Oct 2009 20:26:53 +0000 (15:26 -0500)]
Fix Stackwalker Linux issues with inconsistent SIGCHLD delivery

10 years agoStackwalkerAPI BlueGene/P support. This commit was written by Todd Gamblin at LLNL
Matthew Legendre [Thu, 22 Oct 2009 19:05:41 +0000 (14:05 -0500)]
StackwalkerAPI BlueGene/P support.  This commit was written by Todd Gamblin at LLNL

10 years agoInitialize archIsRealCall outparams correctly
Bill Williams [Thu, 22 Oct 2009 17:02:12 +0000 (13:02 -0400)]
Initialize archIsRealCall outparams correctly

10 years agoMore fixes for local variable support for StackwalkerAPI
Matthew Legendre [Thu, 22 Oct 2009 16:37:28 +0000 (11:37 -0500)]
More fixes for local variable support for StackwalkerAPI

10 years agoFix SymtabAPI segfault that could happen in stripped binaries
Matthew Legendre [Thu, 22 Oct 2009 00:05:27 +0000 (19:05 -0500)]
Fix SymtabAPI segfault that could happen in stripped binaries

10 years agoStackwalkerAPI support for reading local variables in a stack
Matthew Legendre [Thu, 22 Oct 2009 00:00:15 +0000 (19:00 -0500)]
StackwalkerAPI support for reading local variables in a stack

10 years agoSymtabAPI support for reading local variables in StackwalkerAPI
Matthew Legendre [Wed, 21 Oct 2009 23:59:38 +0000 (18:59 -0500)]
SymtabAPI support for reading local variables in StackwalkerAPI

10 years agoAdd new register names to dynutil for local variable support in StackwalkerAPI
Matthew Legendre [Wed, 21 Oct 2009 23:58:21 +0000 (18:58 -0500)]
Add new register names to dynutil for local variable support in StackwalkerAPI

10 years agoCleanup found during testing
Matthew Legendre [Wed, 21 Oct 2009 23:09:32 +0000 (18:09 -0500)]
Cleanup found during testing

10 years agoFix recently introduced problem with mutatee-side trap handling
Matthew Legendre [Wed, 21 Oct 2009 22:36:05 +0000 (17:36 -0500)]
Fix recently introduced problem with mutatee-side trap handling

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Wed, 21 Oct 2009 22:34:28 +0000 (17:34 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoEnable test1_22 (function replacement) for binary rewriting
Matthew Legendre [Wed, 21 Oct 2009 22:33:52 +0000 (17:33 -0500)]
Enable test1_22 (function replacement) for binary rewriting

10 years agoFix problem with SymtabAPI adding binaries as library dependencies on x86_64
Matthew Legendre [Wed, 21 Oct 2009 22:31:17 +0000 (17:31 -0500)]
Fix problem with SymtabAPI adding binaries as library dependencies on x86_64

10 years agoAllow stackwalking through instrumentation, fixes test_stack_3
Matthew Legendre [Wed, 21 Oct 2009 22:30:45 +0000 (17:30 -0500)]
Allow stackwalking through instrumentation, fixes test_stack_3

10 years agoEnable function replacment when binary rewriting
Matthew Legendre [Wed, 21 Oct 2009 22:29:38 +0000 (17:29 -0500)]
Enable function replacment when binary rewriting

10 years agoFix for power test4_3 failure
Madhavi Krishnan [Tue, 20 Oct 2009 18:18:09 +0000 (13:18 -0500)]
Fix for power test4_3 failure

When we detect getPC operation, we created
"arbitrary instrumentation point" at incorrect address.
This caused test4_3 failure on PPC/Linux. Fixed.

Also, adjusted size of code buffer to hold Thunk operation.

10 years agofix oops
James Waskiewicz [Tue, 20 Oct 2009 03:59:12 +0000 (23:59 -0400)]
fix oops

10 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst
James Waskiewicz [Tue, 20 Oct 2009 02:10:48 +0000 (22:10 -0400)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst

10 years agominor cleanup, warnings...
James Waskiewicz [Tue, 20 Oct 2009 02:09:05 +0000 (22:09 -0400)]
minor cleanup, warnings...

10 years agoIA64 crash fix: confirm that add from g1 is really from g1
Bill Williams [Mon, 19 Oct 2009 23:07:49 +0000 (19:07 -0400)]
IA64 crash fix: confirm that add from g1 is really from g1

10 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst
James Waskiewicz [Mon, 19 Oct 2009 22:14:59 +0000 (18:14 -0400)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst

10 years agowindows buildfixes, serialization polishing
James Waskiewicz [Mon, 19 Oct 2009 22:14:12 +0000 (18:14 -0400)]
windows buildfixes, serialization polishing

10 years agoRemoved printf in arch-power.C
Madhavi Krishnan [Mon, 19 Oct 2009 20:47:45 +0000 (15:47 -0500)]
Removed printf in arch-power.C
that was printing information on getPC operation.

10 years agoFixed bug in delay slot handling (test 1-26 native CC, test 1-35 failures)
Bill Williams [Mon, 19 Oct 2009 18:57:25 +0000 (14:57 -0400)]
Fixed bug in delay slot handling (test 1-26 native CC, test 1-35 failures)

10 years agoBug fix for test 1-33 on solaris
Bill Williams [Mon, 19 Oct 2009 17:42:43 +0000 (13:42 -0400)]
Bug fix for test 1-33 on solaris

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Fri, 16 Oct 2009 22:17:17 +0000 (17:17 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoAdd test for writing to parameters and return values
Matthew Legendre [Fri, 16 Oct 2009 22:16:56 +0000 (17:16 -0500)]
Add test for writing to parameters and return values

10 years agoInfrastructure and implementation for x86 to support codeGen writing to a parameter
Matthew Legendre [Fri, 16 Oct 2009 22:14:31 +0000 (17:14 -0500)]
Infrastructure and implementation for x86 to support codeGen writing to a parameter

10 years agoIllegal instruction decoding error
Nathan Rosenblum [Fri, 16 Oct 2009 19:58:34 +0000 (14:58 -0500)]
Illegal instruction decoding error

Fixed error in decoding of improperly formed IA32 group 2 && 11
( /decimal opcode format) instructions. Querying the entry parameter
of such improperly decoded instructions would fail to indicate their
illegal status.

10 years agoEnable gap parsing on supported platforms
Nathan Rosenblum [Thu, 15 Oct 2009 21:50:04 +0000 (16:50 -0500)]
Enable gap parsing on supported platforms

Re-enables gap parsing on cap_stripped_binaries platforms. The
function preamble heuristics for MSVS and GCC have been split out
to decrease the rate of false positives, and the gap detection and
scanning algorithm has been cleaned up for readability.

10 years agoDepGraphAPI fixes
Andrew Bernat [Fri, 16 Oct 2009 20:03:19 +0000 (15:03 -0500)]
DepGraphAPI fixes
  1) InstructionAPI started using shared pointers; fix compatibility
  2) Fix int vs. long usage in stackanalysis
  3) Add AMD-64 build directory.