dyninst.git
19 years agoRemoved use of custom-built flex executable on Windows.
pcroth [Mon, 11 Feb 2002 22:43:39 +0000 (22:43 +0000)]
Removed use of custom-built flex executable on Windows.

19 years agoForgot to add the IA-64 version of the equivalent x86 file.
tlmiller [Mon, 11 Feb 2002 22:27:27 +0000 (22:27 +0000)]
Forgot to add the IA-64 version of the equivalent x86 file.

19 years agoForgot to add this: the IA-64 version of the equivalent x86 file.
tlmiller [Mon, 11 Feb 2002 22:24:01 +0000 (22:24 +0000)]
Forgot to add this: the IA-64 version of the equivalent x86 file.

19 years agointroduce IA-64 port - - - - - - - - - - - - - - - - - - - - - - - - - -
tlmiller [Mon, 11 Feb 2002 22:07:53 +0000 (22:07 +0000)]
introduce IA-64 port  - - - - - - - - - - - - - - - - - - - - - - - - - -
added IA-64 to the #if cases.

19 years agointroduce IA-64 port - - - - - - - - - - - - - - - - - - - - - - - - - -
tlmiller [Mon, 11 Feb 2002 22:01:59 +0000 (22:01 +0000)]
introduce IA-64 port  - - - - - - - - - - - - - - - - - - - - - - - - - -
added IA-64 to the #if cases.

19 years agointroduce IA-64 port - - - - - - - - - - - - - - - - - - - - - - - - - -
tlmiller [Mon, 11 Feb 2002 22:01:48 +0000 (22:01 +0000)]
introduce IA-64 port  - - - - - - - - - - - - - - - - - - - - - - - - - -
duplicates of the equivalent -x86 files, for now

19 years agointroduce IA-64 port - - - - - - - - - - - - - - - - - - - - - - - - - -
tlmiller [Mon, 11 Feb 2002 22:01:46 +0000 (22:01 +0000)]
introduce IA-64 port  - - - - - - - - - - - - - - - - - - - - - - - - - -
re-wrote #if test-cases to avoid accidental double-inclusion

19 years agointroduce IA-64 port - - - - - - - - - - - - - - - - - - - - - - - - - -
tlmiller [Mon, 11 Feb 2002 22:01:22 +0000 (22:01 +0000)]
introduce IA-64 port  - - - - - - - - - - - - - - - - - - - - - - - - - -
the IA-64 Makefile(s)

19 years agointroduce IA-64 port - - - - - - - - - - - - - - - - - - - - - - - - - -
tlmiller [Mon, 11 Feb 2002 22:01:21 +0000 (22:01 +0000)]
introduce IA-64 port  - - - - - - - - - - - - - - - - - - - - - - - - - -
added -Dia64_unknown_linux2_4

19 years ago taking into account BPATCH_LIBRARY case when setting the flag
cortes [Thu, 7 Feb 2002 20:31:38 +0000 (20:31 +0000)]
 taking into account BPATCH_LIBRARY case when setting the flag
 CretedViaAttachToCreated in the normal process tror.
 Under this scenario there is no trace
 pipe and, therefore, the iTraceLink parameter is -1 as in the case
 when the paradynd is attached to an already existing application.
 So, we should differenciate this two situation.

19 years agoincluded a waitpid() call after attaching to the process to
cortes [Thu, 7 Feb 2002 20:30:27 +0000 (20:30 +0000)]
included a waitpid() call after attaching to the process to
lose a race condition.

19 years agoinitial split of metricDefinitionNode into seperate classes - - - - - -
schendel [Tue, 5 Feb 2002 18:33:24 +0000 (18:33 +0000)]
initial split of metricDefinitionNode into seperate classes  - - - - - -
change mdl_metric::apply to return a machineMetFocusNode

19 years agoinitial split of metricDefinitionNode into seperate classes - - - - - -
schendel [Tue, 5 Feb 2002 18:33:23 +0000 (18:33 +0000)]
initial split of metricDefinitionNode into seperate classes  - - - - - -
instantiate templates for (process & thread)MetFocusNode

19 years agoinitial split of metricDefinitionNode into seperate classes - - - - - -
schendel [Tue, 5 Feb 2002 18:33:19 +0000 (18:33 +0000)]
initial split of metricDefinitionNode into seperate classes  - - - - - -
have allMIComponentsWithThreads reference processMetFocusNode type

19 years agoinitial split of metricDefinitionNode into seperate classes - - - - - -
schendel [Tue, 5 Feb 2002 18:33:18 +0000 (18:33 +0000)]
initial split of metricDefinitionNode into seperate classes  - - - - - -
propagated new children node types through many function prototypes and
intermediate variables;

