dyninst.git
13 years agoMerge changes since Dyninst 5.2 beta 3 into trunk
legendre [Fri, 11 Apr 2008 23:29:50 +0000 (23:29 +0000)]
Merge changes since Dyninst 5.2 beta 3 into trunk

13 years agoRemove unused Boost header file that was causing Solaris (or possibly
bernat [Thu, 10 Apr 2008 17:07:17 +0000 (17:07 +0000)]
Remove unused Boost header file that was causing Solaris (or possibly
gcc 3.4.4) to break.

13 years agoAdd setPermissions to Region
giri [Tue, 8 Apr 2008 22:55:45 +0000 (22:55 +0000)]
Add setPermissions to Region

13 years agoUse segment permissions for sections
giri [Tue, 8 Apr 2008 22:55:21 +0000 (22:55 +0000)]
Use segment permissions for sections

13 years agoChange isCode to check correct the correct addresses
giri [Tue, 8 Apr 2008 21:17:49 +0000 (21:17 +0000)]
Change isCode to check correct the correct addresses

13 years agoFix solaris build error
giri [Tue, 8 Apr 2008 18:51:24 +0000 (18:51 +0000)]
Fix solaris build error

13 years agoDefine new setLocation function
giri [Mon, 7 Apr 2008 22:33:06 +0000 (22:33 +0000)]
Define new setLocation function

13 years agoRemove previously defined Region structure
giri [Mon, 7 Apr 2008 22:33:05 +0000 (22:33 +0000)]
Remove previously defined Region structure

13 years agoChange Section to Region
giri [Mon, 7 Apr 2008 22:32:38 +0000 (22:32 +0000)]
Change Section to Region

13 years agoDLLEXPORT AnnotatableBase constructor
giri [Mon, 7 Apr 2008 22:32:36 +0000 (22:32 +0000)]
DLLEXPORT AnnotatableBase constructor

13 years agoAdd symtabAPI/h to include file path
giri [Mon, 7 Apr 2008 22:32:35 +0000 (22:32 +0000)]
Add symtabAPI/h to include file path

13 years agoRemove Extra dynutil/h to build line
giri [Mon, 7 Apr 2008 22:32:34 +0000 (22:32 +0000)]
Remove Extra dynutil/h to build line

13 years agoAdd Annotatable.h, util.h as dependencies to the project
giri [Mon, 7 Apr 2008 22:32:30 +0000 (22:32 +0000)]
Add Annotatable.h, util.h as dependencies to the project

13 years agoAdd an API call for accessing dependencies
giri [Tue, 1 Apr 2008 18:52:32 +0000 (18:52 +0000)]
Add an API call for accessing dependencies

13 years agoReverting to 1.26, commit 1.27 moved to release branch
bill [Mon, 31 Mar 2008 21:30:42 +0000 (21:30 +0000)]
Reverting to 1.26, commit 1.27 moved to release branch

13 years agoAdd a section for absolute symbols
giri [Mon, 31 Mar 2008 21:23:09 +0000 (21:23 +0000)]
Add a section for absolute symbols

13 years agoFixed Symtab constructor error handling
bill [Mon, 31 Mar 2008 21:06:06 +0000 (21:06 +0000)]
Fixed Symtab constructor error handling

13 years agoRegister modification commit - - - - - - - - - - - - - - - - - - - - - -
bernat [Tue, 25 Mar 2008 19:24:41 +0000 (19:24 +0000)]
Register modification commit  - - - - - - - - - - - - - - - - - - - - - -
Remove unnecessary second generation of template BT

13 years agoRegister modification commit - - - - - - - - - - - - - - - - - - - - - -
bernat [Tue, 25 Mar 2008 19:24:39 +0000 (19:24 +0000)]
Register modification commit  - - - - - - - - - - - - - - - - - - - - - -
Add naming of registers (AMD-64/POWER only)

13 years agoRegister modification commit - - - - - - - - - - - - - - - - - - - - - -
bernat [Tue, 25 Mar 2008 19:24:38 +0000 (19:24 +0000)]
Register modification commit  - - - - - - - - - - - - - - - - - - - - - -
Remove instPoint::liveRegisterArray()

13 years agoRegister modification commit - - - - - - - - - - - - - - - - - - - - - -
bernat [Tue, 25 Mar 2008 19:24:37 +0000 (19:24 +0000)]
Register modification commit  - - - - - - - - - - - - - - - - - - - - - -
Compilation fixes

13 years agoRegister modification commit - - - - - - - - - - - - - - - - - - - - - -
bernat [Tue, 25 Mar 2008 19:24:36 +0000 (19:24 +0000)]
Register modification commit  - - - - - - - - - - - - - - - - - - - - - -
Remove int* live array

13 years agoRegister modification commit - - - - - - - - - - - - - - - - - - - - - -
bernat [Tue, 25 Mar 2008 19:24:24 +0000 (19:24 +0000)]
Register modification commit  - - - - - - - - - - - - - - - - - - - - - -
Add capability to write to original register

13 years agoRegister modification commit - - - - - - - - - - - - - - - - - - - - - -
bernat [Tue, 25 Mar 2008 19:24:23 +0000 (19:24 +0000)]
Register modification commit  - - - - - - - - - - - - - - - - - - - - - -
Remove unnecessary #define

13 years agoRegister modification commit - - - - - - - - - - - - - - - - - - - - - -
bernat [Tue, 25 Mar 2008 19:24:20 +0000 (19:24 +0000)]
Register modification commit  - - - - - - - - - - - - - - - - - - - - - -
Add register modification snippet

13 years agoRegister modification commit - - - - - - - - - - - - - - - - - - - - - -
bernat [Tue, 25 Mar 2008 19:24:17 +0000 (19:24 +0000)]
Register modification commit  - - - - - - - - - - - - - - - - - - - - - -
getLiveRegisters now returns registers instead of ints

13 years agoRegister modification commit - - - - - - - - - - - - - - - - - - - - - -
bernat [Tue, 25 Mar 2008 19:24:15 +0000 (19:24 +0000)]
Register modification commit  - - - - - - - - - - - - - - - - - - - - - -
Add BPatch_register prototype

13 years agoRegister modification commit - - - - - - - - - - - - - - - - - - - - - -
bernat [Tue, 25 Mar 2008 19:24:12 +0000 (19:24 +0000)]
Register modification commit  - - - - - - - - - - - - - - - - - - - - - -
Add createRegister_NP and getRegisters

13 years agoRegister modification commit - - - - - - - - - - - - - - - - - - - - - -
bernat [Tue, 25 Mar 2008 19:24:11 +0000 (19:24 +0000)]
Register modification commit  - - - - - - - - - - - - - - - - - - - - - -
Disable external templates on ppc32-linux

13 years agoMerge Release 5.2 branch into CVSHEAD
legendre [Wed, 12 Mar 2008 22:48:50 +0000 (22:48 +0000)]
Merge Release 5.2 branch into CVSHEAD

13 years agoMerge Release 5.2 branch into CVSHEAD
legendre [Wed, 12 Mar 2008 20:08:48 +0000 (20:08 +0000)]
Merge Release 5.2 branch into CVSHEAD

13 years agoatt
legendre [Wed, 12 Mar 2008 20:08:23 +0000 (20:08 +0000)]
att

13 years agofix test2_3, prune template files from build (they were redundant), more mmap destruc...
jaw [Tue, 26 Feb 2008 06:59:36 +0000 (06:59 +0000)]
fix test2_3, prune template files from build (they were redundant), more mmap destructor calling fun

13 years agoFixed parseThat makefile
mlam [Mon, 25 Feb 2008 17:30:04 +0000 (17:30 +0000)]
Fixed parseThat makefile

13 years agoThis commit eliminates a few small memory leaks that I found, cleans up a
jaw [Sat, 23 Feb 2008 02:09:04 +0000 (02:09 +0000)]
This commit eliminates a few small memory leaks that I found, cleans up a
lot of compiler warnings (but not all), and fixes other small bugs and/or
build problems.

13 years agoPass the member offset to object constructor
giri [Fri, 22 Feb 2008 17:47:57 +0000 (17:47 +0000)]
Pass the member offset to object constructor

13 years agoFixed more badly formed includes
legendre [Thu, 21 Feb 2008 21:27:47 +0000 (21:27 +0000)]
Fixed more badly formed includes

13 years agoRemoved debugging printfs
legendre [Thu, 21 Feb 2008 20:11:59 +0000 (20:11 +0000)]
Removed debugging printfs

13 years agoUse comments that are accepted by the pgc compiler
legendre [Thu, 21 Feb 2008 20:11:58 +0000 (20:11 +0000)]
Use comments that are accepted by the pgc compiler

13 years agoFix .gnu.version_r section data
giri [Wed, 20 Feb 2008 22:52:15 +0000 (22:52 +0000)]
Fix .gnu.version_r section data

13 years agoRename location members lo, hi as lowPC, hiPC
giri [Wed, 20 Feb 2008 22:52:12 +0000 (22:52 +0000)]
Rename location members lo, hi as lowPC, hiPC

13 years agoRemove an extra getFlags function for Section
giri [Wed, 20 Feb 2008 22:52:10 +0000 (22:52 +0000)]
Remove an extra getFlags function for Section

13 years agoparse members of an archive lazily
giri [Wed, 20 Feb 2008 22:52:07 +0000 (22:52 +0000)]
parse members of an archive lazily

13 years agoFix multithread attach failures in Wisc, Aix 5.1 has issues attaching
legendre [Wed, 20 Feb 2008 22:34:28 +0000 (22:34 +0000)]
Fix multithread attach failures in Wisc, Aix 5.1 has issues attaching
to processes in a system call that we have to work around.

13 years agoRemove compiler warnings
legendre [Wed, 20 Feb 2008 22:34:23 +0000 (22:34 +0000)]
Remove compiler warnings

13 years agoAdd address width parameter to our instruction::jumpSize
legendre [Wed, 20 Feb 2008 22:34:09 +0000 (22:34 +0000)]
Add address width parameter to our instruction::jumpSize
family of functions.  Some Linux/PPC32 tests were failing because
we were returning jump sizes based on PPC64

13 years agoFix issues with Windows build
legendre [Wed, 20 Feb 2008 22:34:05 +0000 (22:34 +0000)]
Fix issues with Windows build

13 years agoAdd SymtabAPI include directory to make paths
legendre [Wed, 20 Feb 2008 22:34:04 +0000 (22:34 +0000)]
Add SymtabAPI include directory to make paths

13 years ago(1) unlink /tmp/dyninstAsync files on the mutatee side as well as the
jaw [Wed, 20 Feb 2008 08:31:00 +0000 (08:31 +0000)]
(1) unlink /tmp/dyninstAsync files on the mutatee side as well as the
mutator side...  this was why they weren't going away as expected.
(Note that they may still persist after a crashed run)

(2) un-define cap_save_the_world in the dyninst build, then fix resulting
compilation problems (move code under the flag that belongs there).  Also,
remove save-the-world files from the compile/link of dyninst and RT lib.
This is in anticipation of "cvs remove"ing them altogether.  Speak now or
forever hold your peace.

(3) build fixes related to not being able to find header files in
symtabAPI

(4) fix intermittent test2_1 failure on solaris by introducing stricter
checking on mutatee existence on the bpatch layer.  This was, I think, a
race condition that sometimes manifests while the signalhandling system is
busy forking and exec'ing a nonexistant file.  Head it off at the pass
with a call to stat().  I have better things on the horizon for the
signalhandling system anyways.

13 years agoMake -log and -logfile options imply each other
legendre [Tue, 19 Feb 2008 23:50:16 +0000 (23:50 +0000)]
Make -log and -logfile options imply each other

13 years agoHandle object files without text sections
legendre [Tue, 19 Feb 2008 23:50:14 +0000 (23:50 +0000)]
Handle object files without text sections

13 years agoFixed compilation errors under newer compilers
legendre [Tue, 19 Feb 2008 23:50:13 +0000 (23:50 +0000)]
Fixed compilation errors under newer compilers

13 years agoRemoved some silly code that was overriding the BPatch_type of the
legendre [Tue, 19 Feb 2008 23:50:11 +0000 (23:50 +0000)]
Removed some silly code that was overriding the BPatch_type of the
mutatee's globalVariable25_2 with void *, then trying to dereference
it.

13 years agoAdded error handling code for when a user (or stupid test) tried
legendre [Tue, 19 Feb 2008 23:50:10 +0000 (23:50 +0000)]
Added error handling code for when a user (or stupid test) tried
to generate code that dereferenced a variable with a BPatch_type of
'void *'

13 years agoFix compilation error under IBM_BPATCH_COMPAT
legendre [Tue, 19 Feb 2008 23:50:09 +0000 (23:50 +0000)]
Fix compilation error under IBM_BPATCH_COMPAT

13 years agoFixed include paths for release
legendre [Tue, 19 Feb 2008 23:50:06 +0000 (23:50 +0000)]
Fixed include paths for release

13 years agoRemoved some AIX #defines that look to have accidentally been placed in the Windows
legendre [Tue, 19 Feb 2008 23:50:05 +0000 (23:50 +0000)]
Removed some AIX #defines that look to have accidentally been placed in the Windows
code

13 years agoFix include paths of dynutil for Windows build
legendre [Tue, 19 Feb 2008 23:50:02 +0000 (23:50 +0000)]
Fix include paths of dynutil for Windows build

13 years agopdstring::nilptr fix
mlam [Tue, 19 Feb 2008 19:43:38 +0000 (19:43 +0000)]
pdstring::nilptr fix

13 years agoIntroduce rs6000-ibm-aix64 platform.
rchen [Tue, 19 Feb 2008 13:52:27 +0000 (13:52 +0000)]
Introduce rs6000-ibm-aix64 platform.

13 years agoIntroduction of the rs6000-ibm-aix64 platform.
rchen [Tue, 19 Feb 2008 13:43:56 +0000 (13:43 +0000)]
Introduction of the rs6000-ibm-aix64 platform.

13 years agoIntroduce rs6000-ibm-aix64 platform. - - - - - - - - - - - - - - - - - -
rchen [Tue, 19 Feb 2008 13:39:26 +0000 (13:39 +0000)]
Introduce rs6000-ibm-aix64 platform.  - - - - - - - - - - - - - - - - - -
Add XCOFF64 support

13 years agoIntroduce rs6000-ibm-aix64 platform. - - - - - - - - - - - - - - - - - -
rchen [Tue, 19 Feb 2008 13:39:21 +0000 (13:39 +0000)]
Introduce rs6000-ibm-aix64 platform.  - - - - - - - - - - - - - - - - - -
Make test 64-bit friendly.

13 years agoIntroduce rs6000-ibm-aix64 platform. - - - - - - - - - - - - - - - - - -
rchen [Tue, 19 Feb 2008 13:38:34 +0000 (13:38 +0000)]
Introduce rs6000-ibm-aix64 platform.  - - - - - - - - - - - - - - - - - -
Enable 32/64 abi tests for AIX64.

13 years agoIntroduce rs6000-ibm-aix64 platform. - - - - - - - - - - - - - - - - - -
rchen [Tue, 19 Feb 2008 13:38:29 +0000 (13:38 +0000)]
Introduce rs6000-ibm-aix64 platform.  - - - - - - - - - - - - - - - - - -
Enable 32/64 abi tests for AIX64.  Also make subtest #40 64-bit friendly.

13 years agoIntroduce rs6000-ibm-aix64 platform. - - - - - - - - - - - - - - - - - -
rchen [Tue, 19 Feb 2008 13:38:24 +0000 (13:38 +0000)]
Introduce rs6000-ibm-aix64 platform.  - - - - - - - - - - - - - - - - - -
64-bit AIX programs use usla_main instead of main as starting point.

13 years agoIntroduce rs6000-ibm-aix64 platform. - - - - - - - - - - - - - - - - - -
rchen [Tue, 19 Feb 2008 13:38:19 +0000 (13:38 +0000)]
Introduce rs6000-ibm-aix64 platform.  - - - - - - - - - - - - - - - - - -
Force 32-bit procfs commands for 64-bit mutators.

13 years agoIntroduce rs6000-ibm-aix64 platform. - - - - - - - - - - - - - - - - - -
rchen [Tue, 19 Feb 2008 13:38:14 +0000 (13:38 +0000)]
Introduce rs6000-ibm-aix64 platform.  - - - - - - - - - - - - - - - - - -
Modify process::initTrampGuard() to handle 32/64 guards on big endian archs.

13 years agoIntroduce rs6000-ibm-aix64 platform. - - - - - - - - - - - - - - - - - -
rchen [Tue, 19 Feb 2008 13:37:39 +0000 (13:37 +0000)]
Introduce rs6000-ibm-aix64 platform.  - - - - - - - - - - - - - - - - - -
Enable 64-bit Power AIX process instrumentation and interpretation code.

13 years agoIntroduce rs6000-ibm-aix64 platform. - - - - - - - - - - - - - - - - - -
rchen [Tue, 19 Feb 2008 13:37:29 +0000 (13:37 +0000)]
Introduce rs6000-ibm-aix64 platform.  - - - - - - - - - - - - - - - - - -
Use long to hold address instead of int, for 64-bit mutatees.

13 years agoIntroduce rs6000-ibm-aix64 platform. - - - - - - - - - - - - - - - - - -
rchen [Tue, 19 Feb 2008 13:37:24 +0000 (13:37 +0000)]
Introduce rs6000-ibm-aix64 platform.  - - - - - - - - - - - - - - - - - -
Type needs to be set for non-multithread trampGuardAddr AST too.

13 years agoIntroduce rs6000-ibm-aix64 platform. - - - - - - - - - - - - - - - - - -
rchen [Tue, 19 Feb 2008 13:37:19 +0000 (13:37 +0000)]
Introduce rs6000-ibm-aix64 platform.  - - - - - - - - - - - - - - - - - -
Explicitly pass size, instPoint, and addressSpace to emit* functions.

13 years agoIntroduce rs6000-ibm-aix64 platform. - - - - - - - - - - - - - - - - - -
rchen [Tue, 19 Feb 2008 13:37:14 +0000 (13:37 +0000)]
Introduce rs6000-ibm-aix64 platform.  - - - - - - - - - - - - - - - - - -
Add hack to correct builtInTypes once mutatee is known.

13 years agoIntroduce rs6000-ibm-aix64 platform. - - - - - - - - - - - - - - - - - -
rchen [Tue, 19 Feb 2008 13:37:00 +0000 (13:37 +0000)]
Introduce rs6000-ibm-aix64 platform.  - - - - - - - - - - - - - - - - - -
Include 32/64 bit friendly types and prototypes.

13 years agoIntroduce rs6000-ibm-aix64 platform. - - - - - - - - - - - - - - - - - -
rchen [Tue, 19 Feb 2008 13:36:50 +0000 (13:36 +0000)]
Introduce rs6000-ibm-aix64 platform.  - - - - - - - - - - - - - - - - - -
Introduce notion of STD_ABI flag

13 years agoIntroduce rs6000-ibm-aix64 platform. - - - - - - - - - - - - - - - - - -
rchen [Tue, 19 Feb 2008 13:36:24 +0000 (13:36 +0000)]
Introduce rs6000-ibm-aix64 platform.  - - - - - - - - - - - - - - - - - -
Add entry for rs6000-ibm-aix64 platform

13 years agoImplemented parsing of gcc/g++ PIC jump tables on x86 and AMD64.
bill [Mon, 18 Feb 2008 19:14:44 +0000 (19:14 +0000)]
Implemented parsing of gcc/g++ PIC jump tables on x86 and AMD64.

This takes us from having unparseable jump tables in around 2% of functions,
across a decent sample of applications, to having unparseable jump tables in
around 0.1-0.4% of functions in the same sample applications.

M dyninstAPI/src/InstrucIter-x86.C
M dyninstAPI/src/InstrucIter.h
M dyninstAPI/src/image-x86.C

13 years agoDon't use full paths when specifying includes between public header files, they
legendre [Fri, 15 Feb 2008 23:44:45 +0000 (23:44 +0000)]
Don't use full paths when specifying includes between public header files, they
move in the release distribution

13 years agoRenamed symtabAPI/h/util.h to symtabAPI/h/symutil.h to avoid naming conflicts
legendre [Fri, 15 Feb 2008 23:44:38 +0000 (23:44 +0000)]
Renamed symtabAPI/h/util.h to symtabAPI/h/symutil.h to avoid naming conflicts
with dynutil/h/util.h in release header direcory.

13 years agoO|SS fix, on Fedora Core 7 the Elf_Data structure is explicetly defined to
legendre [Fri, 15 Feb 2008 23:44:37 +0000 (23:44 +0000)]
O|SS fix, on Fedora Core 7 the Elf_Data structure is explicetly defined to
use Off64_t, but Off64_t isn't defined unless large file support is enabled.
Enable large file support when using RedHat's libelf.so.1

13 years agoRemoved to RT library save-the-world code, which is no longer supported
legendre [Fri, 15 Feb 2008 23:44:36 +0000 (23:44 +0000)]
Removed to RT library save-the-world code, which is no longer supported
and causing problems by trying to open /proc/PID/exe, which isn't possible
on some LANL machines.

13 years agoO|SS fix, cleanup main breakpoint in attach-before-main code
legendre [Fri, 15 Feb 2008 23:44:34 +0000 (23:44 +0000)]
O|SS fix, cleanup main breakpoint in attach-before-main code

13 years agoO|SS fix, don't consider illegal instructions as function exit points.
legendre [Fri, 15 Feb 2008 23:44:33 +0000 (23:44 +0000)]
O|SS fix, don't consider illegal instructions as function exit points.

13 years agoRemoved internal #ifdef's that were added to public header files by bad people
legendre [Fri, 15 Feb 2008 23:44:30 +0000 (23:44 +0000)]
Removed internal #ifdef's that were added to public header files by bad people

13 years agoDon't use angle brackets when including non-system header files
legendre [Fri, 15 Feb 2008 23:44:29 +0000 (23:44 +0000)]
Don't use angle brackets when including non-system header files

13 years agoBump Dyninst version number to 5.2
legendre [Fri, 15 Feb 2008 23:44:27 +0000 (23:44 +0000)]
Bump Dyninst version number to 5.2

13 years agoFixed single-threaded guard code.
bernat [Fri, 15 Feb 2008 17:47:03 +0000 (17:47 +0000)]
Fixed single-threaded guard code.

13 years agoRemove parseStab.C from the build
giri [Fri, 15 Feb 2008 17:27:48 +0000 (17:27 +0000)]
Remove parseStab.C from the build

13 years agoSet offset for non loadable section data to be zero
giri [Fri, 15 Feb 2008 17:27:46 +0000 (17:27 +0000)]
Set offset for non loadable section data to be zero

13 years agoConstruct IA-64 frame base AST's
giri [Fri, 15 Feb 2008 17:27:43 +0000 (17:27 +0000)]
Construct IA-64 frame base AST's

13 years agoRetrieve type information from symtab
giri [Fri, 15 Feb 2008 17:27:42 +0000 (17:27 +0000)]
Retrieve type information from symtab

13 years agoUse namespace prefix from symtab
giri [Fri, 15 Feb 2008 17:27:40 +0000 (17:27 +0000)]
Use namespace prefix from symtab

13 years agoRemove merge of existing types
giri [Fri, 15 Feb 2008 17:27:39 +0000 (17:27 +0000)]
Remove merge of existing types

13 years agoRemove creation of builtinTypes and use symtab's createType for user defined types
giri [Fri, 15 Feb 2008 17:27:38 +0000 (17:27 +0000)]
Remove creation of builtinTypes and use symtab's createType for user defined types

13 years agoChange Dyninst type classes to use symtab type classes
giri [Fri, 15 Feb 2008 17:27:36 +0000 (17:27 +0000)]
Change Dyninst type classes to use symtab type classes

13 years agoGet rid of debug information parsing code
giri [Fri, 15 Feb 2008 17:27:33 +0000 (17:27 +0000)]
Get rid of debug information parsing code

13 years agoIndicate whether type parsing was successful
giri [Fri, 15 Feb 2008 17:27:32 +0000 (17:27 +0000)]
Indicate whether type parsing was successful

13 years agoConstruct local variables and params from symtab
giri [Fri, 15 Feb 2008 17:27:29 +0000 (17:27 +0000)]
Construct local variables and params from symtab

13 years agoCheck for existence of symbol versioning information
giri [Thu, 14 Feb 2008 22:09:27 +0000 (22:09 +0000)]
Check for existence of symbol versioning information

13 years agoAdd IA64 frame base register number for functions
giri [Thu, 14 Feb 2008 22:09:23 +0000 (22:09 +0000)]
Add IA64 frame base register number for functions