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

13 years agoAdd mutatee side trap translation
legendre [Thu, 31 Jan 2008 18:01:51 +0000 (18:01 +0000)]
Add mutatee side trap translation

13 years agoFixed bug where we would reparse vsyscall page multiple times
legendre [Thu, 31 Jan 2008 18:01:50 +0000 (18:01 +0000)]
Fixed bug where we would reparse vsyscall page multiple times

13 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

13 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

13 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

13 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

13 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

13 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.

13 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.

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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.

13 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

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

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

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

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