19 years agoinitial split of metricDefinitionNode into seperate classes - - - - - -
schendel [Tue, 5 Feb 2002 18:33:16 +0000 (18:33 +0000)]
initial split of metricDefinitionNode into seperate classes  - - - - - -
created four children classes of metricDefinitionNode;
propagated new children node types through many function prototypes and
intermediate variables;
removed use of SHM_SAMPLING macro since always used, removed non
SHM_SAMPLING code; removed use of and code bound by ndef or notdef MACROS;
added some selector member functions for metricDefinitionNode;
moved some elements of parent metricDefinitionNode down to relevant child
node; removed unused member okayToSample removed some warnings;
made member functions of parent metricDefinitionNode class protected

19 years agoinitial split of metricDefinitionNode into seperate classes - - - - - -
schendel [Tue, 5 Feb 2002 18:33:14 +0000 (18:33 +0000)]
initial split of metricDefinitionNode into seperate classes  - - - - - -
created four children classes of metricDefinitionNode; changed
instantiations of metricDefinitionNode to instead instantiate new
child node type; wrapped some global dictionary variables in function
interface, will probably move to better interface in future; removed unused
member okayToSample removed some warnings; propagated new children node
types through many function prototypes and intermediate variables; moved
some elements of parent metricDefinitionNode down to relevant child node;
removed use of SHM_SAMPLING macro since always used, removed non
SHM_SAMPLING code; removed some extraneous debugging code;

19 years agoinitial split of metricDefinitionNode into seperate classes - - - - - -
schendel [Tue, 5 Feb 2002 18:33:12 +0000 (18:33 +0000)]
initial split of metricDefinitionNode into seperate classes  - - - - - -
changed instantiations of metricDefinitionNode to instead instantiate new
child node type; propagated new children node types through many function
prototypes and intermediate variables;
wrapped some global dictionary variables in function interface, will
probably move to better interface in future;
removed use of SHM_SAMPLING macro since always used, removed non
SHM_SAMPLING code; removed use of and code bound by ndef or notdef MACROS;
removed some warnings; adjusted indenting, formatting of some long functions

19 years agoFixes my immediately previous commit of process.C
chadd [Tue, 5 Feb 2002 17:09:43 +0000 (17:09 +0000)]
Fixes my immediately previous commit of process.C

19 years agoThis update extends the save the world functionality to
chadd [Tue, 5 Feb 2002 17:01:35 +0000 (17:01 +0000)]
This update extends the save the world functionality to
mutated shared libraries.  Any shared libraries that are
mutated are saved back to disk with mutations in place.
The mutated binary checks each loaded shared library to
ensure the appropriate mutated shared libraries are
loaded.  Any mutated shared libraries that are dynamically
loaded with dlopen in the mutatee must be reloaded
at the same base address for the mutations to work
correctly, in some cases it appears that dlopen loads
the mutated shared libraries at a different base
address, causing the mutated binary to fail.  An
error callback has been added to warn the mutator
when this is the case.  I'm still looking into this problem.

