dyninst.git
12 years agoAdd new trampTrapMapping object to track traps in mutatees
legendre [Thu, 31 Jan 2008 18:01:47 +0000 (18:01 +0000)]
Add new trampTrapMapping object to track traps in mutatees

12 years agoAdd flushing of trap table to insertion sets
legendre [Thu, 31 Jan 2008 18:01:43 +0000 (18:01 +0000)]
Add flushing of trap table to insertion sets

12 years agoAccess tramp mappings through new trapMapping object
legendre [Thu, 31 Jan 2008 18:01:35 +0000 (18:01 +0000)]
Access tramp mappings through new trapMapping object

12 years agoAdd files and new cap_mutatee_traps to build system
legendre [Thu, 31 Jan 2008 18:01:31 +0000 (18:01 +0000)]
Add files and new cap_mutatee_traps to build system

12 years agoFixed jump table parsing on Power32 Linux
bill [Thu, 31 Jan 2008 17:06:23 +0000 (17:06 +0000)]
Fixed jump table parsing on Power32 Linux

12 years agoremoves nearly identical duplicate representations of line information between symtab...
jaw [Thu, 24 Jan 2008 11:20:42 +0000 (11:20 +0000)]
removes nearly identical duplicate representations of line information between symtabAPI and dyninstAPI, also some solaris build fixes.

12 years agoFix a bug in Type::isCompatible which returns false always.
giri [Wed, 23 Jan 2008 20:24:10 +0000 (20:24 +0000)]
Fix a bug in Type::isCompatible which returns false always.

12 years agoAdd classes to support symbol versions in Elf files
giri [Wed, 23 Jan 2008 20:24:08 +0000 (20:24 +0000)]
Add classes to support symbol versions in Elf files

12 years agoFix an issue where emiElf-64 gets built on 32-bit platforms
giri [Wed, 23 Jan 2008 20:24:03 +0000 (20:24 +0000)]
Fix an issue where emiElf-64 gets built on 32-bit platforms

12 years agoTranslate line information to hold absolute address rather than offsets
giri [Wed, 23 Jan 2008 20:24:01 +0000 (20:24 +0000)]
Translate line information to hold absolute address rather than offsets

12 years agoFully removes line information parsing from the dyninst layer, instead forcing dynins...
jaw [Wed, 23 Jan 2008 14:45:50 +0000 (14:45 +0000)]
Fully removes line information parsing from the dyninst layer, instead forcing dyninst to rely on the code in symtabAPI

12 years agoDon't use TOC on Linux/PPC32
legendre [Wed, 23 Jan 2008 00:04:58 +0000 (00:04 +0000)]
Don't use TOC on Linux/PPC32

12 years agoUse the parsed relocation type for existing relocations when emitting the new relocat...
giri [Thu, 17 Jan 2008 22:42:58 +0000 (22:42 +0000)]
Use the parsed relocation type for existing relocations when emitting the new relocation section

12 years agoSet namespace prefix for an object, Fix a bug where the refCount of a type was being...
giri [Thu, 17 Jan 2008 22:42:57 +0000 (22:42 +0000)]
Set namespace prefix for an object, Fix a bug where the refCount of a type was being decremented twice

12 years agoFix a bug where the refCount of a type(which was NULL) was being decremented. Fixed...
giri [Thu, 17 Jan 2008 22:42:56 +0000 (22:42 +0000)]
Fix a bug where the refCount of a type(which was NULL) was being decremented. Fixed by including a null pointer check

12 years agoFix common block parsing bugs on AIX
giri [Thu, 17 Jan 2008 22:42:55 +0000 (22:42 +0000)]
Fix common block parsing bugs on AIX

12 years agoInclude relocation type when parsing relocations & fix common block parsing bugs
giri [Thu, 17 Jan 2008 22:42:54 +0000 (22:42 +0000)]
Include relocation type when parsing relocations & fix common block parsing bugs

12 years agoIterate over typesByName rather than typesByID for retrieving all the types within...
giri [Thu, 17 Jan 2008 22:42:53 +0000 (22:42 +0000)]
Iterate over typesByName rather than typesByID for retrieving all the types within a module

