dyninst.git
8 years agoFunction wrapping implementation and Symtab extensions for undefined symbols
Andrew Bernat [Wed, 10 Aug 2011 17:47:41 +0000 (12:47 -0500)]
Function wrapping implementation and Symtab extensions for undefined symbols

1) I've implemented function wrapping for the binary rewriter. The interface is:

BPatch_addressSpace::wrapFunction(BPatch_function *original, BPatch_function *wrapper, SymtabAPI::Symbol *clone)

where original is replaced by wrapper, and we create a clone matching the symbol provided in clone. We use a symbol
instead of a string to ensure that we get the name correct (including handling mangling).

This is implemented by performing function replacement original->wrapper, and creating a copy of original named with
the information from the clone symbol. It relies on the new instrumenter.

I've also added the appropriate PatchAPI calls to handle function wrapping.

2) Symtab didn't have a clean interface for accessing undefined symbols, which are necessary for the new function
wrapping code. I've added another parameter to findSymbol to include undefined symbols in a name lookup.

8 years agoThis commit is to remove the "#include" of non-public headers in patchAPI's
Wenbin Fang [Mon, 15 Aug 2011 22:04:51 +0000 (17:04 -0500)]
This commit is to remove the "#include" of non-public headers in patchAPI's
public header. In addition, this commit adds a data member user_commands_ in
Instrumenter class of patchAPI, for the ease of implementing instrumentation
engine plugin.

9 years agoThis commit is to fix the bug due to some typos in PatchAPI:
Wenbin Fang [Tue, 2 Aug 2011 21:28:52 +0000 (16:28 -0500)]
This commit is to fix the bug due to some typos in PatchAPI:

In patchAPI/src/PatchMgr.C, wantXXX functions (e.g., wantFuncs, wantCalls ...)
use bitwise-or to test whether the types parameter passed from findPoints includes
a particular point type, which is incorrect. We should use bitwise-and to test.
So I replace all bitwise-or expression in wantXXX functions with the invocation
of a static function Point::TestType that does bitwise-and operation

9 years agofix termination assert in syncRunState
Michael Brim [Tue, 26 Jul 2011 21:36:39 +0000 (16:36 -0500)]
fix termination assert in syncRunState

there was a valid check for forcedTermination, but that flag
wasn't being set early enough in int_process::terminate(.

also enables the proccontrol termination tests

9 years agoRemove debug printf
Madhavi Krishnan [Wed, 20 Jul 2011 19:44:07 +0000 (14:44 -0500)]
Remove debug printf

9 years agoFix for Parsing bug. Mark functions with unparsable indirect edge as UNINSTRUMENTABLE
Madhavi Krishnan [Wed, 20 Jul 2011 04:14:50 +0000 (23:14 -0500)]
Fix for Parsing bug. Mark functions with unparsable indirect edge as UNINSTRUMENTABLE

9 years agoMerge branch 'master' of wenbin@feta.cs.wisc.edu:~/devel/dyninst/dyninst
Wenbin Fang [Thu, 14 Jul 2011 22:22:09 +0000 (17:22 -0500)]
Merge branch 'master' of wenbin@feta.cs.wisc.edu:~/devel/dyninst/dyninst

9 years agoFixed compilation failure of dyninst and patchapi on windows.
Wenbin Fang [Thu, 14 Jul 2011 20:57:07 +0000 (15:57 -0500)]
Fixed compilation failure of dyninst and patchapi on windows.

9 years agoFixed compilation failure of dyninst and patchapi on windows.
Wenbin Fang [Thu, 14 Jul 2011 20:57:07 +0000 (15:57 -0500)]
Fixed compilation failure of dyninst and patchapi on windows.

9 years agoFix for replacing instrumented function.
Madhavi Krishnan [Fri, 8 Jul 2011 20:12:02 +0000 (15:12 -0500)]
Fix for replacing instrumented function.

9 years agoRevert "Add new sections to a rewritten binary that contain address mapping info"
Andrew Bernat [Thu, 7 Jul 2011 18:31:49 +0000 (13:31 -0500)]
Revert "Add new sections to a rewritten binary that contain address mapping info"