This update also adds functionality to dumpPatchedImage
to create a subdirectory in which all the mutated binaries
are stored (of the form: mutateename_dyninstsaved###).

This update also adds code to turn on/off the data
collection necessary for save the world, the user
now must call BPatch_thread::startSaveWorld()
immediately after BPatch::createProcess() in order
for the necessary data to be collected.  Test1.C
has been updated to reflect this.

Two error callback messages were added for
dumpPatchedImage, these were added to
paradyn/tcl/errorList.tcl

Note that save the world still only works on
SPARC Solaris.

19 years agoReenabled tramp guards on sparc. This is a temporary fix (MT only)
bernat [Mon, 4 Feb 2002 23:26:36 +0000 (23:26 +0000)]
Reenabled tramp guards on sparc. This is a temporary fix (MT only)

19 years agoThis fixes a small bug in the constructor -- when a temporary file is
chadd [Thu, 31 Jan 2002 22:17:42 +0000 (22:17 +0000)]
This fixes a small bug in the constructor -- when a temporary file is
created the length of the file name was calculated incorrectly,
causing the program to crash randomly.

19 years agoDuring the initialization of the runtime library (DYNINTinit()), the
cortes [Thu, 31 Jan 2002 17:07:52 +0000 (17:07 +0000)]
During the initialization of the runtime library (DYNINTinit()), the
application and the paradynd must succsesfully be connected through
the trace socket stream instead of a pipe.  Therefore, this new
situation must be notified when calling DYNINTinit(). The way of
notifying this is passing the first parameter in a negative way
instead of positive.  This trick is done in installBootStrapInst().
A new flag has been introduced in DYNINSTinit() to clearly separete
this special situation when, later on the code, we need to set up
the connection between the application and the paradynd.

19 years ago the attachtoCreated case is detected and a SIGTRAP is sent to the
cortes [Thu, 31 Jan 2002 17:06:55 +0000 (17:06 +0000)]
 the attachtoCreated case is detected and a SIGTRAP is sent to the
 application to emulate the original SIGTRAP produced when the exec()
 call was reached. This signal is needed in Linux to start all the
 initialization process done in the normal case.

19 years ago A new flag cretadViaAttachToCreated has been introduced to clearly
cortes [Thu, 31 Jan 2002 17:06:17 +0000 (17:06 +0000)]
 A new flag cretadViaAttachToCreated has been introduced to clearly
 identify this new situation.  The fucntion AttachToCreatedProcess()
 has been added. This function is a hypbrid of the "normal" and
 the "attach" cases. The main difference resides in how
 the paradynd and the application communicate one to each other.
 the normal case there exists a trace pipe, whereas in the attach case
 there is a trace socket stream.  Since in this new situation we need a
 trace socket stream instead of a pipe, the initialization
 process of the normal case can not be directly applied and the
 corresponding changes have been introduced in this new fucntion.
 Furthermore, in installBootStrapInst() this particular case is detected
 and DYNINSTinit() is called changing the value of the first parameter
 into negative. This will be used later on in DYNINSTinit() to properly

19 years ago A new flavour (-l3) has been included. The argument parsing detects
cortes [Thu, 31 Jan 2002 17:04:36 +0000 (17:04 +0000)]
 A new flavour (-l3) has been included. The argument parsing detects
 this new flavour and calls AttachToCreatedProcess() instead of
 addProcess() as is done in the normal case. This flavour needs the
 presence of the argument -a which provides the pid of the application
 to be attached to.

19 years agoDisabled the recursive tramp guard for multithread paradyn. It was
bernat [Thu, 31 Jan 2002 02:44:55 +0000 (02:44 +0000)]
Disabled the recursive tramp guard for multithread paradyn. It was
preventing normal instrumentation from executing in multiple threads
simultaneously. It will be replaced by a vector of guards, one
per thread.

19 years agoRemoved warning about 0 cost metrics on alpha.
hollings [Wed, 30 Jan 2002 22:32:40 +0000 (22:32 +0000)]
Removed warning about 0 cost metrics on alpha.

19 years agoFixes to RPC related code to get Alpha port more or less working again
hollings [Wed, 30 Jan 2002 22:19:56 +0000 (22:19 +0000)]
Fixes to RPC related code to get Alpha port more or less working again
(30 of 35 test cases for test1 now run).

19 years agoM dyninstAPI/src/aix.C
bernat [Wed, 30 Jan 2002 20:24:44 +0000 (20:24 +0000)]
M dyninstAPI/src/aix.C
M dyninstAPI/src/inst-power.C
M dyninstAPI/src/process.C
M dyninstAPI/src/symtab.h

This commit fixes the AIX stack walk behavior and merges the threaded and
non-threaded stack walk code. For most walks we can pull all required
data from the stack, and so it doesn't matter if we're interested in
a kernel thread, pthread, or process because we're reading from memory.

In addition, this fixes bad inferior RPC behavior for multiple threads.

The old behavior incorrectly read the link register value from a register
when we were in the uppermost (leaf) function, which is only correct
if the function does not make calls.

The new behavior is as follows:

  When a function is parsed, if the first instruction is a MFLR (move
  from link register) then the function is labelled as a non-leaf function.
  Similarly, if it pushes the stack pointer down, then it is labelled
  as creating a stack frame.

  When the stack walk is done, the next LR and FP are grabbed from the
  stack (default behavior). However, if the function is a leaf or does
  not make its own stack frame, we handle it specially. For a leaf function,
  the LR is taken from the register, not its storage location. If the
  function does not create its own stack frame, the same FP value is
  reused.

  Finally, we detect whether the LR points at our exit tramp instead of
  the caller. If this is the case, we correct it.

This change has added a member variable to the function_base class:
makesNoCalls (is a leaf function). This is only used on AIX for now.

aix.C: fixed getCallerFrame{Normal|Thread|LWP}
inst-power.C: Mark function while parsing
process.C: Fix multi-thread RPC handling
symtab.h: add member variable

19 years agoChanged calls to vector sort method to VECTOR_SORT macro.
hollings [Wed, 30 Jan 2002 17:48:40 +0000 (17:48 +0000)]
Changed calls to vector sort method to VECTOR_SORT macro.

19 years ago add the function insnAddress() to the x86 instPoint class.
gurari [Tue, 29 Jan 2002 19:59:57 +0000 (19:59 +0000)]
 add the function insnAddress() to the x86 instPoint class.

19 years agoI missed committing my changes to symtab.h in last night's commit.
gurari [Tue, 29 Jan 2002 16:40:28 +0000 (16:40 +0000)]
I missed committing my changes to symtab.h in last night's commit.

19 years agoSo with this commit, we now have a seperation between our decision to
gurari [Tue, 29 Jan 2002 00:19:31 +0000 (00:19 +0000)]
So with this commit, we now have a seperation between our decision to
relocate a function, and how we generate the base trampoline for a
function. There are two new pieces of functionality that come with
this: 1) we do not assume that if we relocate a function, the relocated
function will be within a branches range of its base trampoline, and so we
can now handle the case where the branch is not sufficient, 2) we can mark
functions as being conditionally relocatable. i.e. some functions may
be okay for instrumenting with a branch, but not okay if a
save; call; restore; is needed, thus we can now determine if the base
trampoline will be close enough for a branch, and if it will not be, then we
can relocate that function.