12 years agoFix a bug where line information was stored in a local variable and a reference is...
giri [Thu, 17 Jan 2008 22:42:52 +0000 (22:42 +0000)]
Fix a bug where line information was stored in a local variable and a reference is used later.

12 years agoAdded namespace prefix to class Symtab. Symbols can be searched within that namespace
giri [Thu, 17 Jan 2008 22:42:51 +0000 (22:42 +0000)]
Added namespace prefix to class Symtab. Symbols can be searched within that namespace

12 years agoLinux/PPC build fixes
legendre [Thu, 17 Jan 2008 20:03:38 +0000 (20:03 +0000)]
Linux/PPC build fixes

12 years agoFix a memory corruption bug
legendre [Thu, 17 Jan 2008 16:40:34 +0000 (16:40 +0000)]
Fix a memory corruption bug

12 years agoRe-enable miniTramps
legendre [Thu, 17 Jan 2008 16:40:32 +0000 (16:40 +0000)]
Re-enable miniTramps

12 years agoFix memory overflow in heap
legendre [Wed, 16 Jan 2008 22:02:05 +0000 (22:02 +0000)]
Fix memory overflow in heap

12 years agoAdd fixpoint code generation for relocating functions. We used to lay out all basic...
legendre [Wed, 16 Jan 2008 22:02:03 +0000 (22:02 +0000)]
Add fixpoint code generation for relocating functions.  We used to lay out all basic blocks
in a relocated function based on maxiumum size estimates, then generate all code.  When
using fixpoint we will continually do code generation and layout until we create a compact relocated
function.

12 years agoFix memory corruption stemming from double delete
legendre [Wed, 16 Jan 2008 22:02:02 +0000 (22:02 +0000)]
Fix memory corruption stemming from double delete

12 years agoAdded a minSize flag to a bblInstance that is being relocated. This helps make sure the
legendre [Wed, 16 Jan 2008 22:02:00 +0000 (22:02 +0000)]
Added a minSize flag to a bblInstance that is being relocated.  This helps make sure the
bbl is expanded for instrumentation when relocating with a fixpoint generation.

12 years agoAdd new pcRelRegion type and relocPatch
legendre [Wed, 16 Jan 2008 22:01:55 +0000 (22:01 +0000)]
Add new pcRelRegion type and relocPatch

