dyninst.git
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

13 years agoRemoved debugging printfs
legendre [Thu, 14 Feb 2008 22:03:54 +0000 (22:03 +0000)]
Removed debugging printfs

13 years agoFix 'new' allocation being freed with 'free'
legendre [Thu, 14 Feb 2008 22:03:53 +0000 (22:03 +0000)]
Fix 'new' allocation being freed with 'free'

13 years agoClean up memory leak from fixpoint code generator work
legendre [Thu, 14 Feb 2008 22:03:48 +0000 (22:03 +0000)]
Clean up memory leak from fixpoint code generator work

13 years agoClean up BPatch_modules and remove BPatch_process from lists after detach
legendre [Thu, 14 Feb 2008 22:03:43 +0000 (22:03 +0000)]
Clean up BPatch_modules and remove BPatch_process from lists after detach

13 years agoaddressSpace.C: make the "tramp guard base" a constant AST
bernat [Thu, 14 Feb 2008 19:58:58 +0000 (19:58 +0000)]
addressSpace.C: make the "tramp guard base" a constant AST
ast.C: improve a debugging if statement
baseTramp.C: reorder ASTs to make them more efficient (constant last)
liveness.C: fix liveness in functions with unparsed indirect jumps.

13 years agoFix a bug in the firewall code
giri [Wed, 13 Feb 2008 19:55:38 +0000 (19:55 +0000)]
Fix a bug in the firewall code

13 years agoRemove getLinuxMaps call on solaris
giri [Tue, 12 Feb 2008 17:36:57 +0000 (17:36 +0000)]
Remove getLinuxMaps call on solaris

13 years agoAdd code to recognize the version of libelf loaded
giri [Mon, 11 Feb 2008 21:43:58 +0000 (21:43 +0000)]
Add code to recognize the version of libelf loaded

13 years agoremove d_align assignments for Elf_Data
giri [Mon, 11 Feb 2008 19:14:26 +0000 (19:14 +0000)]
remove d_align assignments for Elf_Data

13 years agoMoves Annotable-related classes to dynutils dir. Note that only header
jaw [Thu, 7 Feb 2008 16:07:53 +0000 (16:07 +0000)]
Moves Annotable-related classes to dynutils dir.  Note that only header
files are moved, source files are still in libcommon.

13 years agofix elf_hash issue
giri [Wed, 6 Feb 2008 15:57:15 +0000 (15:57 +0000)]
fix elf_hash issue

13 years agoadd elf hash function
giri [Tue, 5 Feb 2008 17:11:47 +0000 (17:11 +0000)]
add elf hash function

13 years agoFix an O|SS reported bug where we weren't searching for 'execve' under a
legendre [Mon, 4 Feb 2008 22:58:15 +0000 (22:58 +0000)]
Fix an O|SS reported bug where we weren't searching for 'execve' under a
name that would be found under a stripped libc.

13 years agoRemoved debugging print statement
legendre [Mon, 4 Feb 2008 22:58:14 +0000 (22:58 +0000)]
Removed debugging print statement

13 years agoAllow testsuite to be run without scripts directory
legendre [Mon, 4 Feb 2008 22:58:12 +0000 (22:58 +0000)]
Allow testsuite to be run without scripts directory

13 years agoAdd BPatch address snippets.
bernat [Mon, 4 Feb 2008 21:16:33 +0000 (21:16 +0000)]
Add BPatch address snippets.

Disable liveness when an unparsed jumptable exists in the same function.

13 years agoFix build issue with libelf.so.1
giri [Mon, 4 Feb 2008 19:45:41 +0000 (19:45 +0000)]
Fix build issue with libelf.so.1

13 years agoEmit symbol version sections
giri [Mon, 4 Feb 2008 18:23:08 +0000 (18:23 +0000)]
Emit symbol version sections

13 years agoAdd a new API function addSymbol for adding external references when rewriting
giri [Mon, 4 Feb 2008 18:23:07 +0000 (18:23 +0000)]
Add a new API function addSymbol for adding external references when rewriting

13 years agoParse symbol versions and store in symbol annotations whenever available
giri [Mon, 4 Feb 2008 18:23:05 +0000 (18:23 +0000)]
Parse symbol versions and store in symbol annotations whenever available

13 years agoDefine new classes for symbol versions in ELF
giri [Mon, 4 Feb 2008 18:23:03 +0000 (18:23 +0000)]
Define new classes for symbol versions in ELF

13 years agoFix build errors with g++ > 4.1.x
giri [Mon, 4 Feb 2008 18:23:01 +0000 (18:23 +0000)]
Fix build errors with g++ > 4.1.x

13 years agoAdd new section types for symbol version sections
giri [Mon, 4 Feb 2008 18:23:00 +0000 (18:23 +0000)]
Add new section types for symbol version sections

13 years agoAdd symbol version querying capabilities
giri [Mon, 4 Feb 2008 18:22:59 +0000 (18:22 +0000)]
Add symbol version querying capabilities

13 years agoCreate Annotations for symbol versions
giri [Mon, 4 Feb 2008 18:22:57 +0000 (18:22 +0000)]
Create Annotations for symbol versions

13 years agoRemove compiler warning
legendre [Fri, 1 Feb 2008 17:05:37 +0000 (17:05 +0000)]
Remove compiler warning

13 years agoMake calls from assembly file use PLT
legendre [Fri, 1 Feb 2008 17:05:35 +0000 (17:05 +0000)]
Make calls from assembly file use PLT

13 years agoFix line info segfaults. Renamed ParseDebugInfo to ParseSymbolInfo
legendre [Fri, 1 Feb 2008 17:05:33 +0000 (17:05 +0000)]
Fix line info segfaults.  Renamed ParseDebugInfo to ParseSymbolInfo

13 years agoFix type and local variable parsing in Dyninst
legendre [Fri, 1 Feb 2008 17:05:32 +0000 (17:05 +0000)]
Fix type and local variable parsing in Dyninst

13 years agoRemove warnings about files not found in module<->language map
legendre [Thu, 31 Jan 2008 18:02:00 +0000 (18:02 +0000)]
Remove warnings about files not found in module<->language map
and add system to guess based on file extension.

13 years agoFix warnings
legendre [Thu, 31 Jan 2008 18:01:59 +0000 (18:01 +0000)]
Fix warnings

13 years agoAdd functionality to allows us to change the return address of a
legendre [Thu, 31 Jan 2008 18:01:55 +0000 (18:01 +0000)]
Add functionality to allows us to change the return address of a
signal handler

13 years agoFix bug where we could allocate instrumentation at address 0x0,
legendre [Thu, 31 Jan 2008 18:01:54 +0000 (18:01 +0000)]
Fix bug where we could allocate instrumentation at address 0x0,
causing NULLs to dereference okay and make debugging confusing