Along with adding this functionality, there were some significant changes
to our Sparc instrumentation code. If you were previously familiar with
the code, you may not be as familiar now, but the code is simpler and
clearer now and you can learn it quickly. We now have a single instPoint
constructor for normal functions and functions that will been relocated
when instrumented. We also now have a single method for generating base
trampolines, (previously we had one for functions that were relocated, and
one for normal functions). The instPoint class is essentially the same in
functionality, but I have changed many bizarre member names to names
that make some sense.

    - We now add at the end of our tail-call deoptimizations, because we
      cannot claim a previous instruction for the save; call; restore; if
      there is a branch to the exit point
    M dyninstAPI/src/LocalAlteration-Sparc.C

    - minor function name change
    M dyninstAPI/src/arch-sparc.h

    - change instPoint function calls to respond to changes in class
    M dyninstAPI/src/func-reloc.C

    - simplified and merged base tramp construction methods; rewrote code
      for generating branches to base tramp
    M dyninstAPI/src/inst-sparc-solaris.C

    - rewrote instPoint constructors
    M dyninstAPI/src/inst-sparc.C

    - renamed and changed use of function members
    M dyninstAPI/src/instPoint-sparc.h

    - changed function header
    M dyninstAPI/src/symtab.h

    - added nop at end of base tramp to deal with save; call; restore;
      at the end of a base tramp for a function with no stack frame
    M dyninstAPI/src/tramp-sparc.s

19 years agoshelter Paradyn specific code from dyninst
schendel [Fri, 25 Jan 2002 18:51:55 +0000 (18:51 +0000)]
shelter Paradyn specific code from dyninst

19 years agofix some internal metrics behavior during process completion - - - - - -
schendel [Fri, 25 Jan 2002 00:05:51 +0000 (00:05 +0000)]
fix some internal metrics behavior during process completion  - - - - - -
set the hints for best timer level available when compiling AIX to use
PMAPI (unrelated to commit included with)

19 years agofix some internal metrics behavior during process completion - - - - - -
schendel [Fri, 25 Jan 2002 00:05:50 +0000 (00:05 +0000)]
fix some internal metrics behavior during process completion  - - - - - -
flush the buffer of samples (that go to front-end) before telling the
front-end that the internal metric has exited

19 years agofix some internal metrics behavior during process completion - - - - - -
schendel [Fri, 25 Jan 2002 00:05:48 +0000 (00:05 +0000)]
fix some internal metrics behavior during process completion  - - - - - -
consider exited processes to have zero active counters, cpu-timers, and
wall-timers

19 years agofix some internal metrics behavior during process completion - - - - - -
schendel [Fri, 25 Jan 2002 00:05:46 +0000 (00:05 +0000)]
fix some internal metrics behavior during process completion  - - - - - -
add member to process class to indicate if process has exited

19 years agofix some internal metrics behavior during process completion - - - - - -
schendel [Fri, 25 Jan 2002 00:05:43 +0000 (00:05 +0000)]
fix some internal metrics behavior during process completion  - - - - - -
sample internal metrics when a process exits; adjust when modification to
process status member and count of active process occurs

19 years agoupdate recorded cost for start/stop timer functions Dyninst3_0
schendel [Thu, 17 Jan 2002 16:22:53 +0000 (16:22 +0000)]
update recorded cost for start/stop timer functions

19 years agorestrict CPU from reading timer values out-of-order by placing memory
schendel [Thu, 17 Jan 2002 16:22:52 +0000 (16:22 +0000)]
restrict CPU from reading timer values out-of-order by placing memory
barriers at crucial places;  fixed race condition when sampling wall timers
by moving querying wall time (back) within critical section;
clean up some comments, code

