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
wylie [Tue, 24 Feb 1998 23:37:39 +0000 (23:37 +0000)]
Stripped out obsolete "-v"/pvm_first code, substituting a warning message
should "-v" still be used as a command line argument for paradynd.
(Corresponding code in paradyn should not generate "-v" args for paradynd.)
wylie [Tue, 24 Feb 1998 23:18:00 +0000 (23:18 +0000)]
Fixed unhelpful coredump when parsing (invalid) command-line arguments,
before printing usage information and exiting.
Also fixed a couple of (fairly innocuous) compiler warnings, while here.
wylie [Tue, 24 Feb 1998 21:47:29 +0000 (21:47 +0000)]
Removed (unnecessary) link dependency on libhist from LIBS.
ssuen [Fri, 20 Feb 1998 19:49:57 +0000 (19:49 +0000)]
Reverse of my previous commit. Library calls are once again considered
callsites (or not callsites) depending on the metric.
ssuen [Wed, 18 Feb 1998 02:37:17 +0000 (02:37 +0000)]
Library calls are not call sites.
naim [Thu, 12 Feb 1998 18:48:26 +0000 (18:48 +0000)]
Fixing problem with pending system call during inferiorRPC when the application
is paused - naim
ssuen [Sat, 7 Feb 1998 20:40:41 +0000 (20:40 +0000)]
Commented out debugging message
ssuen [Sat, 7 Feb 1998 20:39:18 +0000 (20:39 +0000)]
Added ability to handle more than one daemon per machine
czhang [Thu, 5 Feb 1998 22:19:00 +0000 (22:19 +0000)]
Removed the rule for "metTester", which was used for building a stand-alone
test for the MDL scanner and parser. Two of the source files for the test
"metTester.C" and "metTemplates.C" were removed because they were obsolete.
czhang [Thu, 5 Feb 1998 22:12:59 +0000 (22:12 +0000)]
Files "metTemplates.C", "metTester.C" were for stand-alone testing of the
scanner and parser. Removed because they are obsolete.
buck [Wed, 4 Feb 1998 19:42:34 +0000 (19:42 +0000)]
Added support for the BPatch::attachProcess function to the AIX version
of the Dyninst API library.
wylie [Mon, 2 Feb 1998 23:12:07 +0000 (23:12 +0000)]
Conditional use of NT-specific WSAETIMEDOUT instead of ETIMEDOUT timeout error.
wylie [Mon, 2 Feb 1998 22:11:29 +0000 (22:11 +0000)]
Fix extended lines/comments
czhang [Fri, 30 Jan 1998 21:14:08 +0000 (21:14 +0000)]
In mdl_v_expr::apply, MDL_EXPR_VAR processing, "switch (get_drn.type())"
missed two cases: MDL_T_PROC_TIMER and MDL_T_WALL_TIMER. Added them.
ssuen [Fri, 30 Jan 1998 19:31:22 +0000 (19:31 +0000)]
Temporary fix of setting MaxActiveExperiments higher to allow Performance
Consultant to search "deeper" in program runs with lots of resources.
ssuen [Fri, 30 Jan 1998 19:30:08 +0000 (19:30 +0000)]
Detach debugging message now tells which machine process is on.
ssuen [Fri, 30 Jan 1998 18:29:56 +0000 (18:29 +0000)]
Fixed front-end memory leak. Paradynds retry if connection with front-end
fails.
ssuen [Fri, 30 Jan 1998 17:09:37 +0000 (17:09 +0000)]
Fix for perfStream delete assert failure
ssuen [Fri, 30 Jan 1998 16:11:30 +0000 (16:11 +0000)]
Commented out debug messages
czhang [Wed, 28 Jan 1998 16:31:50 +0000 (16:31 +0000)]
Check for obsolete words "setCounter", "subCounter", "addCounter",
"functionCall". If there's any, bail out and warn user. Fixed a bug about
the inaccuracy of the line number reporting.
czhang [Wed, 21 Jan 1998 15:00:56 +0000 (15:00 +0000)]
In line 1378 (this will certainly change in the future), a wrong variable
was used. Changed "if (!left_val.get(v1))" to "if (!left_val.get(i1))".
wylie [Mon, 19 Jan 1998 22:05:44 +0000 (22:05 +0000)]
"Const"-ing as necessary for VC++
czhang [Mon, 19 Jan 1998 21:05:47 +0000 (21:05 +0000)]
Massive changes for MDL expression.
Changes to tokens are in metScanner.l. This includes adding of new
operators. Some obsolete keywords are removed.
Changes to the mdl expression are in metParser.y. Rules associated with
the instrumentation expression (obsolete) are removed and the mdl expression
is expanded.
Other files, mdl.C, mdl.h, metParse.h contain changes due to the grammer,
this includes support for new mdl expression types, etc.
czhang [Mon, 19 Jan 1998 20:59:37 +0000 (20:59 +0000)]
Changes due to MDL expression. Removed instr_rand and instr_req.
czhang [Mon, 19 Jan 1998 20:58:12 +0000 (20:58 +0000)]
Changes due to MDL expression. Things touched are mdl_expr, mdl_v_expr,
mdl_icode. instr_req and instr_rand are removed.
czhang [Mon, 19 Jan 1998 20:54:21 +0000 (20:54 +0000)]
Massive MDL changes on mdl_expr, and cleanups. Eliminated instr_req's and
instr_rand's. More powerful MDL expressions. For the new MDL expression
syntaxes, see core/paradyn/src/met/metParser.y.
mcheyney [Thu, 15 Jan 1998 02:41:30 +0000 (02:41 +0000)]
patch to fix exclude whole module
wylie [Fri, 9 Jan 1998 16:30:41 +0000 (16:30 +0000)]
Change to NT-specific names
wylie [Fri, 9 Jan 1998 16:23:41 +0000 (16:23 +0000)]
DictionaryLite -> Dictionary
wylie [Fri, 9 Jan 1998 16:17:53 +0000 (16:17 +0000)]
Standard ignores
wylie [Thu, 8 Jan 1998 20:00:59 +0000 (20:00 +0000)]
Tidied header
wylie [Tue, 23 Dec 1997 19:18:33 +0000 (19:18 +0000)]
Incorporation of dynInstAPI within NT build
wylie [Tue, 23 Dec 1997 19:00:28 +0000 (19:00 +0000)]
Iterator update (for NT/VC++)
wylie [Tue, 23 Dec 1997 17:13:29 +0000 (17:13 +0000)]
Un-"const"-ing of occasionally modified disItem in isFreeOK(), and source tidy
wylie [Mon, 22 Dec 1997 23:27:51 +0000 (23:27 +0000)]
Incorporation of dynInstAPI in make "world" for nightly build
(at least while make "nightly" target is not being used)
newhall [Thu, 18 Dec 1997 22:25:46 +0000 (22:25 +0000)]
fix to my previous commit
newhall [Thu, 18 Dec 1997 17:08:02 +0000 (17:08 +0000)]
add trace perfStreamHandle to disableDataCollection calls
newhall [Thu, 18 Dec 1997 17:07:38 +0000 (17:07 +0000)]
add trace perfStreamHandle to disableData calls
newhall [Thu, 18 Dec 1997 17:06:40 +0000 (17:06 +0000)]
added a perfStreamHandle argument to disableData so that trace data users that
are added to a list using pt_handle on enable are removed from list also
using pt_handle on disable (the wrong handle was used previously)
newhall [Thu, 18 Dec 1997 17:06:38 +0000 (17:06 +0000)]
Bug fix to assert failure that sometimes occured with the trace data stuff
when data was disabled. The problem was that trace users were being added
to list using one id, and removed using another, and code that incremented
a count in addTraceUser was commmented out, but corresponding code in
removeTraceUser that decremented a count was not.
wylie [Wed, 17 Dec 1997 23:20:24 +0000 (23:20 +0000)]
Source tidy-up of continued (multi-line) comments, etc.
buck [Wed, 17 Dec 1997 20:18:44 +0000 (20:18 +0000)]
Brought Dyninst API up to date with latest changes in Paradyn.
wylie [Tue, 16 Dec 1997 21:25:38 +0000 (21:25 +0000)]
Standard file
wylie [Tue, 16 Dec 1997 20:41:56 +0000 (20:41 +0000)]
Standard file (for NT-specific *.lib)
wylie [Thu, 11 Dec 1997 21:11:45 +0000 (21:11 +0000)]
Consistent "const"-ing of function parameters (to keep VC++ content),
and a SymbolIter iterator update (for NT).
wylie [Thu, 11 Dec 1997 21:01:25 +0000 (21:01 +0000)]
Consistent "const"-ing of function parameters (to keep VC++ content)
tung [Thu, 4 Dec 1997 23:48:23 +0000 (23:48 +0000)]
Fix the symbol reading error on Linux/X86
tung [Thu, 4 Dec 1997 23:46:49 +0000 (23:46 +0000)]
Fix the symbols reading problem on Linux/X86 platform
mcheyney [Thu, 4 Dec 1997 18:49:36 +0000 (18:49 +0000)]
Added functions to differentiate between 'true' call instructions
(CALL - Opcode 01), and 'jmpl' call instructions (show up under
gdb disass as call, but really jmpl instructions, opcode != 01)....
mcheyney [Thu, 4 Dec 1997 18:41:47 +0000 (18:41 +0000)]
Fixed problem Oscar found with instrumenting tail-call optimized
functions where the tail call optimization had form:
CALL (not JMPL, shows up in gdb disass as Call ABS_ADDR)
restore
Instead of form
JMPL (really JMPL instr, shows up in gdb disass as CALL %REGISTER)
restore.
tamches [Thu, 4 Dec 1997 18:28:59 +0000 (18:28 +0000)]
bug fix to navigate menu
mcheyney [Wed, 3 Dec 1997 20:38:27 +0000 (20:38 +0000)]
Fixed problem bwylie found with mdl.C for fully optimized code.
tamches [Tue, 2 Dec 1997 19:53:01 +0000 (19:53 +0000)]
removed log within file, which wasn't being updated anyway.
tamches [Tue, 2 Dec 1997 19:35:31 +0000 (19:35 +0000)]
load_object() changed: roundup4() used for sntext and sndata file offsets;
functions are associated with modules better now (repeated modules don't
freak the code out and cause a spurious error message telling the user
to recompile with -bnoobjreorder). Note that -bnoobjreorder is still needed,
though now just for a single reason: to ensure that STARTCODE and ENDCODE
modules don't get moved around by the linker.
tamches [Tue, 2 Dec 1997 19:33:14 +0000 (19:33 +0000)]
disItemPoints no longer constant
tamches [Tue, 2 Dec 1997 19:32:42 +0000 (19:32 +0000)]
added copy-constructors
tamches [Tue, 2 Dec 1997 19:32:00 +0000 (19:32 +0000)]
first real version (being used by make.module.tmpl now)
tamches [Tue, 2 Dec 1997 19:31:34 +0000 (19:31 +0000)]
beefed up comments
tamches [Tue, 2 Dec 1997 19:31:05 +0000 (19:31 +0000)]
removed spinMutex code (wasn't being used)
tamches [Tue, 2 Dec 1997 19:30:30 +0000 (19:30 +0000)]
removed this obsolete file
tamches [Tue, 2 Dec 1997 19:30:09 +0000 (19:30 +0000)]
added setAddr() method (aix needs it)
tamches [Tue, 2 Dec 1997 19:29:51 +0000 (19:29 +0000)]
added some comments. Made first and last members const.
tamches [Tue, 2 Dec 1997 19:29:24 +0000 (19:29 +0000)]
added templates.C
tung [Mon, 1 Dec 1997 02:32:33 +0000 (02:32 +0000)]
*** empty log message ***
tung [Mon, 1 Dec 1997 02:29:09 +0000 (02:29 +0000)]
For Linux/X86 port
tung [Mon, 1 Dec 1997 02:28:38 +0000 (02:28 +0000)]
For Linux/X86 Platform
tung [Mon, 1 Dec 1997 02:27:52 +0000 (02:27 +0000)]
For Linux/X86 platform
tung [Mon, 1 Dec 1997 02:23:40 +0000 (02:23 +0000)]
eliminate warnings
tung [Mon, 1 Dec 1997 02:14:56 +0000 (02:14 +0000)]
modified for Linux/X86 Platform
wylie [Fri, 28 Nov 1997 21:25:27 +0000 (21:25 +0000)]
New template stub required for NT pending Mike's commits
wylie [Fri, 28 Nov 1997 21:17:38 +0000 (21:17 +0000)]
Installation copies continue through failures
mcheyney [Wed, 26 Nov 1997 21:50:18 +0000 (21:50 +0000)]
Extra debugging information in main.C
Changed exclude syntax in mdl:
Old:
exclude "module"; or
exclude "module/function";
New:
exclude "/Code/module"; or
exclude "/Code/module/function";
Also added some better error messages for identifying cases where
underlying process falls over.
mcheyney [Wed, 26 Nov 1997 21:47:47 +0000 (21:47 +0000)]
Changed syntax of exclude statement:
Old:
exclude "function" or
exclude "module/function"
New:
exclude "/Code/module" or
exclude "/Code/module/function"
Also some small mdl changes to make syntax a bit more transparent in
a few places & get rid of a few warnings.
mcheyney [Wed, 26 Nov 1997 21:44:36 +0000 (21:44 +0000)]
*** empty log message ***
mcheyney [Wed, 26 Nov 1997 21:42:26 +0000 (21:42 +0000)]
On ELF, can now compile w/o dyninstSTART and dyninstEND.
Made exclude work for functions + modules in a.out (in addition
to shared libs).
Unified symbol parsing code between dynamic and statically linked
executables and code sections.
Merged many repeated code blocks into single functions.
tung [Wed, 26 Nov 1997 20:12:18 +0000 (20:12 +0000)]
*** empty log message ***
tung [Wed, 26 Nov 1997 19:56:59 +0000 (19:56 +0000)]
Modified for Linux/X86 platform - to fix the symbol reading error
tung [Wed, 26 Nov 1997 19:55:55 +0000 (19:55 +0000)]
For Linux/X86 platform
zhichen [Wed, 19 Nov 1997 20:27:45 +0000 (20:27 +0000)]
Added TR_SYNC to eliminate a race condition between checkProcStatus and
a select in paradynd main loop.
zhichen [Wed, 19 Nov 1997 20:26:02 +0000 (20:26 +0000)]
Added TR_SYNC to eliminate a race condition.
zhichen [Wed, 19 Nov 1997 20:25:25 +0000 (20:25 +0000)]
Added TR_SYNC, which is sent by DYNINSTbreakPoint right after call
kill. This eliminates a race condition between select and
checkProcStatus
wylie [Wed, 5 Nov 1997 02:33:42 +0000 (02:33 +0000)]
Removed (apparently unnecessary) separate compilation of templates-nt.C
wylie [Wed, 5 Nov 1997 02:32:43 +0000 (02:32 +0000)]
Cosmetic correction/update
wylie [Wed, 5 Nov 1997 02:30:57 +0000 (02:30 +0000)]
Added #include "paradyn/src/met/mdl.h" needed when compiling dyninstAPI.lib
wylie [Wed, 5 Nov 1997 01:19:11 +0000 (01:19 +0000)]
Partial undoing of Ari's modernization to declare and use uniquely named
iterators for "for" blocks within the same function, due to an
unfortunate bug in the VC++ v5.0 compiler (though since it's nicely
documented in the manual, presumably it's considered a feature)