dyninst.git
22 years agoAdded saved conservative to ensure all registers saved for arbitrary code
hollings [Wed, 20 Jan 1999 22:20:31 +0000 (22:20 +0000)]
Added saved conservative to ensure all registers saved for arbitrary code

22 years agoAdded test for oneTime code on a running process.
hollings [Wed, 20 Jan 1999 22:19:26 +0000 (22:19 +0000)]
Added test for oneTime code on a running process.

22 years agocomment correction
wylie [Sat, 26 Dec 1998 18:48:38 +0000 (18:48 +0000)]
comment correction

22 years agoone more u_int->Address
wylie [Sat, 26 Dec 1998 18:21:45 +0000 (18:21 +0000)]
one more u_int->Address

22 years agoAddress typing
wylie [Fri, 25 Dec 1998 23:33:35 +0000 (23:33 +0000)]
Address typing

22 years agoAdded PURE_BUILD support and retyped Addresses
wylie [Fri, 25 Dec 1998 23:32:50 +0000 (23:32 +0000)]
Added PURE_BUILD support and retyped Addresses

22 years agoRetyped RPC return types
wylie [Fri, 25 Dec 1998 23:32:23 +0000 (23:32 +0000)]
Retyped RPC return types

22 years agoFixed compiler warnings
wylie [Fri, 25 Dec 1998 23:30:22 +0000 (23:30 +0000)]
Fixed compiler warnings

22 years agoFixed typos.
wylie [Fri, 25 Dec 1998 23:26:39 +0000 (23:26 +0000)]
Fixed typos.

22 years agoCorrected typing of main()
wylie [Fri, 25 Dec 1998 23:24:55 +0000 (23:24 +0000)]
Corrected typing of main()

22 years agoCorrected readOnlyRegister().
wylie [Fri, 25 Dec 1998 23:23:20 +0000 (23:23 +0000)]
Corrected readOnlyRegister().

General tidy-up of Address and Register/RegValue typing (replacing the
previously ambigiously used "reg" which didn't distinguish between
register number/identifier and contents), particularly in the
replacement of the polymorphic "emit" function with a family of typed
equivalents.

22 years agoFixed the FMM (free memory mismatch) corruption in installBaseTramp()
wylie [Fri, 25 Dec 1998 23:21:58 +0000 (23:21 +0000)]
Fixed the FMM (free memory mismatch) corruption in installBaseTramp()
reported by Purify6 on WindowsNT (but also affecting x86-Solaris).

General tidy-up of Address and Register/RegValue typing (replacing the
previously ambigiously used "reg" which didn't distinguish between
register number/identifier and contents), particularly in the
replacement of the polymorphic "emit" function with a family of typed
equivalents.