19 years agoremove obsolete code related to alarm sampling; clean up some comments
schendel [Thu, 17 Jan 2002 16:22:49 +0000 (16:22 +0000)]
remove obsolete code related to alarm sampling; clean up some comments

19 years agotest 5 works with -DUSE_STL_VECTOR: introduced function-object for use in
jaw [Thu, 17 Jan 2002 01:09:28 +0000 (01:09 +0000)]
test 5 works with -DUSE_STL_VECTOR:  introduced function-object for use in
STL sort function (as specified in <algorithm>).

19 years agoflag -DUSE_STL_VECTOR works now, for the most part. There are still some
jaw [Wed, 16 Jan 2002 23:24:55 +0000 (23:24 +0000)]
flag -DUSE_STL_VECTOR works now, for the most part.  There are still some
questions w/test5.

19 years agoRemoved file Queue.h -- we weren't using it.
willb [Wed, 16 Jan 2002 21:47:58 +0000 (21:47 +0000)]
Removed file Queue.h -- we weren't using it.

19 years agoChanged observed_cost and predicted_cost metrics units to "slowdown"
schendel [Wed, 9 Jan 2002 04:42:59 +0000 (04:42 +0000)]
Changed observed_cost and predicted_cost metrics units to "slowdown"

19 years agoRe-ordered statements in the wall timer sampling routine to reduce the
bernat [Wed, 9 Jan 2002 01:28:22 +0000 (01:28 +0000)]
Re-ordered statements in the wall timer sampling routine to reduce the
critical section size.

19 years agoFix to adjust for base address on Irix when trying to find the segment
buck [Tue, 8 Jan 2002 22:58:54 +0000 (22:58 +0000)]
Fix to adjust for base address on Irix when trying to find the segment
containing a given symbol in fix_zero_function_sizes.

19 years agoAdded parsing of DLL and executable export symbols under Windows NT/2000 in
pcroth [Tue, 8 Jan 2002 22:16:29 +0000 (22:16 +0000)]
Added parsing of DLL and executable export symbols under Windows NT/2000 in
case we have no other symbol information to use.  Added callee detection for
functions within DLLs that are implicitly loaded (the normal case).  Added
protection against NULL-pointer dereferences to some functions in process
and sharedobject classes, exposed by new use of Windows system DLLs.

19 years agofix syntax error
schendel [Tue, 8 Jan 2002 21:11:37 +0000 (21:11 +0000)]
fix syntax error

19 years agoReverted setting of initial breakpoint in main back to scheme from version 1.40
pcroth [Tue, 8 Jan 2002 19:59:30 +0000 (19:59 +0000)]
Reverted setting of initial breakpoint in main back to scheme from version 1.40
for the most part, but changed so that it reads the code from main into
a buffer, copies the buffer, adds the breakpoint into the buffer, then
writes the changed buffer back to the inferior process' address space.  In
this way, the inferior process' code is not changed except for the breakpoint
instruction.

19 years agoadded the rtinst wall time querying function for the hardware level
schendel [Mon, 7 Jan 2002 23:05:49 +0000 (23:05 +0000)]
added the rtinst wall time querying function for the hardware level

19 years agochange so that for an installed timer level, a conversion function can be
schendel [Mon, 7 Jan 2002 23:05:45 +0000 (23:05 +0000)]
change so that for an installed timer level, a conversion function can be
used instead of a fraction for converting from raw time units to
nanoseconds

19 years agoinstall the hardware level: wall timer, daemon time querying function,
schendel [Mon, 7 Jan 2002 23:05:43 +0000 (23:05 +0000)]
install the hardware level: wall timer, daemon time querying function,
  and time unit conversion function;
change the software level daemon querying wall time function to use
  the same functions as used when querying wall time in rtinst library

19 years agochanged so costs for hardware level wall wall timer are used, which is the
schendel [Mon, 7 Jan 2002 23:03:07 +0000 (23:03 +0000)]
changed so costs for hardware level wall wall timer are used, which is the
most likely level to be used

19 years agoRemove debugging printf.
buck [Fri, 21 Dec 2001 20:43:03 +0000 (20:43 +0000)]
Remove debugging printf.

19 years agoFixed test whether catchup instrumentation should be triggered on x86
pcroth [Thu, 20 Dec 2001 23:10:36 +0000 (23:10 +0000)]
Fixed test whether catchup instrumentation should be triggered on x86
platforms to take into account functions that have been relocated.
We were testing against the original address of the function; we now
test against the relocated address if it has been relocated.