This reverts commit 89e40a394cc322b721b2c6d9859169cb7d23c21a.

9 years agoAdd new sections to a rewritten binary that contain address mapping info
Andrew Bernat [Thu, 7 Jul 2011 18:28:13 +0000 (13:28 -0500)]
Add new sections to a rewritten binary that contain address mapping info

9 years agoMerge branch 'master' of ssh://bill@git.dyninst.org/pub/dyninst
Bill Williams [Wed, 6 Jul 2011 22:48:49 +0000 (17:48 -0500)]
Merge branch 'master' of ssh://bill@git.dyninst.org/pub/dyninst

Conflicts:
testsuite/i386-unknown-nt4.0/tuples

9 years agoAdd test 2-6 on Windows.
Bill Williams [Wed, 6 Jul 2011 21:53:21 +0000 (16:53 -0500)]
Add test 2-6 on Windows.

9 years agoImplement splitting blocks in PatchAPI to respond to ParseAPI block splits.
Andrew Bernat [Thu, 30 Jun 2011 19:07:17 +0000 (14:07 -0500)]
Implement splitting blocks in PatchAPI to respond to ParseAPI block splits.

9 years agoPatchAPI callback interface prototype.
Andrew Bernat [Wed, 29 Jun 2011 21:43:30 +0000 (16:43 -0500)]
PatchAPI callback interface prototype.

9 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Wed, 29 Jun 2011 20:22:13 +0000 (15:22 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst

Conflicts:
patchAPI/h/PatchMgr.h
patchAPI/src/PatchMgr.C

9 years agoPatchAPI callback prototype
Andrew Bernat [Wed, 29 Jun 2011 20:21:01 +0000 (15:21 -0500)]
PatchAPI callback prototype

9 years agoThis commit is to further clean up some CFG bookkeeping structures in instPoint
Wenbin Fang [Wed, 29 Jun 2011 19:16:14 +0000 (14:16 -0500)]
This commit is to further clean up some CFG bookkeeping structures in instPoint
, which are redundant from PatchAPI::Point, and to clean up obsolete code for
transactional semantics in PatchAPI.

What's new:
  * remove func_, edge_, and block_ from instPoint in Dyninst.
  * remove batchStart, batchFinish, and patch methods in PatchMgr in PatchAPI.

9 years agoAdd files accidentally omitted from previous commit
Andrew Bernat [Wed, 29 Jun 2011 18:17:12 +0000 (13:17 -0500)]
Add files accidentally omitted from previous commit

9 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Wed, 29 Jun 2011 18:07:58 +0000 (13:07 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst

9 years agoParseAPI/PatchAPI enhancements
Andrew Bernat [Wed, 22 Jun 2011 16:19:37 +0000 (11:19 -0500)]
ParseAPI/PatchAPI enhancements
  1) ParseAPI now supports multiple parse callback data structures
  2) PatchAPI has been cleaned up; we now have explicit Scope and
     Location wrappers, so previous code must be updated.

9 years agoAdding missed file in previous commit
Madhavi Krishnan [Tue, 28 Jun 2011 18:58:53 +0000 (13:58 -0500)]
Adding missed file in previous commit

9 years agotypo fix
Madhavi Krishnan [Tue, 28 Jun 2011 18:06:32 +0000 (13:06 -0500)]
typo fix

9 years agoTLS support for ppc32
Madhavi Krishnan [Tue, 28 Jun 2011 17:37:21 +0000 (12:37 -0500)]
TLS support for ppc32

This commit enables rewriting binaries with thread support:
Create new ELF section for Dyninst TLS data and BSS section.

9 years agoPPC relocation fix
Madhavi Krishnan [Mon, 27 Jun 2011 21:09:07 +0000 (16:09 -0500)]
PPC relocation fix

Some versions of elf.h (one on freeplay at UMD)
does not define all PPC32 relocations. Hence,
changing the relocations to numbers instead of names.

9 years agoCleanup of old code
legendre1 [Fri, 24 Jun 2011 18:22:28 +0000 (11:22 -0700)]
Cleanup of old code

9 years agoFix build error reported on Cray machines
legendre1 [Fri, 24 Jun 2011 18:22:15 +0000 (11:22 -0700)]
Fix build error reported on Cray machines