12 years agoThe target overrides that can be passed to a relocated function (usually used for
legendre [Wed, 16 Jan 2008 22:01:45 +0000 (22:01 +0000)]
The target overrides that can be passed to a relocated function (usually used for
overriding a jump target in edge instrumentation) have been changed to take a
'patchTarget' rather than an Address.

12 years agoRenamed get_size_cr() and get_address_cr() to get_size() and get_address()
legendre [Wed, 16 Jan 2008 22:01:23 +0000 (22:01 +0000)]
Renamed get_size_cr() and get_address_cr() to get_size() and get_address()
they are no longer codeRange only functions

12 years agoMoved insertSnippet into BPatchAddress space, rather than having two copies
legendre [Wed, 16 Jan 2008 22:01:22 +0000 (22:01 +0000)]
Moved insertSnippet into BPatchAddress space, rather than having two copies
 in BPatch_binaryEdit and BPatch_process
Fixed bad pointer usage in new BPatch_process::setBeingDebuggedFlag function

12 years agoThe Async thread was triggering global parses when it searched for a RT library
legendre [Wed, 16 Jan 2008 22:01:21 +0000 (22:01 +0000)]
The Async thread was triggering global parses when it searched for a RT library
variable in every module rather than just the RT library.

12 years agoMoved insertSnippet into BPatchAddress space, rather than having two copies
legendre [Wed, 16 Jan 2008 22:01:15 +0000 (22:01 +0000)]
Moved insertSnippet into BPatchAddress space, rather than having two copies
in BPatch_binaryEdit and BPatch_process

12 years agoRemoved open file descriptor leak
legendre [Wed, 16 Jan 2008 22:01:14 +0000 (22:01 +0000)]
Removed open file descriptor leak

12 years agoWindows build fixes involving the extract_pathname functions
legendre [Wed, 16 Jan 2008 22:01:10 +0000 (22:01 +0000)]
Windows build fixes involving the extract_pathname functions

12 years agoAdd P_getpagesize() to fix windows build problem
legendre [Wed, 16 Jan 2008 22:01:06 +0000 (22:01 +0000)]
Add P_getpagesize() to fix windows build problem

12 years agoFixing multiple bugs in new annotation system
legendre [Wed, 16 Jan 2008 22:01:02 +0000 (22:01 +0000)]
Fixing multiple bugs in new annotation system

12 years agoRemove compiler warnings and debugging prints
legendre [Wed, 16 Jan 2008 22:00:55 +0000 (22:00 +0000)]
Remove compiler warnings and debugging prints

12 years agoAdd cap_fixpoint_gen and cap_noaddr_gen--both currently only on x86 platforms
legendre [Wed, 16 Jan 2008 22:00:50 +0000 (22:00 +0000)]
Add cap_fixpoint_gen and cap_noaddr_gen--both currently only on x86 platforms

12 years agoAdd the capablility of generating relocated instructions without needing to know the
legendre [Wed, 16 Jan 2008 22:00:48 +0000 (22:00 +0000)]
Add the capablility of generating relocated instructions without needing to know the
eventual address of the instruction.  This allows us to compute an exact size of the relocated
code before determining how to lay it out.  Defined with cap_noaddr_gen

12 years agoChange x86 instruction relocation to be able to relocate an instruction without knowing
legendre [Wed, 16 Jan 2008 22:00:45 +0000 (22:00 +0000)]
Change x86 instruction relocation to be able to relocate an instruction without knowing
it's new address.  Any pc-dependant instruction is marked with a pcRelRegion patch point
that can be filled in after addresses are finalized.
Any other platforms that become capable of doing this should get cap_noaddr_gen defined

12 years agofix solaris9 build error
giri [Fri, 11 Jan 2008 21:51:35 +0000 (21:51 +0000)]
fix solaris9 build error

12 years agoFixed the Annotatable build errors. I've verified that the method of static
bill [Thu, 10 Jan 2008 21:14:53 +0000 (21:14 +0000)]
Fixed the Annotatable build errors.  I've verified that the method of static
initialization we're using will create a separate hash for each specialization
of AnnotationSet, and it should also build on gcc 3.3.x.

M common/h/Annotatable.h
M dyninstAPI/h/BPatch_snippet.h
M dyninstAPI/src/BPatch_function.C
M dyninstAPI/src/arch-sparc.C
M symtabAPI/src/Symtab.C

Added support for new instructions in SSE4/SSE4a, introduced in 2007, to the
IA32/AMD64 tables in arch-x86.*.

M dyninstAPI/src/arch-x86.C
M dyninstAPI/src/arch-x86.h

12 years agoRemove flag to emit call
giri [Thu, 10 Jan 2008 20:12:42 +0000 (20:12 +0000)]
Remove flag to emit call

12 years agoFix a memory leak
giri [Thu, 10 Jan 2008 19:43:33 +0000 (19:43 +0000)]
Fix a memory leak

12 years agoGet rid of warning
giri [Thu, 10 Jan 2008 19:43:32 +0000 (19:43 +0000)]
Get rid of warning

12 years agoChanged to not include bss in the list of segments returned
giri [Thu, 10 Jan 2008 19:43:31 +0000 (19:43 +0000)]
Changed to not include bss in the list of segments returned

12 years agoUncomment getModTypeCollection
giri [Thu, 10 Jan 2008 19:43:29 +0000 (19:43 +0000)]
Uncomment getModTypeCollection

12 years agoReturn the absolute address of the newly created section where it'll be layed out...
giri [Thu, 10 Jan 2008 19:43:28 +0000 (19:43 +0000)]
Return the absolute address of the newly created section where it'll be layed out in memory

12 years agoProvide interfaces for patching section data, adding new relocations
giri [Thu, 10 Jan 2008 19:43:27 +0000 (19:43 +0000)]
Provide interfaces for patching section data, adding new relocations

12 years agoAdd a method to retrieve the number of lines present
giri [Thu, 10 Jan 2008 19:43:25 +0000 (19:43 +0000)]
Add a method to retrieve the number of lines present

12 years agoemit relocations & changed to add a new segment instead of expanding bss
giri [Thu, 10 Jan 2008 19:43:21 +0000 (19:43 +0000)]
emit relocations & changed to add a new segment instead of expanding bss

12 years agoAdd a new variable to indicate the version of libelf present
giri [Thu, 10 Jan 2008 19:43:20 +0000 (19:43 +0000)]
Add a new variable to indicate the version of libelf present

12 years agoA strange error occured (due to my working in different working copies of
jaw [Wed, 9 Jan 2008 05:27:24 +0000 (05:27 +0000)]
A strange error occured (due to my working in different working copies of
the repository) where changes made to a couple files did not make it into
the repository.  This should fix that.

12 years agoBugfix: the instructions encoded as 0f 19 through 0f 1f are actually no-ops taking...
bill [Tue, 8 Jan 2008 19:54:53 +0000 (19:54 +0000)]
Bugfix: the instructions encoded as 0f 19 through 0f 1f are actually no-ops taking a single Ev operand,
not illegal instructions as we had in our table, on everything above a P6 core.  This resulted in us
not only decoding the no-op wrong (as an illegal), but also consuming the wrong number of bytes.

M arch-x86.C

12 years agoreduce cost-per-object of annotations by storing annotations in static hash tables.
jaw [Thu, 3 Jan 2008 22:55:09 +0000 (22:55 +0000)]
reduce cost-per-object of annotations by storing annotations in static hash tables.
add caching and reference counting to MappedFile
Move some of our basic hash functions to the common lib

12 years agoMake Object layer non-persistent in symtabAPI. Adds MappedFile, a (duh) mapped file...
jaw [Thu, 3 Jan 2008 17:49:17 +0000 (17:49 +0000)]
Make Object layer non-persistent in symtabAPI.  Adds MappedFile, a (duh) mapped file abstraction that exists independently of the Object

12 years agoFix memory corruption bug
legendre [Thu, 3 Jan 2008 00:13:22 +0000 (00:13 +0000)]
Fix memory corruption bug

12 years agoFixed leaking open file descritors
legendre [Thu, 3 Jan 2008 00:13:20 +0000 (00:13 +0000)]
Fixed leaking open file descritors

12 years agoFix Performance problem where we rebuilt a list of PLT symbols everytime
legendre [Thu, 3 Jan 2008 00:13:17 +0000 (00:13 +0000)]
Fix Performance problem where we rebuilt a list of PLT symbols everytime
we parsed a new function.

12 years agoAdd functions to arbitrary instPoint constructor
legendre [Thu, 3 Jan 2008 00:13:11 +0000 (00:13 +0000)]
Add functions to arbitrary instPoint constructor

12 years agoRemoved debugging prints
legendre [Thu, 3 Jan 2008 00:13:10 +0000 (00:13 +0000)]
Removed debugging prints

12 years agoEnable liveness for AMD-64 and POWER; bug fixes - - - - - - - - - - - -
bernat [Mon, 31 Dec 2007 16:08:18 +0000 (16:08 +0000)]
Enable liveness for AMD-64 and POWER; bug fixes  - - - - - - - - - - - -
Implement SPR liveness for POWER; full liveness for x86/AMD-64

12 years agoEnable liveness for AMD-64 and POWER; bug fixes - - - - - - - - - - - -
bernat [Mon, 31 Dec 2007 16:08:17 +0000 (16:08 +0000)]
Enable liveness for AMD-64 and POWER; bug fixes  - - - - - - - - - - - -
Correctly handle multiple-entry/overlapping functions

12 years agoEnable liveness for AMD-64 and POWER; bug fixes - - - - - - - - - - - -
bernat [Mon, 31 Dec 2007 16:08:16 +0000 (16:08 +0000)]
Enable liveness for AMD-64 and POWER; bug fixes  - - - - - - - - - - - -
Correct the default call/syscall liveness info

12 years agoEnable liveness for AMD-64 and POWER; bug fixes - - - - - - - - - - - -
bernat [Mon, 31 Dec 2007 16:08:15 +0000 (16:08 +0000)]
Enable liveness for AMD-64 and POWER; bug fixes  - - - - - - - - - - - -
Add "default" call/syscall liveness info

12 years agoEnable liveness for AMD-64 and POWER; bug fixes - - - - - - - - - - - -
bernat [Mon, 31 Dec 2007 16:08:14 +0000 (16:08 +0000)]
Enable liveness for AMD-64 and POWER; bug fixes  - - - - - - - - - - - -
Move implementation of getLivenessIn

12 years agoEnable liveness for AMD-64 and POWER; bug fixes - - - - - - - - - - - -
bernat [Mon, 31 Dec 2007 16:08:13 +0000 (16:08 +0000)]
Enable liveness for AMD-64 and POWER; bug fixes  - - - - - - - - - - - -
Use cap_stripped_binaries instead of arch defines

12 years agoEnable liveness for AMD-64 and POWER; bug fixes - - - - - - - - - - - -
bernat [Mon, 31 Dec 2007 16:08:11 +0000 (16:08 +0000)]
Enable liveness for AMD-64 and POWER; bug fixes  - - - - - - - - - - - -
Remove const-ness for int_basicBlock constructor

12 years agoEnable liveness for AMD-64 and POWER; bug fixes - - - - - - - - - - - -
bernat [Mon, 31 Dec 2007 16:08:09 +0000 (16:08 +0000)]
Enable liveness for AMD-64 and POWER; bug fixes  - - - - - - - - - - - -
Add liveness_debug functions

12 years agoEnable liveness for AMD-64 and POWER; bug fixes - - - - - - - - - - - -
bernat [Mon, 31 Dec 2007 16:08:08 +0000 (16:08 +0000)]
Enable liveness for AMD-64 and POWER; bug fixes  - - - - - - - - - - - -
Create correct ia32_entry for invalid instructions

12 years agoEnable liveness for AMD-64 and POWER; bug fixes - - - - - - - - - - - -
bernat [Mon, 31 Dec 2007 16:08:06 +0000 (16:08 +0000)]
Enable liveness for AMD-64 and POWER; bug fixes  - - - - - - - - - - - -
Add a safety check

12 years agoEnable liveness for AMD-64 and POWER; bug fixes - - - - - - - - - - - -
bernat [Mon, 31 Dec 2007 16:08:03 +0000 (16:08 +0000)]
Enable liveness for AMD-64 and POWER; bug fixes  - - - - - - - - - - - -
Fix bugs in inferiorMalloc

12 years agoEnable liveness for AMD-64 and POWER; bug fixes - - - - - - - - - - - -
bernat [Mon, 31 Dec 2007 16:08:02 +0000 (16:08 +0000)]
Enable liveness for AMD-64 and POWER; bug fixes  - - - - - - - - - - - -
Bug fixes in use/def information

12 years agoEnable liveness for AMD-64 and POWER; bug fixes - - - - - - - - - - - -
bernat [Mon, 31 Dec 2007 16:08:01 +0000 (16:08 +0000)]
Enable liveness for AMD-64 and POWER; bug fixes  - - - - - - - - - - - -
Implement getAllRegistersUsedAndDefined

12 years agoEnable liveness for AMD-64 and POWER; bug fixes - - - - - - - - - - - -
bernat [Mon, 31 Dec 2007 16:08:00 +0000 (16:08 +0000)]
Enable liveness for AMD-64 and POWER; bug fixes  - - - - - - - - - - - -
Add safety assertion

12 years agoEnable liveness for AMD-64 and POWER; bug fixes - - - - - - - - - - - -
bernat [Mon, 31 Dec 2007 16:07:59 +0000 (16:07 +0000)]
Enable liveness for AMD-64 and POWER; bug fixes  - - - - - - - - - - - -
Enable cap_liveness for POWER; disable USES_LIB_TEXT_HEAP

12 years agoMake annotation system typesafe and more compact...
jaw [Fri, 14 Dec 2007 04:16:47 +0000 (04:16 +0000)]
Make annotation system typesafe and more compact...
apply annotations to on-demand parts of symtabAPI

12 years agoRemove the walkDwarvenTree friend declaration
giri [Wed, 12 Dec 2007 23:18:00 +0000 (23:18 +0000)]
Remove the walkDwarvenTree friend declaration

12 years agoAdded three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTa...
roundy [Wed, 12 Dec 2007 22:21:00 +0000 (22:21 +0000)]
Added three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTarget, and BPatch_(image/module)::parseNewRegion which replaces addMemModule.  Changed library load handling and decode.  Added a symtab::parseGaps variable that replaces a pre-compiler directive.  Made changes to SymtabAPI's Object-nt.C especially in the FindInterestingSections.
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Changed semantics of getLoadAddress to return the imageBase, added null pointer check to getEntryPoint

12 years agoAdded three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTa...
roundy [Wed, 12 Dec 2007 22:20:59 +0000 (22:20 +0000)]
Added three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTarget, and BPatch_(image/module)::parseNewRegion which replaces addMemModule.  Changed library load handling and decode.  Added a symtab::parseGaps variable that replaces a pre-compiler directive.  Made changes to SymtabAPI's Object-nt.C especially in the FindInterestingSections.
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Made FindInterestingSections more robust to non-conventional PE headers and fixed lots of tab issues

12 years agoAdded three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTa...
roundy [Wed, 12 Dec 2007 22:20:58 +0000 (22:20 +0000)]
Added three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTarget, and BPatch_(image/module)::parseNewRegion which replaces addMemModule.  Changed library load handling and decode.  Added a symtab::parseGaps variable that replaces a pre-compiler directive.  Made changes to SymtabAPI's Object-nt.C especially in the FindInterestingSections.
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
I had removed a sanity check in a previous commit, and now added it back in

12 years agoAdded three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTa...
roundy [Wed, 12 Dec 2007 22:20:57 +0000 (22:20 +0000)]
Added three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTarget, and BPatch_(image/module)::parseNewRegion which replaces addMemModule.  Changed library load handling and decode.  Added a symtab::parseGaps variable that replaces a pre-compiler directive.  Made changes to SymtabAPI's Object-nt.C especially in the FindInterestingSections.
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Added a "using namespace std" statement

12 years agoAdded three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTa...
roundy [Wed, 12 Dec 2007 22:20:56 +0000 (22:20 +0000)]
Added three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTarget, and BPatch_(image/module)::parseNewRegion which replaces addMemModule.  Changed library load handling and decode.  Added a symtab::parseGaps variable that replaces a pre-compiler directive.  Made changes to SymtabAPI's Object-nt.C especially in the FindInterestingSections.
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Added addFunctionStub, gap parsing is now a default off parameter to image::parseImage() and image::image(), and added two private variables.

12 years agoAdded three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTa...
roundy [Wed, 12 Dec 2007 22:20:55 +0000 (22:20 +0000)]
Added three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTarget, and BPatch_(image/module)::parseNewRegion which replaces addMemModule.  Changed library load handling and decode.  Added a symtab::parseGaps variable that replaces a pre-compiler directive.  Made changes to SymtabAPI's Object-nt.C especially in the FindInterestingSections.
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Added function addFunctionStub, which allows an address to be added to everyUniqueFunction as a seed for control-flow traversal parsing.  In fileDescriptor::isEqual, added inode comparison on the file as a comparison check in linux OS's.  Gap parsing is now a default off parameter to image::parseImage() and image::image() instead of a pre-compiler flag.

12 years agoAdded three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTa...
roundy [Wed, 12 Dec 2007 22:20:53 +0000 (22:20 +0000)]
Added three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTarget, and BPatch_(image/module)::parseNewRegion which replaces addMemModule.  Changed library load handling and decode.  Added a symtab::parseGaps variable that replaces a pre-compiler directive.  Made changes to SymtabAPI's Object-nt.C especially in the FindInterestingSections.
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Removed duplicate error message

12 years agoAdded three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTa...
roundy [Wed, 12 Dec 2007 22:20:52 +0000 (22:20 +0000)]
Added three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTarget, and BPatch_(image/module)::parseNewRegion which replaces addMemModule.  Changed library load handling and decode.  Added a symtab::parseGaps variable that replaces a pre-compiler directive.  Made changes to SymtabAPI's Object-nt.C especially in the FindInterestingSections.
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Re-ordering of statements in loadDyninstLib, and changes to handleChangeInSharedObjectMapping(EventRecord &ev), which can now simultaneously handle both dropped and added libraries

12 years agoAdded three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTa...
roundy [Wed, 12 Dec 2007 22:20:51 +0000 (22:20 +0000)]
Added three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTarget, and BPatch_(image/module)::parseNewRegion which replaces addMemModule.  Changed library load handling and decode.  Added a symtab::parseGaps variable that replaces a pre-compiler directive.  Made changes to SymtabAPI's Object-nt.C especially in the FindInterestingSections.
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Very minor changes to handleIfDueToSharedObjectMapping to conform to changes in dynamiclinking.h

12 years agoAdded three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTa...
roundy [Wed, 12 Dec 2007 22:20:50 +0000 (22:20 +0000)]
Added three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTarget, and BPatch_(image/module)::parseNewRegion which replaces addMemModule.  Changed library load handling and decode.  Added a symtab::parseGaps variable that replaces a pre-compiler directive.  Made changes to SymtabAPI's Object-nt.C especially in the FindInterestingSections.
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Gap parsing is now a default off parameter to mapped_object::createMappedObject()

12 years agoAdded three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTa...
roundy [Wed, 12 Dec 2007 22:20:49 +0000 (22:20 +0000)]
Added three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTarget, and BPatch_(image/module)::parseNewRegion which replaces addMemModule.  Changed library load handling and decode.  Added a symtab::parseGaps variable that replaces a pre-compiler directive.  Made changes to SymtabAPI's Object-nt.C especially in the FindInterestingSections.
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Gap parsing is now a default off parameter to mapped_object::createMappedObject(), image::parseImage(), and image::image() instead of a pre-compiler flag.

12 years agoAdded three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTa...
roundy [Wed, 12 Dec 2007 22:20:48 +0000 (22:20 +0000)]
Added three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTarget, and BPatch_(image/module)::parseNewRegion which replaces addMemModule.  Changed library load handling and decode.  Added a symtab::parseGaps variable that replaces a pre-compiler directive.  Made changes to SymtabAPI's Object-nt.C especially in the FindInterestingSections.
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Changed decodeIfDueToSharedObjectMapping so that it would return true if the exception was caused by the hook in the linker and wouldn't bother checking to see if the list of shared objects in the linkmaps had changed, this is done in handling.

12 years agoAdded three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTa...
roundy [Wed, 12 Dec 2007 22:20:47 +0000 (22:20 +0000)]
Added three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTarget, and BPatch_(image/module)::parseNewRegion which replaces addMemModule.  Changed library load handling and decode.  Added a symtab::parseGaps variable that replaces a pre-compiler directive.  Made changes to SymtabAPI's Object-nt.C especially in the FindInterestingSections.
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Made a few updates to code that tracks the loading of libc and the invocation of libc_start_main

12 years agoAdded three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTa...
roundy [Wed, 12 Dec 2007 22:20:46 +0000 (22:20 +0000)]
Added three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTarget, and BPatch_(image/module)::parseNewRegion which replaces addMemModule.  Changed library load handling and decode.  Added a symtab::parseGaps variable that replaces a pre-compiler directive.  Made changes to SymtabAPI's Object-nt.C especially in the FindInterestingSections.
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Removed a cap_stripped_binaries ifdef

12 years agoAdded three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTa...
roundy [Wed, 12 Dec 2007 22:20:45 +0000 (22:20 +0000)]
Added three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTarget, and BPatch_(image/module)::parseNewRegion which replaces addMemModule.  Changed library load handling and decode.  Added a symtab::parseGaps variable that replaces a pre-compiler directive.  Made changes to SymtabAPI's Object-nt.C especially in the FindInterestingSections.
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Removed a few cap_stripped_binaries ifdefs

12 years agoAdded three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTa...
roundy [Wed, 12 Dec 2007 22:20:44 +0000 (22:20 +0000)]
Added three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTarget, and BPatch_(image/module)::parseNewRegion which replaces addMemModule.  Changed library load handling and decode.  Added a symtab::parseGaps variable that replaces a pre-compiler directive.  Made changes to SymtabAPI's Object-nt.C especially in the FindInterestingSections.
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Gap parsing is controlled by a private image class variable instead of a pre-compiler flag.  Unresolvable control-flow instructions are added to the badControlFlow vector during parsing.

12 years agoAdded three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTa...
roundy [Wed, 12 Dec 2007 22:20:43 +0000 (22:20 +0000)]
Added three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTarget, and BPatch_(image/module)::parseNewRegion which replaces addMemModule.  Changed library load handling and decode.  Added a symtab::parseGaps variable that replaces a pre-compiler directive.  Made changes to SymtabAPI's Object-nt.C especially in the FindInterestingSections.
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Removed function didLinkMapsChange, changed signatures of decodeIfDueToSharedObjectMapping and findChangeToLinkMaps

12 years agoAdded three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTa...
roundy [Wed, 12 Dec 2007 22:20:42 +0000 (22:20 +0000)]
Added three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTarget, and BPatch_(image/module)::parseNewRegion which replaces addMemModule.  Changed library load handling and decode.  Added a symtab::parseGaps variable that replaces a pre-compiler directive.  Made changes to SymtabAPI's Object-nt.C especially in the FindInterestingSections.
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Removed function didLinkMapsChange, which was no longer used thanks to the changes to decodeIfDueToSharedObjectMapping.  Changed findChangeToLinkMaps to make it robust to the possibility of objects being both added and removed, which can happen before we set up a hook in the linker (before we reach the trap at main).

12 years agoAdded three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTa...
roundy [Wed, 12 Dec 2007 22:20:41 +0000 (22:20 +0000)]
Added three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTarget, and BPatch_(image/module)::parseNewRegion which replaces addMemModule.  Changed library load handling and decode.  Added a symtab::parseGaps variable that replaces a pre-compiler directive.  Made changes to SymtabAPI's Object-nt.C especially in the FindInterestingSections.
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Changed decodeIfDueToSharedObjectMapping so that it would return true if the exception was caused by the hook in the linker and wouldn't bother checking to see if the list of shared objects in the linkmaps had changed, this is done in handling

12 years agoAdded three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTa...
roundy [Wed, 12 Dec 2007 22:20:39 +0000 (22:20 +0000)]
Added three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTarget, and BPatch_(image/module)::parseNewRegion which replaces addMemModule.  Changed library load handling and decode.  Added a symtab::parseGaps variable that replaces a pre-compiler directive.  Made changes to SymtabAPI's Object-nt.C especially in the FindInterestingSections.
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Added public function "findObject(fileDescriptor desc)" so that objects can be matched on fileDescriptors.

12 years agoAdded three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTa...
roundy [Wed, 12 Dec 2007 22:20:36 +0000 (22:20 +0000)]
Added three API functions BPatch_process::setBeingDebuggedFlag, BPatch_point::getCFTarget, and BPatch_(image/module)::parseNewRegion which replaces addMemModule.  Changed library load handling and decode.  Added a symtab::parseGaps variable that replaces a pre-compiler directive.  Made changes to SymtabAPI's Object-nt.C especially in the FindInterestingSections.
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Renamed function addMemModule to parseNewRegion, changed its parameters to make some of its parameters optional