19 years agoFixed problem with inserting the initial breakpoint into small executables
pcroth [Thu, 20 Dec 2001 22:08:46 +0000 (22:08 +0000)]
Fixed problem with inserting the initial breakpoint into small executables
(with little .text sections).  We now read the code at the beginning of
main(), modify the first instruction, and rewrite the code back instead of
writing a buffer with just the breakpoint and a bunch of NOPs to be patched
later.

19 years agoUpdate version number for Dyner to 3.0.
buck [Thu, 20 Dec 2001 21:33:36 +0000 (21:33 +0000)]
Update version number for Dyner to 3.0.

19 years agoUpdate README for 3.0 release.
buck [Thu, 20 Dec 2001 21:21:34 +0000 (21:21 +0000)]
Update README for 3.0 release.

19 years agoUpdate Dyninst version numbers for the Dyninst 3.0 release.
buck [Thu, 20 Dec 2001 21:14:09 +0000 (21:14 +0000)]
Update Dyninst version numbers for the Dyninst 3.0 release.

19 years agoFixed problems with relocating inst points along with relocated
buck [Thu, 20 Dec 2001 04:28:52 +0000 (04:28 +0000)]
Fixed problems with relocating inst points along with relocated
frunctions on the x86 architecture.

19 years agochange Paradyn release to 3.3 since release is imminent
schendel [Wed, 19 Dec 2001 19:12:48 +0000 (19:12 +0000)]
change Paradyn release to 3.3 since release is imminent

19 years agoAvoid a race in detach on the fly sigill handling:
zandy [Tue, 18 Dec 2001 22:54:04 +0000 (22:54 +0000)]
Avoid a race in detach on the fly sigill handling:
Wait for the inferior to stop in its sigill handler before
reattaching.

19 years agoChanged old-style += to new-style push_back() call.
pcroth [Tue, 18 Dec 2001 22:39:45 +0000 (22:39 +0000)]
Changed old-style += to new-style push_back() call.

19 years agoAdded partial multithread support
bernat [Tue, 18 Dec 2001 19:43:19 +0000 (19:43 +0000)]
Added partial multithread support

19 years agoFixed problem on x86 Linux where we incorrectly parsed module's program
pcroth [Tue, 18 Dec 2001 16:23:13 +0000 (16:23 +0000)]
Fixed problem on x86 Linux where we incorrectly parsed module's program
linkage table because we trusted the table entry size from the ELF section
header.  (This value is purposefully set incorrectly in the GNU linker on x86.)

19 years agoFixed problem where we incorrectly think functions can extend beyond
pcroth [Tue, 18 Dec 2001 16:21:17 +0000 (16:21 +0000)]
Fixed problem where we incorrectly think functions can extend beyond
the end of their ELF section.

19 years agoThis commit adds a test case for the save the world functionality
chadd [Mon, 17 Dec 2001 21:20:01 +0000 (21:20 +0000)]
This commit adds a test case for the save the world functionality

it adds a command line option -saveworld to invoke it.

 the  code saves the mutatee in its mutated state to the
 file "originalmutateename"_mutated

        test cases 12, 15, 19 fail on the saved mutatee because they
        expect the mutator to be there to wait for the mutatee and change
        things as the mutatee runs.

        test cases 18, 27, 29 fail on the saved mutatee because they
        require the mutator to writeValue() data into the mutatee.  If you
        want these to pass you need to set saveWorld to true in the writeValue()
        call in the mutator then save the mutatee.

        test case 22 fails on the saved mutatee because it deals with shared
        libraries.

19 years agofix bug #15, problem where aggregated metfoc values would loose
schendel [Sat, 15 Dec 2001 02:44:22 +0000 (02:44 +0000)]
fix bug #15, problem where aggregated metfoc values would loose
contribution from exited components  - - - - - - - - - - - - - - - - - -
Add ability for aggComponents to be marked as finished, yet to remain
attached to their parent sampleAggregator.  Add internalAddSamplePt,
which doesn't restrict samples from aggComponents that have finished.

19 years agofix bug #15, problem where aggregated metfoc values would loose
schendel [Sat, 15 Dec 2001 02:44:20 +0000 (02:44 +0000)]
fix bug #15, problem where aggregated metfoc values would loose
contribution from exited components  - - - - - - - - - - - - - - - - - -
call markAsFinished on the aggComponent which has ended instead of
requestRemove; move sequence that aggregation attempted when removing a
component

19 years agofix bug #15, problem where aggregated metfoc values would loose
schendel [Sat, 15 Dec 2001 02:44:19 +0000 (02:44 +0000)]
fix bug #15, problem where aggregated metfoc values would loose
contribution from exited components  - - - - - - - - - - - - - - - - - -
a brief comment