9 years agoClean warnings in StackwalkerAPI
legendre1 [Fri, 24 Jun 2011 18:21:43 +0000 (11:21 -0700)]
Clean warnings in StackwalkerAPI

9 years agoFix StackwalkerAPI on Cray build
legendre1 [Fri, 24 Jun 2011 18:21:25 +0000 (11:21 -0700)]
Fix StackwalkerAPI on Cray build

9 years agoFix compilation error for patchapi testsuite.
Wenbin Fang [Fri, 24 Jun 2011 15:55:45 +0000 (10:55 -0500)]
Fix compilation error for patchapi testsuite.

9 years agoGet rid of block_instance::srcs_ and block_instance:trgs_ .
Wenbin Fang [Fri, 24 Jun 2011 04:40:13 +0000 (23:40 -0500)]
Get rid of block_instance::srcs_ and block_instance:trgs_ .

9 years agoGet rid of func_instance::callBlocks() and func_instance::exitBlocks().
Wenbin Fang [Fri, 24 Jun 2011 03:55:14 +0000 (22:55 -0500)]
Get rid of func_instance::callBlocks() and func_instance::exitBlocks().

9 years agoGet rid of func_instance::blocks_ and func_instance::blocks(), which is redundent...
Wenbin Fang [Fri, 24 Jun 2011 03:05:38 +0000 (22:05 -0500)]
Get rid of func_instance::blocks_ and func_instance::blocks(), which is redundent from
 PatchAPI::PatchFunction::all_blocks_ and PatchAPI::PatchFunction::getAllBlocks().

9 years agoChange PatchAPI::PatchFunction::blocklist type to blockset.
Wenbin Fang [Fri, 24 Jun 2011 00:57:01 +0000 (19:57 -0500)]
Change PatchAPI::PatchFunction::blocklist type to blockset.

9 years agoAdd a method AddressSpace::addMappedObject(mapped_object* obj),
Wenbin Fang [Fri, 24 Jun 2011 00:24:13 +0000 (19:24 -0500)]
Add a method AddressSpace::addMappedObject(mapped_object* obj),
which adds the mapped_object to the duplicate bookkeeping structure
in AddressSpace and PatchAPI::AddrSpace.

9 years agoAdding translation for PPC relocations
Madhavi Krishnan [Thu, 23 Jun 2011 19:22:35 +0000 (14:22 -0500)]
Adding translation for PPC relocations

Added PPC32 relocation translation for rewriting
statically linked binaries.

9 years agoAdd testsuite for PatchAPI and interface for transactional semantics in PatchAPI.
Wenbin Fang [Tue, 21 Jun 2011 19:17:37 +0000 (14:17 -0500)]
Add testsuite for PatchAPI and interface for transactional semantics in PatchAPI.

What's new:
  * Testsuite for PatchAPI, which only verifies the bookkeeping structures, and
    uses dummy snippets. See testsuite/src/patchapi subdirectory that includes
    the following test cases -
    - patch1_1: snippet insertion at different points.
    - patch1_2: snippet insertion order.
    - patch2_1: snippet removal
    - patch3_1: function call replacement / removal
    - patch3_2: function replacement
  * PatchAPI support for transactional semantics of instrumentation/code
    modification, which provides Command abstraction with a run method and an
    undo method. See patchAPI/src/Command.C and patchAPI/h/Command.h.
    - For PatchAPI, there are default implementations of some commands,
      including PushFrontCommand, RemoveSnippetCommand, ReplaceCallCommand and
      so forth. See patchAPI/src/Command.C.
    - For Dyninst integration, the DynInstrumenter is a special command that is
      responsible for code relocation and generation. For now, DynInstrumenter
      invokes AddressSpace::relocate(), and if it fails, it simply exits,
      without undo.

9 years agoMake the compilation of dyninst and testsuite work on Windows XP.
Windows User [Tue, 21 Jun 2011 18:26:27 +0000 (13:26 -0500)]
Make the compilation of dyninst and testsuite work on Windows XP.

9 years agoAdd missing patchapi_group_test_group.c file on different platforms.
wenbin [Mon, 20 Jun 2011 22:18:57 +0000 (17:18 -0500)]
Add missing patchapi_group_test_group.c file on different platforms.

