wylie [Wed, 22 Apr 1998 16:21:47 +0000 (16:21 +0000)]
Tidied
buck [Wed, 22 Apr 1998 02:37:24 +0000 (02:37 +0000)]
Moved showerror.h from paradynd directory to dyninstAPI directory.
buck [Wed, 22 Apr 1998 02:30:09 +0000 (02:30 +0000)]
Moved showerror.h from paradynd directory to dyninstAPI directory.
buck [Tue, 21 Apr 1998 22:56:53 +0000 (22:56 +0000)]
Fix bugs in the Dyninst API:
Detaching from a process on Solaris no longer causes the
process to die.
Using BPatch_thread::terminateProc on a stopped process
no longer causes the mutator to hang.
mcheyney [Mon, 20 Apr 1998 20:14:48 +0000 (20:14 +0000)]
Removed safety check freom last commit.
Current SPARC instrumentation does not correctly handle
jmp, nop sequence in middle of function with no stack frame,
which may be tail-call optimization.
Last commit included a change to mark such functions as
uninstrumentable, this commit makes the functions instrumentable
again for the coming release.
Note that the current handling of such functions is NOT a safe
long-term solution.
mcheyney [Fri, 10 Apr 1998 18:11:18 +0000 (18:11 +0000)]
Fixed bug carlos found with handling of mangled names.
Previous algorithm :
check if name matches known de-mangled name.
if not, de-mangle it + try again.
This doesn't handle the case where multiple functions w/ different
mangled names have same de-mangled name.
New Algorithm:
check if name matches known de-mangled name.
check if name matches known mangled name.
mcheyney [Fri, 10 Apr 1998 18:08:12 +0000 (18:08 +0000)]
Changes to support instrumentation of optimizd code sequences
found on Solaris 2.6.
Support for:
jmp, nop at end of fn w/ no stack frame - tail-call optimization
detected + (hopefully) unwound.
jmp, nop inside fn w/ no stack frame - possible TC optimization, marked
as uninstrumentable to be safe.
wylie [Thu, 9 Apr 1998 14:16:05 +0000 (14:16 +0000)]
script path correction
wylie [Tue, 7 Apr 1998 22:36:39 +0000 (22:36 +0000)]
Relative reference to scripts (rather than hardcoded full path).
Check for local make configuration files to be included at end.
wylie [Tue, 7 Apr 1998 22:35:36 +0000 (22:35 +0000)]
Relative reference to scripts (rather than hardcoded full path)
buck [Tue, 7 Apr 1998 21:42:01 +0000 (21:42 +0000)]
Removed some dependencies on files in paradynd directory when we
compile with BPATCH_LIBRARY.
buck [Tue, 7 Apr 1998 18:41:13 +0000 (18:41 +0000)]
Removed C++-style comments from .c files.
wylie [Mon, 6 Apr 1998 04:48:23 +0000 (04:48 +0000)]
Removed obsolete PVM reference
wylie [Mon, 6 Apr 1998 04:26:52 +0000 (04:26 +0000)]
Basic Ident info.
wylie [Mon, 6 Apr 1998 04:23:52 +0000 (04:23 +0000)]
Ensure "Application status" follows "Application name" status line in UI.
wylie [Mon, 6 Apr 1998 04:22:37 +0000 (04:22 +0000)]
Changed uname to "wrapped" getHostName
wylie [Mon, 6 Apr 1998 04:16:26 +0000 (04:16 +0000)]
Added Ident.C build identifier class
wylie [Mon, 6 Apr 1998 04:15:26 +0000 (04:15 +0000)]
Build identifier class
wylie [Fri, 3 Apr 1998 22:54:38 +0000 (22:54 +0000)]
Moved from core to core/tclStuff
wylie [Fri, 3 Apr 1998 22:41:01 +0000 (22:41 +0000)]
Moved from core to scripts
naim [Fri, 3 Apr 1998 17:34:28 +0000 (17:34 +0000)]
Fixing isReturnInsn - naim
wylie [Fri, 3 Apr 1998 04:03:21 +0000 (04:03 +0000)]
Re-located buildstamp in separate scripts directory.
Expanded/reorganized configuration guidelines.
wylie [Fri, 3 Apr 1998 03:57:28 +0000 (03:57 +0000)]
Added "Paradyn" make target for dynInstAPI-less build, to match existing
"dynInstAPI" make target for Paradyn-less build, for extra convenience.
Simplified and expanded documentation.
wylie [Fri, 3 Apr 1998 03:52:56 +0000 (03:52 +0000)]
Re-located buildstamp in separate scripts directory.
Expanded/reorganized configuration guidelines.
wylie [Fri, 3 Apr 1998 02:18:31 +0000 (02:18 +0000)]
Removal of obsolete PVM remnants.
wylie [Thu, 2 Apr 1998 18:42:58 +0000 (18:42 +0000)]
Unterminated echo string typo (caught by gmake 3.75)
wylie [Thu, 2 Apr 1998 01:24:37 +0000 (01:24 +0000)]
Changed INCLUDE_PVM_SUPPORT default to true.
ssuen [Wed, 1 Apr 1998 21:23:25 +0000 (21:23 +0000)]
Corrected "mpi" code that assumes PARADYND_PVM is always defined.
wylie [Wed, 1 Apr 1998 02:59:47 +0000 (02:59 +0000)]
Restructuring of build for greater flexibility and easier control.
Parameterization at toplevel of build configuration options,
including conditional build with/without including PVM support.
Incorporation of Paradyn/DynInstAPI build voucher information.
wylie [Wed, 1 Apr 1998 02:54:01 +0000 (02:54 +0000)]
Parameterization of "toplevel" definitions.
Additional definition of USES_X11 for SP2 platform.
wylie [Wed, 1 Apr 1998 02:51:50 +0000 (02:51 +0000)]
Parameterization of "toplevel" definitions.
wylie [Wed, 1 Apr 1998 02:50:01 +0000 (02:50 +0000)]
Parameterization of "toplevel" definitions.
Conditional build with/without PVM support.
wylie [Wed, 1 Apr 1998 02:48:33 +0000 (02:48 +0000)]
Cosmetica
wylie [Wed, 1 Apr 1998 02:43:20 +0000 (02:43 +0000)]
Parameterization of "toplevel" definitions.
Additional definition of USES_X11 for SP2 platform.
wylie [Wed, 1 Apr 1998 02:36:32 +0000 (02:36 +0000)]
Cosmetica
wylie [Wed, 1 Apr 1998 02:33:04 +0000 (02:33 +0000)]
Restructuring for greater homogeneity and support for conditional builds
(and installs) of libdyninstCP and DYNINSTstart/endCode as desired/required.
Parameterization of "toplevel" definitions.
Incorporation of build voucher information.
wylie [Wed, 1 Apr 1998 02:27:11 +0000 (02:27 +0000)]
Cosmetica
wylie [Wed, 1 Apr 1998 02:23:19 +0000 (02:23 +0000)]
Parameterization of "toplevel" definitions.
Incorporation of build voucher information.
wylie [Wed, 1 Apr 1998 02:19:08 +0000 (02:19 +0000)]
Cosmetica
wylie [Wed, 1 Apr 1998 02:18:28 +0000 (02:18 +0000)]
Restructuring to enable reasonable "install".
Parameterization of "toplevel" definitions.
wylie [Wed, 1 Apr 1998 02:16:13 +0000 (02:16 +0000)]
Added some code to keep the compiler happy
wylie [Wed, 1 Apr 1998 01:30:08 +0000 (01:30 +0000)]
Added dyninstAPI tests to build
wylie [Wed, 1 Apr 1998 01:27:56 +0000 (01:27 +0000)]
Incremented Igen-interface version identifiers (to manage previous changes)
wylie [Mon, 30 Mar 1998 01:21:59 +0000 (01:21 +0000)]
Removed C++-style "//" comments to allow C sources to be built with C compilers.
naim [Fri, 27 Mar 1998 16:53:03 +0000 (16:53 +0000)]
Minor change to error message - naim
naim [Fri, 27 Mar 1998 16:43:29 +0000 (16:43 +0000)]
Removing assertion failure from updateValue - naim
buck [Fri, 27 Mar 1998 01:31:08 +0000 (01:31 +0000)]
Fixed some problems with compiling recently added API functions under
Windows NT.
naim [Thu, 26 Mar 1998 16:30:01 +0000 (16:30 +0000)]
Adding error message if we can't instrument main - naim
ssuen [Thu, 26 Mar 1998 09:22:46 +0000 (09:22 +0000)]
Handles restartable writes in sampling code to paradynd.
ssuen [Thu, 26 Mar 1998 09:20:02 +0000 (09:20 +0000)]
Fixed maintaining of invariant: assert(bins.size() * max_bin_load >= size())
czhang [Thu, 26 Mar 1998 07:14:34 +0000 (07:14 +0000)]
In mdl_v_expr::apply(), move the handling of $return from MDL_EXPR_STRING to
MDL_EXPR_VAR.
czhang [Thu, 26 Mar 1998 07:12:20 +0000 (07:12 +0000)]
In mdl_v_expr::apply(), check for (var_=="$return") in the case of
MDL_EXPR_VAR.
czhang [Thu, 26 Mar 1998 07:11:09 +0000 (07:11 +0000)]
Added a rule of tRETURN for metric_expr.
buck [Thu, 26 Mar 1998 01:06:42 +0000 (01:06 +0000)]
Added BPatch_thread::oneTimeCode, BPatch_thread::loadLibrary, and other
minor features to the Dyninst API.
wylie [Thu, 19 Mar 1998 19:02:46 +0000 (19:02 +0000)]
Workaround for VC++'s inability to correctly scope iterator variable
definitions.
naim [Thu, 12 Mar 1998 22:35:55 +0000 (22:35 +0000)]
Changes to reduce the number of unnecessary calls to continueProc, improving
performance both when enabling and disabling metrics - naim
naim [Wed, 11 Mar 1998 18:33:13 +0000 (18:33 +0000)]
Removing option to generate a core dump - naim
ssuen [Wed, 11 Mar 1998 09:33:29 +0000 (09:33 +0000)]
Moved instrumentation stack storage further down the stack to avoid
colliding with application codes' stack usage.
buck [Fri, 6 Mar 1998 21:35:37 +0000 (21:35 +0000)]
Fixed some bugs in parsing NT executables.
Made changes to work with gcc-built programs on NT.
buck [Fri, 6 Mar 1998 21:35:05 +0000 (21:35 +0000)]
Moved vector<FERNode> template instantiation to dyninstAPI/src/templates0.C
buck [Fri, 6 Mar 1998 21:32:11 +0000 (21:32 +0000)]
Added several calls to API (waitForStatusChange, BPatch_variableExpr
member functions getBaseAddr and readValue, writeValue with an extra
length parameter).
Fixed several bugs in x86 instrumentation code related to parsing jump
tables.
Made changes to work with gcc-built programs on NT.
wylie [Wed, 4 Mar 1998 19:56:10 +0000 (19:56 +0000)]
Fixing wayward constness and general tidy-up.
wylie [Wed, 4 Mar 1998 19:53:04 +0000 (19:53 +0000)]
Modified process status handling to provide appropriate tag
(so that process status messages can be routed to a separate display area)
wylie [Wed, 4 Mar 1998 19:50:38 +0000 (19:50 +0000)]
Added scrollable process status window to main window display.
Also X->Tk font sanitization.
wylie [Tue, 3 Mar 1998 23:40:26 +0000 (23:40 +0000)]
Revised interface to tcl for additional information display functions and
modifided display/printDaemonStartInfo().
wylie [Tue, 3 Mar 1998 23:38:26 +0000 (23:38 +0000)]
Renamed printDaemonStartInfo() to displayDaemonStartInfo().
New printDaemonStartInfo(filename) attempts to write same paradynd start-up
information to given filename (though it tries not to overwrite an existing
non-paradynd start-up file if provided mistakenly).
Also added some additional information display functions.
wylie [Tue, 3 Mar 1998 23:35:00 +0000 (23:35 +0000)]
Added "-x <connect_file>" option for remote/manual paradynd start-up
(aka "Globus" support).
wylie [Tue, 3 Mar 1998 23:28:58 +0000 (23:28 +0000)]
General tidy-up.
wylie [Tue, 3 Mar 1998 23:28:18 +0000 (23:28 +0000)]
Added interface specifications for additional information display functions
and revised printDaemonStartInfo() to displayDaemonStartInfo() with new
printDaemonStartInfo(const char *filename) for printing connect output to file.
wylie [Tue, 3 Mar 1998 23:20:08 +0000 (23:20 +0000)]
Informational messages (as typed in errorList.tcl) are now presented in a
non-modal dialog with a simple OK to close, though they (perhaps curiously)
remain handled by the same error-handling/typing/numbering mechanism.
Also X->Tk font sanitization.
wylie [Tue, 3 Mar 1998 23:17:10 +0000 (23:17 +0000)]
Based on the observation that the "information" error type generally
doesn't actually correspond to an error at all, but rather an informational
message, many former "information" messages have been re-typed as "warning"s.
Informational messages should be (and now will be) presented in a non-modal
dialog with a simple OK to close, though they (perhaps curiously) remain
handled by the same error-handling/typing/numbering mechanism.
Some additional messages (mostly informational) have also been added, as
well as a general re-format of the messages.
wylie [Tue, 3 Mar 1998 23:09:44 +0000 (23:09 +0000)]
X->Tk font sanitization
newhall [Tue, 3 Mar 1998 18:35:17 +0000 (18:35 +0000)]
added support for parsing stripped shared object files, and stripped dynamic
executable files
ssuen [Tue, 3 Mar 1998 02:49:36 +0000 (02:49 +0000)]
Fixed AIX problem of associating functions with the wrong modules.
wylie [Mon, 2 Mar 1998 02:48:26 +0000 (02:48 +0000)]
Corrected LEXLIB
wylie [Mon, 2 Mar 1998 02:37:59 +0000 (02:37 +0000)]
Parameterize LIBRARY_DEST, PROGRAM_DEST, etc.
wylie [Mon, 2 Mar 1998 02:27:45 +0000 (02:27 +0000)]
Parameterize LIBRARY_DEST, PROGRAM_DEST, etc.
wylie [Mon, 2 Mar 1998 02:22:11 +0000 (02:22 +0000)]
Added another template instance
wylie [Mon, 2 Mar 1998 01:09:16 +0000 (01:09 +0000)]
Removed premature version info
wylie [Mon, 2 Mar 1998 01:04:29 +0000 (01:04 +0000)]
Parameterize LEX_LIB
wylie [Mon, 2 Mar 1998 00:42:11 +0000 (00:42 +0000)]
Parameterize LIBRARY_DEST, PROGRAM_DEST, etc
wylie [Mon, 2 Mar 1998 00:25:02 +0000 (00:25 +0000)]
Parameterize LIBRARY_PATH, etc.
wylie [Mon, 2 Mar 1998 00:19:35 +0000 (00:19 +0000)]
Parameterize LIBRARY_DEST, etc.
wylie [Sun, 1 Mar 1998 18:51:01 +0000 (18:51 +0000)]
Warning quiescence (VC++)
ssuen [Sun, 1 Mar 1998 06:14:48 +0000 (06:14 +0000)]
Properly handle exclusion of callsites
ssuen [Sun, 1 Mar 1998 03:24:43 +0000 (03:24 +0000)]
Stopped using obsolete -v option to paradynd
ssuen [Sun, 1 Mar 1998 02:56:03 +0000 (02:56 +0000)]
gcc on AIX complained about this being missing.
template class vector<dictionary_hash<string, string>::entry>;
mcheyney [Sun, 1 Mar 1998 01:27:42 +0000 (01:27 +0000)]
*** empty log message ***
mcheyney [Fri, 27 Feb 1998 20:38:02 +0000 (20:38 +0000)]
Small style changes....
mcheyney [Fri, 27 Feb 1998 20:36:25 +0000 (20:36 +0000)]
Added templates for dictionary_hash<string, string>, and
vector<FERNode>.
mcheyney [Fri, 27 Feb 1998 20:35:30 +0000 (20:35 +0000)]
First version.
mcheyney [Fri, 27 Feb 1998 20:34:24 +0000 (20:34 +0000)]
Changed interface to relocateFunction for 2-pass relocator
code. Also added some helper functions dealing with Function
Expansion Records.
mcheyney [Fri, 27 Feb 1998 20:33:59 +0000 (20:33 +0000)]
Changed module_is_excluded and function_is_excluded to
avoid linear lists searches (replaced w/ hash lookup). The
linear search slowed down paradynd a lot when a pcl file had
a large number "exclude" directives.
mcheyney [Fri, 27 Feb 1998 20:33:23 +0000 (20:33 +0000)]
Expanded NEW_INSTR_ARRAY_LEN (size of array allocated in
paradynd to temporarally hold instructions while functions are
relocated) to deal with some large functions in libc which
have tail-call optimization.
mcheyney [Fri, 27 Feb 1998 20:32:56 +0000 (20:32 +0000)]
Changes having to due with my new 2-pass function relocator code.
First, allocation and usage of a FunctionExpansionRecord for
every function relocation.
Second, changes dealing with size of relocated functions :
2 pass relocator code calculates the total size change for a
relocated function - this allows us to allocate exactly that much
space. Previously, code allocated extra space equal to the number
of extra bytes which could be introduced by unwinding tail-call
optimization. This doesn't work for functions with 2 tail-call
optimizations, or with a tail-call optimizating and something else
which os expanded when the function is relocated, such as a call
in the 2nd instruction.
mcheyney [Fri, 27 Feb 1998 20:32:14 +0000 (20:32 +0000)]
Put in wrappers for 2-pass relocation. We probably need 2-pass
relocation in both sunos and solaris, but not bothering to uodate
the sunos code now. However, we do put some wrappers in to
allow the code to compile with inst-sparc mods....
mcheyney [Fri, 27 Feb 1998 20:31:41 +0000 (20:31 +0000)]
2 major changes :
a. made function relocation code 2-pass.
This is necessary to patch jump targets when we move code
around inside a function when we relocate it - for example
when patching tail-call optimization which doesn't occur
at the end of the function, or when we add some extra nops
at the beginning of a function so that the entry point doesnt
overlap with some other features, like a CALL site or part of
a loop.
b. changed the way we unwind tail-call optimization.
The origional scheme made the (incorrect) assumption that all
functions called from tail-acll optimization are leaf functions.
I found a counterexample in libc which was breaking under the old
tail-call unwinding scheme.
naim [Fri, 27 Feb 1998 19:02:08 +0000 (19:02 +0000)]
Chaning version number to 2.1 - naim
wylie [Wed, 25 Feb 1998 19:44:45 +0000 (19:44 +0000)]
Reversion to previously working version (which handled sigTRAP correctly on
Solaris/X86), with the incorporation of Oscar's previous timer change.
naim [Wed, 25 Feb 1998 19:08:42 +0000 (19:08 +0000)]
Implementation of CPU time using gethrvtime in order to improve performance -
naim