19 years agofix bug #15, problem where aggregated metfoc values would loose
schendel [Sat, 15 Dec 2001 02:44:18 +0000 (02:44 +0000)]
fix bug #15, problem where aggregated metfoc values would loose
contribution from exited components  - - - - - - - - - - - - - - - - - -
call markAsFinished on the aggComponent which has ended instead of
requestRemove; attempt to aggregate only one interval after
sampleAggregator aggComponent is finished

19 years agoRemoved some debug printfs on test6/SPARC
gaburici [Fri, 14 Dec 2001 18:40:19 +0000 (18:40 +0000)]
Removed some debug printfs on test6/SPARC

19 years agoThis fixes a bug introduced by savetheworld,
chadd [Fri, 14 Dec 2001 18:02:23 +0000 (18:02 +0000)]
This fixes a bug introduced by savetheworld,
it adds the -lelf and -ldl flags to the cc compilation
of API_RT.so

19 years agorenamed the memory access classes
gaburici [Fri, 14 Dec 2001 17:56:59 +0000 (17:56 +0000)]
renamed the memory access classes

19 years agothis fixes a bug in dyner (linux) where it was looking for
chadd [Fri, 14 Dec 2001 17:12:50 +0000 (17:12 +0000)]
this fixes a bug in dyner (linux) where it was looking for
vector<dataUpdate__>

19 years agoChanged to use Tcl/Tk version 8.3.4. Versions earlier than 8.3.3 have
pcroth [Thu, 13 Dec 2001 19:39:41 +0000 (19:39 +0000)]
Changed to use Tcl/Tk version 8.3.4.  Versions earlier than 8.3.3 have
a bug where Tcl can fail to notice a socket is ready for reading.
This addresses Paradyn bug #10.

19 years agoThis is a cosmetic commit. I've removed all the code related to our old
gurari [Wed, 12 Dec 2001 17:28:49 +0000 (17:28 +0000)]
This is a cosmetic commit. I've removed all the code related to our old
mechanism for pausing the performance consultant.

19 years agoremoved C++ comment which wouldn't compile with native Solaris compiler
schendel [Tue, 11 Dec 2001 23:24:35 +0000 (23:24 +0000)]
removed C++ comment which wouldn't compile with native Solaris compiler

19 years agoThis commit fixes the pausing of the performance consultant
gurari [Tue, 11 Dec 2001 22:21:46 +0000 (22:21 +0000)]
This commit fixes the pausing of the performance consultant
search. Previously, when the search was paused, data would stop being sent
to the PC. When the search was resumed, a normalizing factor based on
the fraction of time paused was used to correct the data values. Instead
we now allow data be forwarded to the PC while the search is paused, but
we don't allow the experiments to evaluate the data until the PC search
has been resumed. We also ignore any bogus values (i.e. val < 0).

19 years agothis adds the files writeBackElf.C and addLibrary.C to the build
chadd [Tue, 11 Dec 2001 20:28:26 +0000 (20:28 +0000)]
this adds the files writeBackElf.C and addLibrary.C to the build

19 years agoThis is for the save the world functionality.
chadd [Tue, 11 Dec 2001 20:25:34 +0000 (20:25 +0000)]
This is for the save the world functionality.
this adds the -lelf and -ldl flags to compilation
of the API_RT.so

19 years agoThis is for the save the world functionality
chadd [Tue, 11 Dec 2001 20:24:41 +0000 (20:24 +0000)]
This is for the save the world functionality
This adds a check to see if the API_RT.so is being
loaded for a fresh run or for a saved mutatee.

19 years agothis is for the save the world functionality,
chadd [Tue, 11 Dec 2001 20:23:31 +0000 (20:23 +0000)]
this is for the save the world functionality,
the prototype of writeValue has changed

19 years agothese files are for the save the world functionality
chadd [Tue, 11 Dec 2001 20:22:22 +0000 (20:22 +0000)]
these files are for the save the world functionality

19 years agobugfix: small modification for unixes that prepends a "./" to filenames that
jaw [Tue, 11 Dec 2001 17:36:06 +0000 (17:36 +0000)]
bugfix:  small modification for unixes that prepends a "./" to filenames that
have no slashes in them before calling createProcess().  This fixes the need to
have a "." in ones PATH when running -- itself an artifact of execvp on some
unixes (i.e. alpha & linux), where execvp does a PATH search to look for the
executable.

19 years ago src/BPatch_image.C
chadd [Mon, 10 Dec 2001 21:17:16 +0000 (21:17 +0000)]
 src/BPatch_image.C