9 years agoFix the testsuite/make.module.tmpl file, which caused the compilation to fail under...
Wenbin Fang [Mon, 20 Jun 2011 22:10:13 +0000 (17:10 -0500)]
Fix the testsuite/make.module.tmpl file, which caused the compilation to fail under platforms other than x86-64

9 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst into dyninst_patchapi_merge
Wenbin Fang [Mon, 20 Jun 2011 00:33:12 +0000 (19:33 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst into dyninst_patchapi_merge

9 years agoFinish patch3_2.
Wenbin Fang [Sun, 19 Jun 2011 23:59:09 +0000 (18:59 -0500)]
Finish patch3_2.

TODO:
  finish the undo part of DynInstrumenter.

9 years agoFinish Patch3_1.
Wenbin Fang [Sun, 19 Jun 2011 20:57:33 +0000 (15:57 -0500)]
Finish Patch3_1.

9 years agoUnqualified std::pair breaks builds.
Nathan Rosenblum [Sat, 18 Jun 2011 15:04:09 +0000 (10:04 -0500)]
Unqualified std::pair breaks builds.

Also incorrect LHS type for fgetc() call breaks EOF test.

9 years agoFinish patch2_1.
Wenbin Fang [Fri, 17 Jun 2011 17:31:33 +0000 (12:31 -0500)]
Finish patch2_1.

9 years agoFinish patch1_2: snippet insertion order.
Wenbin Fang [Fri, 17 Jun 2011 05:25:53 +0000 (00:25 -0500)]
Finish patch1_2: snippet insertion order.

9 years agoComplete patch1_1: testing patchapi's snippet insertion functionality.
Wenbin Fang [Thu, 16 Jun 2011 22:53:47 +0000 (17:53 -0500)]
Complete patch1_1: testing patchapi's snippet insertion functionality.

9 years agoTransactional semantics for dyninst public interface is done.
Wenbin Fang [Thu, 16 Jun 2011 05:17:38 +0000 (00:17 -0500)]
Transactional semantics for dyninst public interface is done.
And, copy the mutatee from original PatchAPI testsuite in PatchAPI branch.

TODO:
  - testsuite for PatchAPI (mutator side)
  - transactional semantics for dyninst instrumentation engine.

9 years agoDelete SnippetRep class, shift the functionality of SnippetRep to Snippet.
Wenbin Fang [Tue, 14 Jun 2011 21:40:33 +0000 (16:40 -0500)]
Delete SnippetRep class, shift the functionality of SnippetRep to Snippet.
And, make the compilation of  other patchapi test cases works.

TODO:
1. Test cases for patchapi.
2. Transactional semantics integration on the dyninst side.

9 years agoMerge branch 'dyninst_patchapi_merge' of git.dyninst.org:/pub/dyninst into dyninst_pa...
Wenbin Fang [Mon, 13 Jun 2011 20:15:35 +0000 (15:15 -0500)]
Merge branch 'dyninst_patchapi_merge' of git.dyninst.org:/pub/dyninst into dyninst_patchapi_merge

9 years agoComplete various Commands on PatchAPI side: PushBackCommand, PushFrontCommand, ...
Wenbin Fang [Mon, 13 Jun 2011 20:09:49 +0000 (15:09 -0500)]
Complete various Commands on PatchAPI side: PushBackCommand, PushFrontCommand, ...

TODO:
  - testsuite for patchapi
  - integrate the transactional semantics to dyninst

9 years agoFinish patch4_1 test case for PatchAPi, to test transactional semantics.
Wenbin Fang [Sun, 12 Jun 2011 23:04:05 +0000 (18:04 -0500)]
Finish patch4_1 test case for PatchAPi, to test transactional semantics.

9 years agoInitial implementation of Command and the testsuite of PatchAPI.
Wenbin Fang [Sat, 11 Jun 2011 19:05:51 +0000 (14:05 -0500)]
Initial implementation of Command and the testsuite of PatchAPI.

TODO:
  - test case for Command
  - integrate Instrumenter into Command
  - replace all public interface w/ Command

9 years agoModified dyner to run on top of dynC.
David Aeschlimann [Fri, 10 Jun 2011 18:33:15 +0000 (13:33 -0500)]
Modified dyner to run on top of dynC.

9 years agoManual bugfixes.
David Aeschlimann [Fri, 10 Jun 2011 18:31:21 +0000 (13:31 -0500)]
Manual bugfixes.

9 years agoModified the dynC interface to remove the concept of snippet names.
David Aeschlimann [Fri, 10 Jun 2011 18:27:55 +0000 (13:27 -0500)]
Modified the dynC interface to remove the concept of snippet names.
Snippets with common variable scopes are now passed as a vector of points.
The method returns a map of points to BPatch_snippets.

9 years agoComplete various Commands on PatchAPI side: PushBackCommand, PushFrontCommand, ...
Wenbin Fang [Mon, 13 Jun 2011 20:09:49 +0000 (15:09 -0500)]
Complete various Commands on PatchAPI side: PushBackCommand, PushFrontCommand, ...

TODO:
  - testsuite for patchapi
  - integrate the transactional semantics to dyninst

9 years agoFinish patch4_1 test case for PatchAPi, to test transactional semantics.
Wenbin Fang [Sun, 12 Jun 2011 23:04:05 +0000 (18:04 -0500)]
Finish patch4_1 test case for PatchAPi, to test transactional semantics.

9 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst into dyninst_patchapi_merge
Wenbin Fang [Sat, 11 Jun 2011 19:08:20 +0000 (14:08 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst into dyninst_patchapi_merge

9 years agoInitial implementation of Command and the testsuite of PatchAPI.
Wenbin Fang [Sat, 11 Jun 2011 19:05:51 +0000 (14:05 -0500)]
Initial implementation of Command and the testsuite of PatchAPI.

TODO:
  - test case for Command
  - integrate Instrumenter into Command
  - replace all public interface w/ Command

9 years agoMerge branch 'new_interface'
David Aeschlimann [Fri, 10 Jun 2011 18:38:53 +0000 (13:38 -0500)]
Merge branch 'new_interface'

9 years agoModified dyner to run on top of dynC.
David Aeschlimann [Fri, 10 Jun 2011 18:33:15 +0000 (13:33 -0500)]
Modified dyner to run on top of dynC.

9 years agoManual bugfixes.
David Aeschlimann [Fri, 10 Jun 2011 18:31:21 +0000 (13:31 -0500)]
Manual bugfixes.

9 years agoModified the dynC interface to remove the concept of snippet names.
David Aeschlimann [Fri, 10 Jun 2011 18:27:55 +0000 (13:27 -0500)]
Modified the dynC interface to remove the concept of snippet names.
Snippets with common variable scopes are now passed as a vector of points.
The method returns a map of points to BPatch_snippets.

9 years agoInitial commit of PatchAPI and Integration of PatchAPI into Dyninst.
Wenbin Fang [Mon, 6 Jun 2011 23:53:31 +0000 (18:53 -0500)]
Initial commit of PatchAPI and Integration of PatchAPI into Dyninst.

What's new:
  * Initial commit of PatchAPI into master branch. See patchAPI subdirectory.
  * Integration of PatchAPI into Dyninst.
    - instPoint becomes a subclass of PatchAPI::Point
    - mapped_object becomes a subclass of PatchAPI::PatchObject
    - func_instance becomes a subclass of PatchAPI::PatchFunction
    - block_instance becomes a subclass of PatchAPI::PatchBlock
    - edge_instance becomes a subclass of PatchAPI::PatchEdge
    - The implementation of point finding in Dyninst relies on PatchAPI's
      filter-based point query interface, which is PatchAPI::PatchMgr::findPoint
    - Dyninst uses PatchAPI's bookkeeping structures to keep track inserted
      snippets, replaced functions, replaced function calls, etc.
    - PatchAPI Pluggins for Dyninst can be found in dyninstAPI/src/Relocation,
      with prefix "Dyn" (e.g., DynInstrumenter).

9 years agoFix the link error of patchAPI by modifying patchAPI/make.module.tmpl.
Wenbin Fang [Mon, 6 Jun 2011 23:10:01 +0000 (18:10 -0500)]
Fix the link error of patchAPI by modifying  patchAPI/make.module.tmpl.

9 years agoCode clean up before mering to master branch.
Wenbin Fang [Mon, 6 Jun 2011 21:54:40 +0000 (16:54 -0500)]
Code clean up before mering to master branch.

9 years agoMerge branch 'dyninst_patchapi_merge' of wenbin@feta:~/devel/dyninst/dyninst into...
Windows User [Fri, 3 Jun 2011 20:34:39 +0000 (15:34 -0500)]
Merge branch 'dyninst_patchapi_merge' of wenbin@feta:~/devel/dyninst/dyninst into dyninst_patchapi_merge

9 years agoAfter tested under windows.
Windows User [Fri, 3 Jun 2011 20:23:32 +0000 (15:23 -0500)]
After tested under windows.

9 years agoAfter tested under windows.
Windows User [Fri, 3 Jun 2011 20:23:32 +0000 (15:23 -0500)]
After tested under windows.

9 years agoModified FreeBSD makefile for dyninstAPI
Wenbin Fang [Fri, 3 Jun 2011 01:57:54 +0000 (20:57 -0500)]
Modified FreeBSD makefile for dyninstAPI

9 years agoFix failed test2_7 in ppc64_linux.
wenbin [Thu, 2 Jun 2011 06:28:16 +0000 (01:28 -0500)]
Fix failed test2_7 in ppc64_linux.

9 years agoAdd Makefiles for multiple platforms of PatchAPI
Wenbin Fang [Thu, 2 Jun 2011 05:21:44 +0000 (00:21 -0500)]
Add Makefiles for multiple platforms of PatchAPI

9 years agoAdd missed make files for ppc32 and ppc64
wenbin [Thu, 2 Jun 2011 05:03:52 +0000 (00:03 -0500)]
Add missed make files for ppc32 and ppc64

9 years agoClean up redundant code in PatchObject.
wenbin [Thu, 2 Jun 2011 04:50:28 +0000 (23:50 -0500)]
Clean up redundant code in PatchObject.

9 years agoMake patchAPI work on ppc-32-linux.
wenbin [Thu, 2 Jun 2011 04:17:53 +0000 (23:17 -0500)]
Make patchAPI work on ppc-32-linux.

One test case doesn't work:
  - process mode: test_pt_ls

9 years agoAdd getFunctions method to PatchBlock.
Wenbin Fang [Wed, 1 Jun 2011 20:54:20 +0000 (15:54 -0500)]
Add getFunctions method to PatchBlock.

9 years agoCheckpoint before doing transactional semantics.
Wenbin Fang [Wed, 1 Jun 2011 19:37:14 +0000 (14:37 -0500)]
Checkpoint before doing transactional semantics.

9 years agoCheckpoint before cleaning modify function call stuffs.
Wenbin Fang [Wed, 1 Jun 2011 19:12:29 +0000 (14:12 -0500)]
Checkpoint before cleaning modify function call stuffs.

9 years agoCheckpoint before cleaning up function replacement stuffs in AddressSpace class.
Wenbin Fang [Wed, 1 Jun 2011 18:08:13 +0000 (13:08 -0500)]
Checkpoint before cleaning up function replacement stuffs in AddressSpace class.

9 years agoClean up the PatchAPI's bookkeeping structure for code modification thing.
Wenbin Fang [Tue, 31 May 2011 23:29:02 +0000 (18:29 -0500)]
Clean up the PatchAPI's bookkeeping structure for code modification thing.
Will move those structures to PatchAPI::Instrumenter class.

9 years agoAdd missed files ...
Wenbin Fang [Tue, 31 May 2011 22:59:10 +0000 (17:59 -0500)]
Add missed files ...

9 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst into dyninst_patchapi_merge
Wenbin Fang [Tue, 31 May 2011 22:58:45 +0000 (17:58 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst into dyninst_patchapi_merge

Conflicts:
dyninstAPI/src/addressSpace.h
dyninstAPI/src/block.C
dyninstAPI/src/block.h
dyninstAPI/src/edge.C
dyninstAPI/src/function.C
dyninstAPI/src/function.h
dyninstAPI/src/mapped_object.C

9 years agoRe-enable support for adding debugging symbols to rewritten binaries.
Andrew Bernat [Tue, 31 May 2011 21:24:04 +0000 (16:24 -0500)]
Re-enable support for adding debugging symbols to rewritten binaries.

9 years agoMove snippet insertion/removal bookkeeping information to patchAPI side.
Wenbin Fang [Tue, 31 May 2011 20:27:49 +0000 (15:27 -0500)]
Move snippet insertion/removal bookkeeping information to patchAPI side.

9 years agoPrototype of ParseAPI modification callback system; still needs work but compiles...
Andrew Bernat [Tue, 31 May 2011 15:36:54 +0000 (10:36 -0500)]
Prototype of ParseAPI modification callback system; still needs work but compiles and is structured correctly.

9 years agoAdd missed file CFGMaker.h
Wenbin Fang [Tue, 31 May 2011 06:34:36 +0000 (01:34 -0500)]
Add missed file CFGMaker.h

9 years agoClean up PatchAPI code, and pass test1_22.
Wenbin Fang [Tue, 31 May 2011 03:12:25 +0000 (22:12 -0500)]
Clean up PatchAPI code, and pass test1_22.

9 years agoIntegrate AddressSpace::relocate to PatchAPI.
Wenbin Fang [Mon, 30 May 2011 21:04:02 +0000 (16:04 -0500)]
Integrate AddressSpace::relocate to PatchAPI.

Still one test case fails: test1_22
  - fail on mutatee
  - problematic code: in BPatch_binaryEdit relocate() invocation.

9 years agoedgePoint is done .
Wenbin Fang [Sat, 28 May 2011 07:20:19 +0000 (02:20 -0500)]
edgePoint is done .

9 years agoPreInsn and PostInsn are done in func_instance.
Wenbin Fang [Sat, 28 May 2011 06:35:29 +0000 (01:35 -0500)]
PreInsn and PostInsn are done in func_instance.

9 years agopreCall and postCall, blockEntry and blockExit are done in func_instance.
Wenbin Fang [Fri, 27 May 2011 22:23:25 +0000 (17:23 -0500)]
preCall and postCall, blockEntry and blockExit are done in func_instance.

9 years agoFinish funcEntryPoint and funcExitPoint in func_instance.
Wenbin Fang [Fri, 27 May 2011 20:52:50 +0000 (15:52 -0500)]
Finish funcEntryPoint and funcExitPoint in func_instance.

9 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst into dyninst_patchapi_merge
Wenbin Fang [Fri, 27 May 2011 19:08:43 +0000 (14:08 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst into dyninst_patchapi_merge

9 years agoCommit: test1_37 fix
Madhavi Krishnan [Fri, 27 May 2011 18:40:02 +0000 (13:40 -0500)]
Commit: test1_37 fix

There were two problems with test1_37
1) The mutator was not checking if a variable is NULL.
Hence, the test crashes. This is fixed by adding an
check.
2) The mutatee uses static declaration for global
variables. bgxlc doesn't create a symbol with name
for static variables, since static variables
cannot be not accessed outside the file. This is a
fundamental problem that Dyninst cannot fix, if
the compiler decides to ignore the variable name.
The current fix is to make the global variable not
static.

9 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst into dyninst_patchapi_merge
Wenbin Fang [Fri, 27 May 2011 06:50:18 +0000 (01:50 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst into dyninst_patchapi_merge

9 years agoCheckpoint before moving Bpatch_point to Patchapi::findpoint system.
Wenbin Fang [Fri, 27 May 2011 06:48:53 +0000 (01:48 -0500)]
Checkpoint before moving Bpatch_point to Patchapi::findpoint system.

9 years agoEnabling static link mode bgxlc/bgxlc++ for bluegene rewriter
Madhavi Krishnan [Fri, 27 May 2011 03:03:48 +0000 (22:03 -0500)]
Enabling static link mode bgxlc/bgxlc++ for bluegene rewriter

9 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst into dyninst_patchapi_merge
Wenbin Fang [Thu, 26 May 2011 06:53:24 +0000 (01:53 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst into dyninst_patchapi_merge