nash [Tue, 23 Feb 1999 22:13:40 +0000 (22:13 +0000)]
- Modified to use PTRACE_PEEKUSER and PTRACE_POKEUSER, which are more
correct names than PTRACE_PEEKUSR and PTRACE_POKEUSR
- Directly include asm/ptrace.h, for setups where sys/ptrace.h doesn't
include this
nash [Mon, 22 Feb 1999 21:58:11 +0000 (21:58 +0000)]
- Fixed a missing include on some machines
nash [Tue, 16 Feb 1999 19:55:30 +0000 (19:55 +0000)]
Changed make.config to compile linux dynInstAPI as a dynamic library.
paradyn [Thu, 11 Feb 1999 16:54:26 +0000 (16:54 +0000)]
Substituted DebugBreak for kill(STOP) on WindowsNT
nash [Mon, 8 Feb 1999 14:10:19 +0000 (14:10 +0000)]
- Updates for Linux-x86
- Fixed test2 at actuall use attach method when given -attach
nash [Mon, 8 Feb 1999 14:08:15 +0000 (14:08 +0000)]
- Fixes for error/warnings in egcs 1.1
nash [Mon, 8 Feb 1999 14:06:22 +0000 (14:06 +0000)]
- Linux-x86 support changes
- Changed makenan to pull from /usr/include on Linux
nash [Mon, 8 Feb 1999 14:05:27 +0000 (14:05 +0000)]
- Changed hist.h to use new makenan macro
- Changed makenan to use the correct constant from /usr/include on Linux
nash [Mon, 8 Feb 1999 14:04:05 +0000 (14:04 +0000)]
- Major commit of Linux-x86 platform support
nash [Mon, 8 Feb 1999 14:03:04 +0000 (14:03 +0000)]
- Added init-linux.C
- Type fixes for egcs 1.1 bool -> bool_t, mainly
nash [Mon, 8 Feb 1999 14:01:42 +0000 (14:01 +0000)]
- Type fix for egcs 1.1 bool -> bool_t
nash [Mon, 8 Feb 1999 13:57:24 +0000 (13:57 +0000)]
- Major commit of changes for Linux-x86 support.
nash [Wed, 27 Jan 1999 20:02:57 +0000 (20:02 +0000)]
Adding RTlinux.c
wylie [Sun, 24 Jan 1999 00:13:52 +0000 (00:13 +0000)]
Redefined the RegValue (register content) type to "long" from "int"
(which should be more generally appropriate for the purpose).
wylie [Sun, 24 Jan 1999 00:12:48 +0000 (00:12 +0000)]
Tidy
wylie [Sun, 24 Jan 1999 00:12:18 +0000 (00:12 +0000)]
General tidy-up explicitly initializing things before they are used.
The somewhat curiously named "destroy" method of mdl_var, used in the
initialization of mdl_var's was also renamed "reset" for sanity.
wylie [Thu, 21 Jan 1999 23:22:13 +0000 (23:22 +0000)]
Strict initializations (where they were once missing) and general tidy-up.
wylie [Thu, 21 Jan 1999 20:57:24 +0000 (20:57 +0000)]
Tidy (for pedantic compiler Insure++)
wylie [Thu, 21 Jan 1999 20:56:22 +0000 (20:56 +0000)]
Conditionalized unlink of traceSocketPath, which isn't used on NT
wylie [Thu, 21 Jan 1999 20:52:34 +0000 (20:52 +0000)]
Tidy (mostly for pedantic compilers such as Insure++)
wylie [Thu, 21 Jan 1999 20:51:50 +0000 (20:51 +0000)]
Conditionalized delete of theStruct.savedRegs which are an array on most
platforms but not on WindowsNT.
wylie [Thu, 21 Jan 1999 20:50:44 +0000 (20:50 +0000)]
Tidy
wylie [Thu, 21 Jan 1999 20:22:32 +0000 (20:22 +0000)]
Purification
wylie [Thu, 21 Jan 1999 20:20:47 +0000 (20:20 +0000)]
FMMs caught by Insure++ fixed (NB: missed by Purify6NT!)
paradyn [Thu, 21 Jan 1999 20:18:11 +0000 (20:18 +0000)]
Removed apparently obsolete "-DCRTAPI1=_cdecl -DCRTAPI2=_cdecl" from CXXFLAGS
paradyn [Thu, 21 Jan 1999 20:17:13 +0000 (20:17 +0000)]
Return value fix (void* return -1 not allowed by VC++)
paradyn [Thu, 21 Jan 1999 20:16:13 +0000 (20:16 +0000)]
Patch to allow build on WindowsNT
hollings [Thu, 21 Jan 1999 01:26:37 +0000 (01:26 +0000)]
oneTime code for Alpha, and arbitrary inst. points.
hollings [Wed, 20 Jan 1999 22:21:53 +0000 (22:21 +0000)]
New file for long loading functions that were in a .h file.
hollings [Wed, 20 Jan 1999 22:21:11 +0000 (22:21 +0000)]
Moved long functions to seperate .C file
hollings [Wed, 20 Jan 1999 22:20:31 +0000 (22:20 +0000)]
Added saved conservative to ensure all registers saved for arbitrary code
hollings [Wed, 20 Jan 1999 22:19:26 +0000 (22:19 +0000)]
Added test for oneTime code on a running process.
wylie [Sat, 26 Dec 1998 18:48:38 +0000 (18:48 +0000)]
comment correction
wylie [Sat, 26 Dec 1998 18:21:45 +0000 (18:21 +0000)]
one more u_int->Address
wylie [Fri, 25 Dec 1998 23:33:35 +0000 (23:33 +0000)]
Address typing
wylie [Fri, 25 Dec 1998 23:32:50 +0000 (23:32 +0000)]
Added PURE_BUILD support and retyped Addresses
wylie [Fri, 25 Dec 1998 23:32:23 +0000 (23:32 +0000)]
Retyped RPC return types
wylie [Fri, 25 Dec 1998 23:30:22 +0000 (23:30 +0000)]
Fixed compiler warnings
wylie [Fri, 25 Dec 1998 23:26:39 +0000 (23:26 +0000)]
Fixed typos.
wylie [Fri, 25 Dec 1998 23:24:55 +0000 (23:24 +0000)]
Corrected typing of main()
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.
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.
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.
wylie [Fri, 25 Dec 1998 22:34:51 +0000 (22:34 +0000)]
Address 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.
wylie [Fri, 25 Dec 1998 22:33:48 +0000 (22:33 +0000)]
const'ing
wylie [Fri, 25 Dec 1998 22:32:37 +0000 (22:32 +0000)]
Size/size bugfix and Address typing
wylie [Fri, 25 Dec 1998 22:31:58 +0000 (22:31 +0000)]
Address typing
wylie [Fri, 25 Dec 1998 22:30:16 +0000 (22:30 +0000)]
read/writeTestSpace interface fixup (int amount -> unsigned)
wylie [Fri, 25 Dec 1998 22:29:02 +0000 (22:29 +0000)]
ptrace() fix-up and Address and Register typing.
wylie [Fri, 25 Dec 1998 22:26:58 +0000 (22:26 +0000)]
Added PURE_BUILD support, Address and Register typing 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.
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.
wylie [Fri, 25 Dec 1998 22:13:18 +0000 (22:13 +0000)]
Consistent use of Address type.
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.
wylie [Fri, 25 Dec 1998 22:09:17 +0000 (22:09 +0000)]
Tidy-up
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.
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.
wylie [Fri, 25 Dec 1998 22:04:57 +0000 (22:04 +0000)]
Address typing and suppression of compiler warnings
wylie [Fri, 25 Dec 1998 22:04:03 +0000 (22:04 +0000)]
New Address and Register templates
wylie [Fri, 25 Dec 1998 22:03:17 +0000 (22:03 +0000)]
Address usage
wylie [Fri, 25 Dec 1998 22:02:06 +0000 (22:02 +0000)]
Tidy
wylie [Fri, 25 Dec 1998 21:58:03 +0000 (21:58 +0000)]
Suppression of various compiler warnings.
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.
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)
wylie [Fri, 25 Dec 1998 21:49:43 +0000 (21:49 +0000)]
Consistent usage of Address type.
Consistent symbol_compare function/interface.
General tidy.
wylie [Fri, 25 Dec 1998 21:48:33 +0000 (21:48 +0000)]
Consistent usage of Address type
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.
wylie [Fri, 25 Dec 1998 21:35:34 +0000 (21:35 +0000)]
Added Id
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
wylie [Fri, 25 Dec 1998 21:33:06 +0000 (21:33 +0000)]
Address-typing
Consistent symbol_compare function
wylie [Fri, 25 Dec 1998 21:31:37 +0000 (21:31 +0000)]
Added Types.C
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)
wylie [Fri, 25 Dec 1998 21:25:52 +0000 (21:25 +0000)]
Added USING_PURIFY/PURE_BUILD support
wylie [Mon, 14 Dec 1998 22:54:18 +0000 (22:54 +0000)]
Obsolete SunOS-support components
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.
mcheyney [Mon, 28 Sep 1998 18:02:16 +0000 (18:02 +0000)]
Added LocalAlteration.C & LocalAlteration-Sparc.C to srcs
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.
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.
buck [Fri, 18 Sep 1998 18:23:22 +0000 (18:23 +0000)]
Don't delete the process object in the destructor for BPatch_thread.
wylie [Wed, 16 Sep 1998 16:23:37 +0000 (16:23 +0000)]
Incremented RELEASE_NUM (for release!)
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.
buck [Tue, 15 Sep 1998 18:42:49 +0000 (18:42 +0000)]
Change version number in makefiles.
buck [Tue, 15 Sep 1998 18:32:06 +0000 (18:32 +0000)]
Miscellaneous fixes to correct compilation errors on Visual C++.
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.
paradyn [Tue, 15 Sep 1998 13:51:49 +0000 (13:51 +0000)]
Un-const'd modified structure
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.
buck [Tue, 15 Sep 1998 04:13:34 +0000 (04:13 +0000)]
Turn -O3 back on for DEC Alpha plaform.
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.
buck [Wed, 9 Sep 1998 23:23:13 +0000 (23:23 +0000)]
Fix detecting the death on a mutatee process on Alpha.
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).
buck [Wed, 9 Sep 1998 03:38:24 +0000 (03:38 +0000)]
Updated to work with the new parameter to generateCode.
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.
wylie [Wed, 2 Sep 1998 22:03:57 +0000 (22:03 +0000)]
Additional build targets for convenience: ParadynD ParadynFE & ParadynVC
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)
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)
wylie [Wed, 2 Sep 1998 21:42:15 +0000 (21:42 +0000)]
Additional templates for EGCS-AIX
wylie [Wed, 2 Sep 1998 21:35:55 +0000 (21:35 +0000)]
An additional template for EGCS-AIX
wylie [Wed, 2 Sep 1998 21:34:56 +0000 (21:34 +0000)]
A few additional template instances (apparently needed by egcs on AIX)
wylie [Wed, 2 Sep 1998 21:13:22 +0000 (21:13 +0000)]
Tidy and compiler pacification.