M src/Object-xcoff.C
C src/inst-alpha.C
M src/osf.C
M src/osfDL.C
C src/parseCoff.C
M src/procfs.C
C src/symtab.h
C src/unix.C
C src/RTheap.c
M src/osfKludges.C

Fixing OSF build for dyninst

Andrey Khorlin (akhorlin@erols.com)

19 years agoC src/BPatch_image.C
chadd [Mon, 10 Dec 2001 21:15:38 +0000 (21:15 +0000)]
C src/BPatch_image.C
M src/Object-xcoff.C
C src/inst-alpha.C
M src/osf.C
M src/osfDL.C
C src/parseCoff.C
M src/procfs.C
C src/symtab.h
C src/unix.C
C src/RTheap.c
M src/osfKludges.C

Fixing OSF build of dyninst.

Andrey Khorlin (akhorlin@erols.com)

19 years agoAdded effective address snippet for SPARC
gaburici [Sun, 9 Dec 2001 02:41:23 +0000 (02:41 +0000)]
Added effective address snippet for SPARC

19 years agoLast round of NT fixes
bernat [Fri, 7 Dec 2001 21:44:59 +0000 (21:44 +0000)]
Last round of NT fixes

19 years agofix so front-end will compile
schendel [Fri, 7 Dec 2001 19:15:45 +0000 (19:15 +0000)]
fix so front-end will compile

19 years ago1) fix updating of observed costs so costs of the body of if statements
schendel [Thu, 6 Dec 2001 20:57:59 +0000 (20:57 +0000)]
1) fix updating of observed costs so costs of the body of if statements
only get added to global cost when they're actually called, currently
always getting added in baseTramp even if the if-body isn't executed;
2) fix handling of large costs value in daemon, removed hanging behavior
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
have BPatch_snippet::getCost return the cost of the maximum possible
statements executed for an AST, (ie. include the cost of if-bodies)

19 years ago1) fix updating of observed costs so costs of the body of if statements
schendel [Thu, 6 Dec 2001 20:57:58 +0000 (20:57 +0000)]
1) fix updating of observed costs so costs of the body of if statements
only get added to global cost when they're actually called, currently
always getting added in baseTramp even if the if-body isn't executed;
2) fix handling of large costs value in daemon, removed hanging behavior
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
fix so that when instrumentation costs that are greater than total
computation (or in this case the time between samples), a large sample
value is sent

19 years ago1) fix updating of observed costs so costs of the body of if statements
schendel [Thu, 6 Dec 2001 20:57:57 +0000 (20:57 +0000)]
1) fix updating of observed costs so costs of the body of if statements
only get added to global cost when they're actually called, currently
always getting added in baseTramp even if the if-body isn't executed;
2) fix handling of large costs value in daemon, removed hanging behavior
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
have predicted cost stay at using the cost of the maximum possible
statements executed for an AST (ie. include the cost of if-bodies)

19 years ago1) fix updating of observed costs so costs of the body of if statements
schendel [Thu, 6 Dec 2001 20:57:54 +0000 (20:57 +0000)]
1) fix updating of observed costs so costs of the body of if statements
only get added to global cost when they're actually called, currently
always getting added in baseTramp even if the if-body isn't executed;
2) fix handling of large costs value in daemon, removed hanging behavior
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
allow process to be passed down when constructing AST for icode expressions,
used when creating if statements, so if statements will update global cost

19 years ago1) fix updating of observed costs so costs of the body of if statements
schendel [Thu, 6 Dec 2001 20:57:51 +0000 (20:57 +0000)]
1) fix updating of observed costs so costs of the body of if statements
only get added to global cost when they're actually called, currently
always getting added in baseTramp even if the if-body isn't executed;
2) fix handling of large costs value in daemon, removed hanging behavior
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
doMajorShmSample no longer requires walltime to be passed as argument

19 years ago1) fix updating of observed costs so costs of the body of if statements
schendel [Thu, 6 Dec 2001 20:57:49 +0000 (20:57 +0000)]
1) fix updating of observed costs so costs of the body of if statements
only get added to global cost when they're actually called, currently
always getting added in baseTramp even if the if-body isn't executed;
2) fix handling of large costs value in daemon, removed hanging behavior
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
get the current wall time immediately before sampling the observed cost;
doMajorShmSample no longer requires walltime to be passed as argument

19 years ago1) fix updating of observed costs so costs of the body of if statements
schendel [Thu, 6 Dec 2001 20:57:48 +0000 (20:57 +0000)]
1) fix updating of observed costs so costs of the body of if statements
only get added to global cost when they're actually called, currently
always getting added in baseTramp even if the if-body isn't executed;
2) fix handling of large costs value in daemon, removed hanging behavior
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
make modification of a function argument more obvious