22 years agoGeneral tidy-up of Address and Register/RegValue typing (replacing the
wylie [Fri, 25 Dec 1998 23:18:43 +0000 (23:18 +0000)]
General tidy-up of Address and Register/RegValue typing (replacing the
previously ambigiously used "reg" which didn't distinguish between
register number/identifier and contents), particularly in the
replacement of the polymorphic "emit" function with a family of typed
equivalents.

22 years agoAddress typing and general tidy-up.
wylie [Fri, 25 Dec 1998 22:34:51 +0000 (22:34 +0000)]
Address typing and general tidy-up.

22 years agoAddress and Register typing and general tidy-up.
wylie [Fri, 25 Dec 1998 22:34:22 +0000 (22:34 +0000)]
Address and Register typing and general tidy-up.

22 years agoconst'ing
wylie [Fri, 25 Dec 1998 22:33:48 +0000 (22:33 +0000)]
const'ing

22 years agoSize/size bugfix and Address typing
wylie [Fri, 25 Dec 1998 22:32:37 +0000 (22:32 +0000)]
Size/size bugfix and Address typing

22 years agoAddress typing
wylie [Fri, 25 Dec 1998 22:31:58 +0000 (22:31 +0000)]
Address typing

22 years agoread/writeTestSpace interface fixup (int amount -> unsigned)
wylie [Fri, 25 Dec 1998 22:30:16 +0000 (22:30 +0000)]
read/writeTestSpace interface fixup (int amount -> unsigned)

22 years agoptrace() fix-up and Address and Register typing.
wylie [Fri, 25 Dec 1998 22:29:02 +0000 (22:29 +0000)]
ptrace() fix-up and Address and Register typing.

22 years agoAdded PURE_BUILD support, Address and Register typing and general tidy-up.
wylie [Fri, 25 Dec 1998 22:26:58 +0000 (22:26 +0000)]
Added PURE_BUILD support, Address and Register typing and general tidy-up.

22 years agoAdded PURE_BUILD support, Address fixup and general tidy-up.
wylie [Fri, 25 Dec 1998 22:20:40 +0000 (22:20 +0000)]
Added PURE_BUILD support, Address fixup and general tidy-up.

22 years agoMade const R_BRK_SAVE_BYTES member of dynamic_linking class static, as
wylie [Fri, 25 Dec 1998 22:19:08 +0000 (22:19 +0000)]
Made const R_BRK_SAVE_BYTES member of dynamic_linking class static, as
required by ANSI C++ standard (and egcs-1.1) and to avoid an insidious bug
in the debug symbol generation of egcs-1.0.3 on x86-Solaris.
Address fixup.

22 years agoConsistent use of Address type.
wylie [Fri, 25 Dec 1998 22:13:18 +0000 (22:13 +0000)]
Consistent use of Address type.

22 years agoConsistent use of Address and Register types.
wylie [Fri, 25 Dec 1998 22:12:17 +0000 (22:12 +0000)]
Consistent use of Address and Register types.
Changed RPC return types to void* to support Address return.
General tidy-up.

22 years agoTidy-up
wylie [Fri, 25 Dec 1998 22:09:17 +0000 (22:09 +0000)]
Tidy-up

22 years agoConsistent use of Address and Register types.
wylie [Fri, 25 Dec 1998 22:08:18 +0000 (22:08 +0000)]
Consistent use of Address and Register types.
Tidy-up to suppress compiler warnings.

22 years agoAddress typing and suppression of compiler warnings.
wylie [Fri, 25 Dec 1998 22:06:13 +0000 (22:06 +0000)]
Address typing and suppression of compiler warnings.
Use of utillib's symbol_compare function instead of a local copy.

22 years agoAddress typing and suppression of compiler warnings
wylie [Fri, 25 Dec 1998 22:04:57 +0000 (22:04 +0000)]
Address typing and suppression of compiler warnings

22 years agoNew Address and Register templates
wylie [Fri, 25 Dec 1998 22:04:03 +0000 (22:04 +0000)]
New Address and Register templates

22 years agoAddress usage
wylie [Fri, 25 Dec 1998 22:03:17 +0000 (22:03 +0000)]
Address usage

22 years agoTidy
wylie [Fri, 25 Dec 1998 22:02:06 +0000 (22:02 +0000)]
Tidy

22 years agoSuppression of various compiler warnings.
wylie [Fri, 25 Dec 1998 21:58:03 +0000 (21:58 +0000)]
Suppression of various compiler warnings.

22 years agoChange of RPC return type to void* (to be able to return an Address).
wylie [Fri, 25 Dec 1998 21:57:27 +0000 (21:57 +0000)]
Change of RPC return type to void* (to be able to return an Address).
Address typing and suppression of various compiler warnings.

22 years agoChange of RPC return type from unsigned to void* (to be able to return
wylie [Fri, 25 Dec 1998 21:55:25 +0000 (21:55 +0000)]
Change of RPC return type from unsigned to void* (to be able to return
a 64-bit Address)

22 years agoConsistent usage of Address type.
wylie [Fri, 25 Dec 1998 21:49:43 +0000 (21:49 +0000)]
Consistent usage of Address type.
Consistent symbol_compare function/interface.
General tidy.

22 years agoConsistent usage of Address type
wylie [Fri, 25 Dec 1998 21:48:33 +0000 (21:48 +0000)]
Consistent usage of Address type

22 years agotypedef'd Address to "unsigned long int" for all platforms, with the
wylie [Fri, 25 Dec 1998 21:47:23 +0000 (21:47 +0000)]
typedef'd Address to "unsigned long int" for all platforms, with the
inherent assumption that the size of a "long" integer matches that of
an address (void*) on every supported Paradyn/DynInst system and
changes according to appropriate compiler directives on systems which
support both 32- and 64-bit builds.  (Note that while this is
apparently OK for Unix, it is not true for Windows/VC++ where longs are
always 32-bits, even when addresses are 64-bits.)

Moved/renamed the apparently ambiguous "reg" typedef (int) from various
places and defined here new Register and RegValue typedefs for register
identifiers (unsigned char, Null_Register=255) and register contents (int).
Note that RegValue is not generally capable of holding an Address.

22 years agoAdded Id
wylie [Fri, 25 Dec 1998 21:35:34 +0000 (21:35 +0000)]
Added Id

22 years agoAdded ptrace interface definition (apparently missing from <sys/ptrace.h>
wylie [Fri, 25 Dec 1998 21:35:01 +0000 (21:35 +0000)]
Added ptrace interface definition (apparently missing from <sys/ptrace.h>
on CompaqUnix platforms) and corrected usage

22 years agoAddress-typing
wylie [Fri, 25 Dec 1998 21:33:06 +0000 (21:33 +0000)]
Address-typing
Consistent symbol_compare function

22 years agoAdded Types.C
wylie [Fri, 25 Dec 1998 21:31:37 +0000 (21:31 +0000)]
Added Types.C

22 years agoAddress checking and printing functions (which should really be part of
wylie [Fri, 25 Dec 1998 21:30:57 +0000 (21:30 +0000)]
Address checking and printing functions (which should really be part of
an Address class, but at least for now Address is only a typedef)

22 years agoAdded USING_PURIFY/PURE_BUILD support
wylie [Fri, 25 Dec 1998 21:25:52 +0000 (21:25 +0000)]
Added USING_PURIFY/PURE_BUILD support

22 years agoObsolete SunOS-support components
wylie [Mon, 14 Dec 1998 22:54:18 +0000 (22:54 +0000)]
Obsolete SunOS-support components

22 years ago Commit to fix problems with paradynd on UltraSparc machines
mcheyney [Mon, 26 Oct 1998 23:02:59 +0000 (23:02 +0000)]
Commit to fix problems with paradynd on UltraSparc machines
running Solaris2.6

This is intended as a *partial* fix - it addresses *some*
(but *not* all) of the known problems with the sparc-solaris as
applied to solaris 2.6 on UltraSparc.  The idea is to allow
people to try to migrate to using the Solaris2.6 UltraSparc
machines - without trying to handle all the new UltraSparc
instructions and type migration issues.

I changed the dyninstAPI and paradynd to the point where
they come up on solaris2.6, and work for simple things in our test
applications : namely - instrumenting user code in general, and the
library functions used in the I/O and synch metrics, and those
automatically instrumented by paradyn in DYNINSTinit.  There are still
some libc functions (e.g. _malloc_unlocked) which are not instrumented
correctly.  In general, the changes *should* bring paradynd up
to the point where if you exclude libc, you should be ok.

Anyway, here is the list of known problems, both addressed
and not addressed:

ADDRESSED;
  - multiple instpoints found at the same address
    causes (newly-introduced) assertion failure
    example instance: ? (one of the standard libraries)
   fixed
 - restore with add side-effect
   fixed (see e.g. _exithandle)
 - calls designed to set O7 being marked as call sites (in non-relocated functions)
   fixed
 - unsupported return type warning (ret to call address + 16)
   fixed
 - I/O metrics broken
   fixed
 - instrumenting memory allocation breaks app
   bug # 1 - instrumenting _smalloc
    fixed (problem instrumenting _smalloc)
   bug # 2 - instrumenting _malloc_unlocked causes infinite recursion
    ???? - problem occurs in _malloc_unlocked (see below) - why????
    NOT fixed (don't try to instrument _malloc_unlocked)

NOT ADDRESSED:
 - "impdep" instructions:
 - nonoptimal "restore;retl" return
 - Type migration: 64-bit Address and Register types
 - 64-bit addressing instructions?
 - General paradyn problem that functions are identified by function_name, not
    by module_name/function_name can cause paradyn to instrument libc fork
    when libthread fork is the fork which is actually used - this can cause
    paradyn to miss calls to fork for some multi-process applications.

22 years agoAdded LocalAlteration.C & LocalAlteration-Sparc.C to srcs
mcheyney [Mon, 28 Sep 1998 18:02:16 +0000 (18:02 +0000)]
Added LocalAlteration.C & LocalAlteration-Sparc.C to srcs

22 years agoNew files describing the LocalAlteration abstarction for rewriting
mcheyney [Sat, 19 Sep 1998 21:03:36 +0000 (21:03 +0000)]
New files describing the LocalAlteration abstarction for rewriting
relocated functions.  The -Sparc versions provide a class hierarchy
for the types of patterns (old -> new code translation) currently
supported on SPARC:
 - a tail-call optimization hierarchy descibing call-restore & jmp-nop
 tail calls.
 - a NOP expansion used for opening up space inside functions - e.g.
 when inst points overlap.
 - a SetO7 used to preserve the semantics of setting the 07 register
 using a call to PC + 8.
These subclasses are used to rewrite SPARC function in the code called
under (the new version of) findNewInstPoints in inst-sparc-solaris.C.

22 years agoChanges to use the LocalAlteration abstraction to rewrite functions
mcheyney [Sat, 19 Sep 1998 20:56:03 +0000 (20:56 +0000)]
Changes to use the LocalAlteration abstraction to rewrite functions
when they are relocated, instead of doing it ad-hoc.
This committed version is the newest-version, which keeps
only minimal additionmal state for non-relocated functions,
and builds a new LocalAlteration set for a function on demand
when the function is relocated - using the original set of
inst points of the function.

22 years agoDon't delete the process object in the destructor for BPatch_thread.
buck [Fri, 18 Sep 1998 18:23:22 +0000 (18:23 +0000)]
Don't delete the process object in the destructor for BPatch_thread.

22 years agoIncremented RELEASE_NUM (for release!)
wylie [Wed, 16 Sep 1998 16:23:37 +0000 (16:23 +0000)]
Incremented RELEASE_NUM (for release!)

22 years agoChange to not include files from rtinst/h when compiling for Dyninst API.
buck [Tue, 15 Sep 1998 20:50:56 +0000 (20:50 +0000)]
Change to not include files from rtinst/h when compiling for Dyninst API.

22 years agoChange version number in makefiles.
buck [Tue, 15 Sep 1998 18:42:49 +0000 (18:42 +0000)]
Change version number in makefiles.

22 years agoMiscellaneous fixes to correct compilation errors on Visual C++.
buck [Tue, 15 Sep 1998 18:32:06 +0000 (18:32 +0000)]
Miscellaneous fixes to correct compilation errors on Visual C++.

22 years agoPut a return after the assert at the end of createInstPointAtAddr, to
buck [Tue, 15 Sep 1998 18:01:04 +0000 (18:01 +0000)]
Put a return after the assert at the end of createInstPointAtAddr, to
satisfy Visual C++ on Windows NT.

22 years agoUn-const'd modified structure
paradyn [Tue, 15 Sep 1998 13:51:49 +0000 (13:51 +0000)]
Un-const'd modified structure

22 years agoCommit of changes for Dyninst API version 1.2. Includes support for
buck [Tue, 15 Sep 1998 04:15:34 +0000 (04:15 +0000)]
Commit of changes for Dyninst API version 1.2.  Includes support for
instrumentation at arbitrary points on AIX, and the addition of various
minor API calls.

22 years agoTurn -O3 back on for DEC Alpha plaform.
buck [Tue, 15 Sep 1998 04:13:34 +0000 (04:13 +0000)]
Turn -O3 back on for DEC Alpha plaform.

22 years agoAdd alpha_dec_osf4_0 to the list of platforms that do not support attach.
buck [Wed, 9 Sep 1998 23:23:37 +0000 (23:23 +0000)]
Add alpha_dec_osf4_0 to the list of platforms that do not support attach.

22 years agoFix detecting the death on a mutatee process on Alpha.
buck [Wed, 9 Sep 1998 23:23:13 +0000 (23:23 +0000)]
Fix detecting the death on a mutatee process on Alpha.

22 years agoWe now skip test #19 on the Alpha (oneShotCode, which is not
buck [Wed, 9 Sep 1998 03:39:39 +0000 (03:39 +0000)]
We now skip test #19 on the Alpha (oneShotCode, which is not
yet implemented on that platform).

22 years agoUpdated to work with the new parameter to generateCode.
buck [Wed, 9 Sep 1998 03:38:24 +0000 (03:38 +0000)]
Updated to work with the new parameter to generateCode.

22 years agoChanged some types from "unsigned" to "Address," to fix things up for
buck [Tue, 8 Sep 1998 21:35:27 +0000 (21:35 +0000)]
Changed some types from "unsigned" to "Address," to fix things up for
64-bit architectures.

22 years agoAdditional build targets for convenience: ParadynD ParadynFE & ParadynVC
wylie [Wed, 2 Sep 1998 22:03:57 +0000 (22:03 +0000)]
Additional build targets for convenience: ParadynD ParadynFE & ParadynVC

22 years agoAdditional template instances and dummy visualizationUser functions
wylie [Wed, 2 Sep 1998 21:56:40 +0000 (21:56 +0000)]
Additional template instances and dummy visualizationUser functions
(required when building with EGCS on AIX)

22 years agoTemplate instances moved to API (where they're also needed under EGCS-AIX)
wylie [Wed, 2 Sep 1998 21:43:55 +0000 (21:43 +0000)]
Template instances moved to API (where they're also needed under EGCS-AIX)

22 years agoAdditional templates for EGCS-AIX
wylie [Wed, 2 Sep 1998 21:42:15 +0000 (21:42 +0000)]
Additional templates for EGCS-AIX

22 years agoAn additional template for EGCS-AIX
wylie [Wed, 2 Sep 1998 21:35:55 +0000 (21:35 +0000)]
An additional template for EGCS-AIX

22 years agoA few additional template instances (apparently needed by egcs on AIX)
wylie [Wed, 2 Sep 1998 21:34:56 +0000 (21:34 +0000)]
A few additional template instances (apparently needed by egcs on AIX)

22 years agoTidy and compiler pacification.
wylie [Wed, 2 Sep 1998 21:13:22 +0000 (21:13 +0000)]
Tidy and compiler pacification.

22 years agoTidy
wylie [Wed, 2 Sep 1998 21:12:34 +0000 (21:12 +0000)]
Tidy

22 years agochanged setUseCount to make it right
zhichen [Sat, 29 Aug 1998 03:06:57 +0000 (03:06 +0000)]
changed setUseCount to make it right

22 years agoChanged to traverse the DAG to compute useCount
zhichen [Fri, 28 Aug 1998 21:56:30 +0000 (21:56 +0000)]
Changed to traverse the DAG to compute useCount

22 years agoAdded removeAst at line 3471 so that parameters to DYNINSTinit does not
zhichen [Fri, 28 Aug 1998 02:40:34 +0000 (02:40 +0000)]
Added removeAst at line 3471 so that parameters to DYNINSTinit does not
use extra registers.

22 years agoadded an assertion to logLine to check array boundary
zhichen [Fri, 28 Aug 1998 01:38:57 +0000 (01:38 +0000)]
added an assertion to logLine to check array boundary

22 years agoMake sure the useCount of the DAG generated are correct
zhichen [Fri, 28 Aug 1998 01:38:09 +0000 (01:38 +0000)]
Make sure the useCount of the DAG generated are correct

22 years agoRemoved assert for Linux in Object-elf32.C
nash [Thu, 27 Aug 1998 21:22:52 +0000 (21:22 +0000)]
Removed assert for Linux in Object-elf32.C
Fixed Linux implementation in makenan.C

22 years agoFixed type warnings in header files and removed Linux kludge from
nash [Thu, 27 Aug 1998 21:21:59 +0000 (21:21 +0000)]
Fixed type warnings in header files and removed Linux kludge from
makenan.h, as it is not needed.

22 years agoFix VisualC++ compilation errors
wylie [Thu, 27 Aug 1998 19:09:30 +0000 (19:09 +0000)]
Fix VisualC++ compilation errors

22 years agoRemoved SP2 template which should be no longer necessary
wylie [Wed, 26 Aug 1998 22:44:34 +0000 (22:44 +0000)]
Removed SP2 template which should be no longer necessary

22 years agoAstNode::generateCode now has an extra parameter that indicate if we
zhichen [Wed, 26 Aug 1998 21:12:50 +0000 (21:12 +0000)]
AstNode::generateCode now has an extra parameter that indicate if we
are generating code at the DAG root, if so, useCount should be properly
initialized

22 years ago*** empty log message ***
zhichen [Wed, 26 Aug 1998 21:07:17 +0000 (21:07 +0000)]
*** empty log message ***

22 years agoAdded an extra parameter to AstNode::generateCode
zhichen [Wed, 26 Aug 1998 21:00:36 +0000 (21:00 +0000)]
Added an extra parameter to AstNode::generateCode

22 years agodded a parameter to AstNode::generateCode
zhichen [Wed, 26 Aug 1998 20:59:27 +0000 (20:59 +0000)]
dded a parameter to AstNode::generateCode

22 years agoAdded a parameter to AstNode::generateCode
zhichen [Wed, 26 Aug 1998 20:59:04 +0000 (20:59 +0000)]
Added a parameter to AstNode::generateCode

22 years agoAdded one parameter to AstNode::generateCode
zhichen [Wed, 26 Aug 1998 20:58:03 +0000 (20:58 +0000)]
Added one parameter to AstNode::generateCode

22 years agoFixed dag code generation, added one parameter to AstNode::CodeGeneration.
zhichen [Wed, 26 Aug 1998 20:57:20 +0000 (20:57 +0000)]
Fixed dag code generation, added one parameter to AstNode::CodeGeneration.

22 years agofixed dag code generation.
zhichen [Wed, 26 Aug 1998 20:56:41 +0000 (20:56 +0000)]
fixed dag code generation.

22 years agoMore template instantiations for recent Alpha/Address changes
wylie [Wed, 26 Aug 1998 14:35:08 +0000 (14:35 +0000)]
More template instantiations for recent Alpha/Address changes

22 years agoIsolated modified NO_OPT_FLAG definition to alpha-dec-osf4.0 platform
paradyn [Tue, 25 Aug 1998 22:04:48 +0000 (22:04 +0000)]
Isolated modified NO_OPT_FLAG definition to alpha-dec-osf4.0 platform

22 years agoInitial commit of DEC Alpha port.
buck [Tue, 25 Aug 1998 19:34:26 +0000 (19:34 +0000)]
Initial commit of DEC Alpha port.

22 years agoRevised src and tcl locations
wylie [Mon, 24 Aug 1998 19:27:58 +0000 (19:27 +0000)]
Revised src and tcl locations

22 years agoMoved to src subdirectory
wylie [Mon, 24 Aug 1998 19:27:22 +0000 (19:27 +0000)]
Moved to src subdirectory

22 years agoMoved to tcl subdirectory
wylie [Mon, 24 Aug 1998 19:26:22 +0000 (19:26 +0000)]
Moved to tcl subdirectory

22 years agoForgotten removal of obsolete #if for i386-unknown-nt4.0 version of matherr.
wylie [Mon, 17 Aug 1998 17:05:10 +0000 (17:05 +0000)]
Forgotten removal of obsolete #if for i386-unknown-nt4.0 version of matherr.
Kludge to handle pre- and post- GCC-2.8 compiler's math.h exception structs.

22 years agotype adjustment (NULL -> 0)
wylie [Mon, 17 Aug 1998 03:14:08 +0000 (03:14 +0000)]
type adjustment (NULL -> 0)

22 years agoMoved matherr prototype into conditional Linux code
wylie [Mon, 17 Aug 1998 02:05:34 +0000 (02:05 +0000)]
Moved matherr prototype into conditional Linux code

22 years agoremoved spurious trailiing `\'s which generate lots of compiler warnings
wylie [Sun, 16 Aug 1998 23:50:07 +0000 (23:50 +0000)]
removed spurious trailiing `\'s which generate lots of compiler warnings

22 years agoremoved spurious trailing `\'s which were generating lots of warnings
wylie [Sun, 16 Aug 1998 23:44:14 +0000 (23:44 +0000)]
removed spurious trailing `\'s which were generating lots of warnings

22 years agoJust a comment
wylie [Sun, 16 Aug 1998 23:41:17 +0000 (23:41 +0000)]
Just a comment