buck [Thu, 19 Sep 2002 01:21:37 +0000 (01:21 +0000)]
Add BPatch_thread::oneTimeCodeAsync and other changes to support it.
bernat [Wed, 18 Sep 2002 21:18:23 +0000 (21:18 +0000)]
MT updates
buck [Wed, 18 Sep 2002 19:00:13 +0000 (19:00 +0000)]
Changes for compiling on AIX 5.
bernat [Wed, 18 Sep 2002 14:54:04 +0000 (14:54 +0000)]
Removed generateMTRPC function
bernat [Tue, 17 Sep 2002 21:57:32 +0000 (21:57 +0000)]
Bugfix in function lookup code
bernat [Tue, 17 Sep 2002 20:08:13 +0000 (20:08 +0000)]
Removed DYNINSTthreadSelf, replaced with P_thread_self
bernat [Tue, 17 Sep 2002 20:08:12 +0000 (20:08 +0000)]
Updates
bernat [Tue, 17 Sep 2002 20:08:11 +0000 (20:08 +0000)]
Added check if a thread was in a syscall
bernat [Tue, 17 Sep 2002 20:08:10 +0000 (20:08 +0000)]
Fixed for new RT func names
bernat [Tue, 17 Sep 2002 20:08:09 +0000 (20:08 +0000)]
Fixed tramp code
There's still a bug here -- swapping the skipPreInsn jump with the
save instruction causes a failure in bubba (appears to corrupt local
variables). I couldn't figure out why, leaving as is.
bernat [Tue, 17 Sep 2002 20:08:08 +0000 (20:08 +0000)]
Added MT capabilities to process control (get/restoreRegisters, changePC)
and unified code
bernat [Tue, 17 Sep 2002 20:08:07 +0000 (20:08 +0000)]
Modified is_multithreaded() and added thrInSyscall()
bernat [Tue, 17 Sep 2002 20:08:06 +0000 (20:08 +0000)]
Added platform-independent thread methods, replaced #ifdef MT_THREAD
with calls to is_multithreaded()
Moved MT code to one location.
bernat [Tue, 17 Sep 2002 20:08:05 +0000 (20:08 +0000)]
Moved macros in header file
bernat [Tue, 17 Sep 2002 20:08:04 +0000 (20:08 +0000)]
Removed old MT tramp code, replaced with new
bernat [Tue, 17 Sep 2002 20:08:03 +0000 (20:08 +0000)]
Fixed tramp generation for MT/ST
bernat [Tue, 17 Sep 2002 20:08:02 +0000 (20:08 +0000)]
Cleaned up POS calculation for MT
bernat [Tue, 17 Sep 2002 20:08:01 +0000 (20:08 +0000)]
Defined new tramp key (MT_POS_CALC)
bernat [Tue, 17 Sep 2002 20:07:59 +0000 (20:07 +0000)]
Moved platform-independent methods into process.C
mikem [Mon, 16 Sep 2002 15:48:16 +0000 (15:48 +0000)]
Fix improper PAPI linkage for CPU time
mjbrim [Thu, 12 Sep 2002 21:40:29 +0000 (21:40 +0000)]
final changes to get kerninst compiling on 2.95.3 again - - - - - - - -
#include rpc/xdr.h on everything but NT
bernat [Thu, 12 Sep 2002 19:03:30 +0000 (19:03 +0000)]
Modify the garbage collection logic to be as lazy as possible
chadd [Wed, 11 Sep 2002 15:05:19 +0000 (15:05 +0000)]
This commit closes bug #115, random attach failures on Linux.
Also:
M rtinst/src/RTetc-posix.c
--changed DYNINSTbreakPoint to pDYNINSTbreakPoint
paradyn was actually using DYNINSTbreakPoint from
dyninst RT lib - not a problem as long as the two
functions are identical but changed for general
correctness
M rtinst/src/RTsigill-x86.S
--see above
mjbrim [Tue, 10 Sep 2002 21:40:58 +0000 (21:40 +0000)]
general changes to shared code required by effort to compile/link
kerninst with gcc3.1.1 - - - - - - - - - - - - - - - - - - - - - - - - -
remove unneccessary include of rpc/xdr.h, except for on NT where
we just forware declare struct XDR
mjbrim [Tue, 10 Sep 2002 21:40:55 +0000 (21:40 +0000)]
general changes to shared code required by effort to compile/link
kerninst with gcc3.1.1 - - - - - - - - - - - - - - - - - - - - - - - - -
added interface keyword $nobundle, which allows us to prevent
generation of the xdr bundlers for a given type
mjbrim [Tue, 10 Sep 2002 21:40:54 +0000 (21:40 +0000)]
general changes to shared code required by effort to compile/link
kerninst with gcc3.1.1 - - - - - - - - - - - - - - - - - - - - - - - - -
added sparc_sun_solaris2_7 as one of the platforms on which we
don't need to define our own gettimeofday
mjbrim [Tue, 10 Sep 2002 21:40:51 +0000 (21:40 +0000)]
general changes to shared code required by effort to compile/link
kerninst with gcc3.1.1 - - - - - - - - - - - - - - - - - - - - - - - - -
moved TYPENAME31 ifdef business to Vector.h, since it's only used
for declaring vector iterators
mikem [Tue, 10 Sep 2002 17:15:21 +0000 (17:15 +0000)]
Putting paradynd/src/init.h inside #ifdef where it belongs
schendel [Sat, 7 Sep 2002 16:15:30 +0000 (16:15 +0000)]
fix for Bug #73: Instrumentation failures not handled properly - - - - -
display an error message which is displayed when instrumentation fails to
insert;
schendel [Sat, 7 Sep 2002 16:15:29 +0000 (16:15 +0000)]
fix for Bug #73: Instrumentation failures not handled properly - - - - -
return better status messages for metric-focus requests (success, deferred,
or failure);
add method to get full metric-focus name from processMetFocusNode
schendel [Sat, 7 Sep 2002 16:15:28 +0000 (16:15 +0000)]
fix for Bug #73: Instrumentation failures not handled properly - - - - -
return better status messages for metric-focus requests (success, deferred,
or failure);
display an error message which is displayed when instrumentation fails to
insert;
schendel [Sat, 7 Sep 2002 16:15:27 +0000 (16:15 +0000)]
fix for Bug #73: Instrumentation failures not handled properly - - - - -
don't make metric-focus request front-end callbacks for deferred
metric-focuses until the insertion has succeeded or failed;
return better status messages for metric-focus requests (success, deferred,
or failure);
schendel [Sat, 7 Sep 2002 16:15:25 +0000 (16:15 +0000)]
fix for Bug #73: Instrumentation failures not handled properly - - - - -
store information in machineMetFocusNode so front-end callbacks can be made
for successful metric focus requests which were initiallly deferred;
created class to store information for metric-focus request front-end
callbacks;
return better status messages for metric-focus requests (success, deferred,
or failure);
remove obsolete code;
schendel [Sat, 7 Sep 2002 16:15:24 +0000 (16:15 +0000)]
fix for Bug #73: Instrumentation failures not handled properly - - - - -
fixed bug where deleteInst would fail if instReqNode was loaded but tramps
weren't hooked up yet
schendel [Sat, 7 Sep 2002 16:15:23 +0000 (16:15 +0000)]
fix for Bug #73: Instrumentation failures not handled properly - - - - -
store information in machineMetFocusNode so front-end callbacks can be made
for successful metric focus requests which were initiallly deferred;
return better status messages for metric-focus requests (success, deferred,
or failure);
schendel [Sat, 7 Sep 2002 16:15:22 +0000 (16:15 +0000)]
fix for Bug #73: Instrumentation failures not handled properly - - - - -
store information in machineMetFocusNode so front-end callbacks can be made
for successful metric focus requests which were initiallly deferred;
return better status messages for metric-focus requests (success, deferred,
or failure);
style changes
schendel [Sat, 7 Sep 2002 16:15:20 +0000 (16:15 +0000)]
fix for Bug #73: Instrumentation failures not handled properly - - - - -
return better status messages for metric-focus requests (success, deferred,
or failure)
schendel [Sat, 7 Sep 2002 16:15:19 +0000 (16:15 +0000)]
fix for Bug #73: Instrumentation failures not handled properly - - - - -
store information in machineMetFocusNode so front-end callbacks can be made
for successful metric focus requests which were initiallly deferred;
created class to store information for metric-focus request front-end
callbacks;
return better status messages for metric-focus requests (success, deferred,
or failure);
don't make metric-focus request front-end callbacks for deferred
metric-focuses until the insertion has succeeded or failed;
mikem [Thu, 5 Sep 2002 19:47:58 +0000 (19:47 +0000)]
Added template definitions for PAPI additions
mikem [Thu, 5 Sep 2002 19:47:26 +0000 (19:47 +0000)]
Changed parser to that a C++ object is not on the parse stack
mikem [Thu, 5 Sep 2002 19:46:56 +0000 (19:46 +0000)]
Changed met_base struct to contain a pointer to a C++ class
mikem [Tue, 3 Sep 2002 16:06:44 +0000 (16:06 +0000)]
Fixed bug introduced by Papi commit causing GCC 3.1 to choke on instrCodeNode.C
willb [Tue, 3 Sep 2002 15:47:21 +0000 (15:47 +0000)]
This commit makes termWin a session leader, so that it (as an MT
program) is not adversely affected by a SIGHUP from paradyn.
mikem [Sat, 31 Aug 2002 16:53:52 +0000 (16:53 +0000)]
initial PAPI support for Linux x86 - - - - - - - - - - - - - - - - - - -
inferior PAPI methods
mikem [Sat, 31 Aug 2002 16:53:51 +0000 (16:53 +0000)]
initial PAPI support for Linux x86 - - - - - - - - - - - - - - - - - - -
initialize PAPI
mikem [Sat, 31 Aug 2002 16:53:50 +0000 (16:53 +0000)]
initial PAPI support for Linux x86 - - - - - - - - - - - - - - - - - - -
check for PAPI availability and assign the Timer level
mikem [Sat, 31 Aug 2002 16:53:49 +0000 (16:53 +0000)]
initial PAPI support for Linux x86 - - - - - - - - - - - - - - - - - - -
Put hardware-dependent defines/functions, such as MEMORY_BARRIER, in a common file
mikem [Sat, 31 Aug 2002 16:53:48 +0000 (16:53 +0000)]
initial PAPI support for Linux x86 - - - - - - - - - - - - - - - - - - -
Added USES_PAPI definition that is commented out
mikem [Sat, 31 Aug 2002 16:53:47 +0000 (16:53 +0000)]
initial PAPI support for Linux x86 - - - - - - - - - - - - - - - - - - -
Added tHwCounter and tHwTimer structs
mikem [Sat, 31 Aug 2002 16:53:42 +0000 (16:53 +0000)]
initial PAPI support for Linux x86 - - - - - - - - - - - - - - - - - - -
new HwCounter and HwTimer instrumentation variables
mikem [Sat, 31 Aug 2002 16:53:39 +0000 (16:53 +0000)]
initial PAPI support for Linux x86 - - - - - - - - - - - - - - - - - - -
hwTimerHK and hwCounterHK classes defined
mikem [Sat, 31 Aug 2002 16:53:37 +0000 (16:53 +0000)]
initial PAPI support for Linux x86 - - - - - - - - - - - - - - - - - - -
modified constructers so a HwEvent pointer is passed down to the actual HK
mikem [Sat, 31 Aug 2002 16:53:35 +0000 (16:53 +0000)]
initial PAPI support for Linux x86 - - - - - - - - - - - - - - - - - - -
new object that is tied to each process object. This handles sampling, inferior RPC, and other PAPI related items
mikem [Sat, 31 Aug 2002 16:53:34 +0000 (16:53 +0000)]
initial PAPI support for Linux x86 - - - - - - - - - - - - - - - - - - -
hw counter string is handled. If PAPI is not available and a hardware metric is instantiated, an error message is displayed
mikem [Sat, 31 Aug 2002 16:53:32 +0000 (16:53 +0000)]
initial PAPI support for Linux x86 - - - - - - - - - - - - - - - - - - -
A pointer to HwEvent object is maintained so that the code generation can quickly access the needed information. This is a temporary solution as this pointer really doesn't belong here.
mikem [Sat, 31 Aug 2002 16:53:30 +0000 (16:53 +0000)]
initial PAPI support for Linux x86 - - - - - - - - - - - - - - - - - - -
A code node contains a pointer to a HwEvent object. When a node is prepared for sampling, inferior RPC must be carried out such that the application sets up PAPI so sampling is sucessful
mikem [Sat, 31 Aug 2002 16:53:28 +0000 (16:53 +0000)]
initial PAPI support for Linux x86 - - - - - - - - - - - - - - - - - - -
PAPI initialization routines
mikem [Sat, 31 Aug 2002 16:53:27 +0000 (16:53 +0000)]
initial PAPI support for Linux x86 - - - - - - - - - - - - - - - - - - -
USES_PAPI is commented out
mikem [Sat, 31 Aug 2002 16:53:26 +0000 (16:53 +0000)]
initial PAPI support for Linux x86 - - - - - - - - - - - - - - - - - - -
added papiMgr.C to compilation list
mikem [Sat, 31 Aug 2002 16:53:25 +0000 (16:53 +0000)]
initial PAPI support for Linux x86 - - - - - - - - - - - - - - - - - - -
added error messages
mikem [Sat, 31 Aug 2002 16:53:20 +0000 (16:53 +0000)]
initial PAPI support for Linux x86 - - - - - - - - - - - - - - - - - - -
parser now recognizes new hardware counter and timer metric definitions. These are unconditional additions
mikem [Sat, 31 Aug 2002 16:53:18 +0000 (16:53 +0000)]
initial PAPI support for Linux x86 - - - - - - - - - - - - - - - - - - -
the hw counter string is added to constructers. However all functionality dealing with this string is deferred to the back-end
mikem [Sat, 31 Aug 2002 16:53:17 +0000 (16:53 +0000)]
initial PAPI support for Linux x86 - - - - - - - - - - - - - - - - - - -
hw counter string is now part of a metric
mikem [Sat, 31 Aug 2002 16:53:15 +0000 (16:53 +0000)]
initial PAPI support for Linux x86 - - - - - - - - - - - - - - - - - - -
templates for new instrumentation variables
mikem [Sat, 31 Aug 2002 16:53:12 +0000 (16:53 +0000)]
initial PAPI support for Linux x86 - - - - - - - - - - - - - - - - - - -
If Papi is available, a papiMgr object is constructed
mikem [Sat, 31 Aug 2002 16:53:11 +0000 (16:53 +0000)]
initial PAPI support for Linux x86 - - - - - - - - - - - - - - - - - - -
Install PAPI methods for CPU time management
mikem [Sat, 31 Aug 2002 16:53:08 +0000 (16:53 +0000)]
initial PAPI support for Linux x86 - - - - - - - - - - - - - - - - - - -
Added a method to create a HwTimer AST node
mikem [Sat, 31 Aug 2002 16:53:07 +0000 (16:53 +0000)]
initial PAPI support for Linux x86 - - - - - - - - - - - - - - - - - - -
Added a USES_PAPI definition that is commented out by default
mikem [Sat, 31 Aug 2002 16:53:06 +0000 (16:53 +0000)]
initial PAPI support for Linux x86 - - - - - - - - - - - - - - - - - - -
Added USES_PAPI definition
chadd [Thu, 29 Aug 2002 19:53:32 +0000 (19:53 +0000)]
This commit fixes the Windows half of bug #119.
A bit of state was being clobbered when we started
up 1+ mutatees causing the RT libraries not to be
initialized correctly by Paradyn.
tlmiller [Thu, 29 Aug 2002 18:57:27 +0000 (18:57 +0000)]
Tracking commit. Tests now behave much nicer that base addresses
are accounted for in shared objects.
willb [Thu, 29 Aug 2002 16:42:52 +0000 (16:42 +0000)]
Fixes potential null-pointer dereference in thr_socket; eliminates bug #113.
mirg [Thu, 29 Aug 2002 04:55:19 +0000 (04:55 +0000)]
Cast void* to Address, not unsigned since these are of different
sizes on 64-bit platforms.
rchen [Thu, 29 Aug 2002 00:33:26 +0000 (00:33 +0000)]
This commit should get the -attach test cases working on Alpha again.
Apparently, after all the changes to the inferiorRPC system, the call to
osfDL.C's setMappingHooks() could no longer handle the queued DYNINSTinit()
RPC on top of it's own DYNINSTos_malloc() RPC.
I'll investigate this further, but for now I wanted to get the test cases
working.
M dyninstAPI/src/process.C
M dyninstAPI/src/BPatch_thread.C
chadd [Wed, 28 Aug 2002 21:16:12 +0000 (21:16 +0000)]
This commit fixes the Linux half of but #119,
starting multiple processes on one node.
The problem was the fact that the dyninst runtime
library name was not being correctly read from the
environment variable for the 2nd process started.
M dyninstAPI/src/linux-x86.C
rchen [Wed, 28 Aug 2002 17:50:55 +0000 (17:50 +0000)]
This commit enables parsing of range fields in a stab record. The change
led to the addition of setLow(), setHigh(), and ~BPatch_type() in the
BPatch_type class.
M dyninstAPI/h/BPatch_type.h
M dyninstAPI/src/BPatch_type.C
M dyninstAPI/src/parseStab.C
bernat [Tue, 27 Aug 2002 22:29:16 +0000 (22:29 +0000)]
More prep work
bernat [Tue, 27 Aug 2002 22:03:55 +0000 (22:03 +0000)]
Removed obsolete files and misc fixes
mirg [Tue, 27 Aug 2002 21:19:31 +0000 (21:19 +0000)]
Grab function arguments past 6 off the stack
mirg [Tue, 27 Aug 2002 21:19:20 +0000 (21:19 +0000)]
Allow sharing of Param and ReturnVal nodes
schendel [Tue, 27 Aug 2002 18:48:55 +0000 (18:48 +0000)]
code style improvements
willb [Mon, 26 Aug 2002 18:20:12 +0000 (18:20 +0000)]
Modifies fd_set_populator to ensure that invalid file descriptors are not
bound to message queues. Fixes bug #118.
schendel [Sat, 24 Aug 2002 20:40:10 +0000 (20:40 +0000)]
fix bug #32, PARADYN_RSH not being used for mpi applications - - - - - -
fix bug where if empty string was attempted to be directed to a stream,
an error occurred (saw this in particular on Windows);
initialize some uninitialized static variables
schendel [Sat, 24 Aug 2002 20:40:08 +0000 (20:40 +0000)]
fix bug #32, PARADYN_RSH not being used for mpi applications - - - - - -
put code that checks PARADYN_RSH in separate function, getRshCommand()
schendel [Sat, 24 Aug 2002 20:40:06 +0000 (20:40 +0000)]
fix bug #32, PARADYN_RSH not being used for mpi applications - - - - - -
query PARADYN_RSH variable when necessary when getting the remote_shell
attribute of daemonEntry
schendel [Sat, 24 Aug 2002 20:40:05 +0000 (20:40 +0000)]
fix bug #32, PARADYN_RSH not being used for mpi applications - - - - - -
query PARADYN_RSH variable when necessary when getting the remote_shell
attribute of daemonEntry
update code to reflect that the remote_shell attribute should now always
be set
remove the getRemoteShell method since because of the char* it returns
which now leads to problems to implement & this function isn't needed
tlmiller [Fri, 23 Aug 2002 01:56:03 +0000 (01:56 +0000)]
See commit e-mail. "do-nothing" test completes.
schendel [Wed, 21 Aug 2002 19:42:14 +0000 (19:42 +0000)]
fix problems when daemon would shutdown (daemon assert; unkilled process)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add appropriate entries to some .cvsignore files
schendel [Wed, 21 Aug 2002 19:42:12 +0000 (19:42 +0000)]
fix problems when daemon would shutdown (daemon assert; unkilled process)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
made previous time variables for the two possible levels of timers
schendel [Wed, 21 Aug 2002 19:42:11 +0000 (19:42 +0000)]
fix problems when daemon would shutdown (daemon assert; unkilled process)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
added useful member function to shmMgr class;
schendel [Wed, 21 Aug 2002 19:42:09 +0000 (19:42 +0000)]
fix problems when daemon would shutdown (daemon assert; unkilled process)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
fixed bug in shmMgr copy constructor in setting of num_allocated field;
schendel [Wed, 21 Aug 2002 19:42:08 +0000 (19:42 +0000)]
fix problems when daemon would shutdown (daemon assert; unkilled process)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
have the shared meta data object contain a reference to the associated
shmMgr;
created an object to store the shared meta offset data (this data is
used to communicate the location of the shared meta data to the RTinst
library);
fix potential bug with amount of memory allocated for pendingIRPCs
schendel [Wed, 21 Aug 2002 19:42:07 +0000 (19:42 +0000)]
fix problems when daemon would shutdown (daemon assert; unkilled process)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
free the memory allocated by the shared meta data object in this object's
destructor;
created an object to store the shared meta offset data (this data is
used to communicate the location of the shared meta data to the RTinst
library);
have the shared meta data object contain a reference to the associated
shmMgr;
fix potential bug with amount of memory allocated for pendingIRPCs;
fix error with how copying over allocated shared memory in sharedMetaData
copy constructor;
schendel [Wed, 21 Aug 2002 19:42:06 +0000 (19:42 +0000)]
fix problems when daemon would shutdown (daemon assert; unkilled process)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
cleanup the controllerMainLoop function (re-indexed and remove obsolete
code);
schendel [Wed, 21 Aug 2002 19:42:04 +0000 (19:42 +0000)]
fix problems when daemon would shutdown (daemon assert; unkilled process)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Ignore the SIGHUP signal. This appears to be sent to the daemon on linux
when the front-end exits. This causes the normal exit mechanism in the
daemon to be short-circuited.
schendel [Wed, 21 Aug 2002 19:42:03 +0000 (19:42 +0000)]
fix problems when daemon would shutdown (daemon assert; unkilled process)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
created an object to store the shared meta offset data (this data is
used to communicate the location of the shared meta data to the RTinst
library);
make the shmMetaData process member, a pointer to the object instead of the
actual object;
schendel [Wed, 21 Aug 2002 19:42:02 +0000 (19:42 +0000)]
fix problems when daemon would shutdown (daemon assert; unkilled process)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
created an object to store the shared meta offset data (this data is
used to communicate the location of the shared meta data to the RTinst
library);
have the shared meta data object contain a reference to the associated
shmMgr;
make the shmMetaData process member, a pointer to the object instead of the
actual object;
delete the shared meta data and shared meta offset data during process
destruction;
call the sharedMetaData and sharedMetaOffsetData (fork) copy constructors
when a fork occurs;
comment out code to delete instPoints since instPoints are (currently)
being shared between forked processes, yet currently no reference
counting is being done;
schendel [Wed, 21 Aug 2002 19:42:01 +0000 (19:42 +0000)]
fix problems when daemon would shutdown (daemon assert; unkilled process)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
have initSharedMetaData return an offset address instead of an absolute
address
schendel [Wed, 21 Aug 2002 19:42:00 +0000 (19:42 +0000)]
fix problems when daemon would shutdown (daemon assert; unkilled process)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
make the shmMetaData process member, a pointer to the object instead of the
actual object
bernat [Tue, 20 Aug 2002 22:01:13 +0000 (22:01 +0000)]
ast.C: remove excess output from MT version
aix.C: remove warning lines from a non-erroneous case