chadd [Thu, 11 Mar 2004 18:24:17 +0000 (18:24 +0000)]
These changes only apply to Solaris, Linux x86 and AIX.
I have added the commands where, up and down, enabled
printing local variables and printing of char variables.
lharris [Thu, 11 Mar 2004 14:23:39 +0000 (14:23 +0000)]
added explicit instantiations - - - - - - - - - - - - - - - - - - - - -
added explicit instantiations
lharris [Thu, 11 Mar 2004 05:29:20 +0000 (05:29 +0000)]
this commit changes parsing code to remove dependence on symbol information
basic block and control flow data is collected at parse time; also enables
stripped binary parsing on x86 - - - - - - - - - - - - - - - - - - - - -
add code to facilitate the new parsing scheme
lharris [Thu, 11 Mar 2004 05:29:19 +0000 (05:29 +0000)]
this commit changes parsing code to remove dependence on symbol information
basic block and control flow data is collected at parse time; also enables
stripped binary parsing on x86 - - - - - - - - - - - - - - - - - - - - -
change functions to use the new parsing strategy; add parsing error
detection and recovery code
lharris [Thu, 11 Mar 2004 05:29:18 +0000 (05:29 +0000)]
this commit changes parsing code to remove dependence on symbol information
basic block and control flow data is collected at parse time; also enables
stripped binary parsing on x86 - - - - - - - - - - - - - - - - - - - - -
rewrite parsing functions; add helper functions; remove useless code
lharris [Thu, 11 Mar 2004 05:29:17 +0000 (05:29 +0000)]
this commit changes parsing code to remove dependence on symbol information
basic block and control flow data is collected at parse time; also enables
stripped binary parsing on x86 - - - - - - - - - - - - - - - - - - - - -
fix a bug to make getJumpTarget return correct values for prefixed
instructions
lharris [Thu, 11 Mar 2004 05:29:15 +0000 (05:29 +0000)]
this commit changes parsing code to remove dependence on symbol information
basic block and control flow data is collected at parse time; also enables
stripped binary parsing on x86 - - - - - - - - - - - - - - - - - - - - -
add code to find symbols for main and _DYNAMIC or create symbols if the
binary is partially or fully stripped
lharris [Thu, 11 Mar 2004 05:29:13 +0000 (05:29 +0000)]
this commit changes parsing code to remove dependence on symbol information
basic block and control flow data is collected at parse time; also enables
stripped binary parsing on x86 - - - - - - - - - - - - - - - - - - - - -
remove useless code; modify InstrucIter to remove dependence on function
sizes
lharris [Thu, 11 Mar 2004 05:29:12 +0000 (05:29 +0000)]
this commit changes parsing code to remove dependence on symbol information
basic block and control flow data is collected at parse time; also enables
stripped binary parsing on x86 - - - - - - - - - - - - - - - - - - - - -
modify createBasicBlocks since blocks are now created at parse time
no longer call findAndDeleteUnreachable on x86
lharris [Thu, 11 Mar 2004 05:29:11 +0000 (05:29 +0000)]
this commit changes parsing code to remove dependence on symbol information
basic block and control flow data is collected at parse time; also enables
stripped binary parsing on x86 - - - - - - - - - - - - - - - - - - - - -
add data member and methods to set and get the absolute end address of a
block
eli [Wed, 10 Mar 2004 20:25:30 +0000 (20:25 +0000)]
loops visible in Paradyn - - - - - - - - - - - - - - - - - - - - - - -
minor commenting changes
eli [Wed, 10 Mar 2004 20:25:29 +0000 (20:25 +0000)]
loops visible in Paradyn - - - - - - - - - - - - - - - - - - - - - - -
added loop resource type
eli [Wed, 10 Mar 2004 20:25:28 +0000 (20:25 +0000)]
loops visible in Paradyn - - - - - - - - - - - - - - - - - - - - - - -
removed printLoops flag
eli [Wed, 10 Mar 2004 20:25:27 +0000 (20:25 +0000)]
loops visible in Paradyn - - - - - - - - - - - - - - - - - - - - - - -
loops added to the call graph
eli [Wed, 10 Mar 2004 20:25:26 +0000 (20:25 +0000)]
loops visible in Paradyn - - - - - - - - - - - - - - - - - - - - - - -
removed loop printing
eli [Wed, 10 Mar 2004 20:25:25 +0000 (20:25 +0000)]
loops visible in Paradyn - - - - - - - - - - - - - - - - - - - - - - -
changed AddResource to accept loop resources
eli [Wed, 10 Mar 2004 20:25:23 +0000 (20:25 +0000)]
loops visible in Paradyn - - - - - - - - - - - - - - - - - - - - - - -
added loop resource reporting
eli [Wed, 10 Mar 2004 20:25:19 +0000 (20:25 +0000)]
loops visible in Paradyn - - - - - - - - - - - - - - - - - - - - - - -
change defineModules call to take process ptr
bernat [Tue, 9 Mar 2004 21:36:58 +0000 (21:36 +0000)]
Fix a problem with restoring instrumentation in shared libraries (fork())
bernat [Tue, 9 Mar 2004 21:36:43 +0000 (21:36 +0000)]
Fix a problem with uncaught termination of parent/child process.
bernat [Tue, 9 Mar 2004 21:36:21 +0000 (21:36 +0000)]
Move setUnreportedStop(false) from end of postFork handler to end of
the oneTimeCode handler.
chadd [Tue, 9 Mar 2004 18:03:57 +0000 (18:03 +0000)]
This commit stops addLibrary.C from changing the value of DT_DEBUG
in the dynamic table. this allows gdb to correctly access shared lib
information in the mutated binary.
chadd [Tue, 9 Mar 2004 17:44:55 +0000 (17:44 +0000)]
This commit fixes test9 subtest 6 on linux x86
with gcc 3.3.3.
A number of memory errors, found with valgrind, were
cleaned up.
Also, a fix was made to allow gdb to access the
dynamic linking information in the saved binary
more reliably. Now you should be able to take your
mutated binary, open it in gdb and pretty much do
what you want. All shared library information should
be visible.
bernat [Mon, 8 Mar 2004 23:46:04 +0000 (23:46 +0000)]
Rewrite test7 using exit callback to remove race condition problems
bernat [Mon, 8 Mar 2004 23:46:03 +0000 (23:46 +0000)]
Remove old AIX fork handling
bernat [Mon, 8 Mar 2004 23:46:01 +0000 (23:46 +0000)]
Remove trace lines
bernat [Mon, 8 Mar 2004 23:46:00 +0000 (23:46 +0000)]
Kick AIX child process out of unmodifiable SIGSTOP
bernat [Mon, 8 Mar 2004 23:45:59 +0000 (23:45 +0000)]
Special AIX fork handling (bug)
bernat [Mon, 8 Mar 2004 23:45:55 +0000 (23:45 +0000)]
Copy over uncopied data post-fork
bernat [Mon, 8 Mar 2004 23:45:40 +0000 (23:45 +0000)]
Remove aixHACK parameter (AIX 4.3 syscall handling)
bernat [Mon, 8 Mar 2004 23:45:39 +0000 (23:45 +0000)]
Don't widen address range when trying to allocate memory near a point
bernat [Mon, 8 Mar 2004 23:45:38 +0000 (23:45 +0000)]
Unset the unhandled stop bits when we continue post-fork
bernat [Mon, 8 Mar 2004 23:45:36 +0000 (23:45 +0000)]
Add -Dbug_<bug name> to build lines
schendel [Mon, 8 Mar 2004 22:30:52 +0000 (22:30 +0000)]
turn off building the dyninst library on ia64 with debug symbols;
bernat [Mon, 8 Mar 2004 19:22:56 +0000 (19:22 +0000)]
Removed trace line.
bernat [Mon, 8 Mar 2004 19:22:15 +0000 (19:22 +0000)]
Missed line for IRIX.
bernat [Mon, 8 Mar 2004 19:04:11 +0000 (19:04 +0000)]
Added fork constructor to dynamiclinking class. TODO: actually test
this via the Dyninst test suite
bernat [Sat, 6 Mar 2004 14:19:11 +0000 (14:19 +0000)]
Override CFLAGS when using the native compiler to avoid unsafe options.
bernat [Sat, 6 Mar 2004 14:08:11 +0000 (14:08 +0000)]
Remove -O2 and other optimizations when using the native compiler.
This requires overriding the CFLAGS from make.config. A better mechanism
would be to strip the existing CFLAGS, but we don't have a mechanism
for that.
tikir [Sat, 6 Mar 2004 05:10:39 +0000 (05:10 +0000)]
Fixed a bug in TarjanDominator where tow variables
were not switched correctly. And since the case was
a corner case it did not show up earlier.
bernat [Fri, 5 Mar 2004 16:51:45 +0000 (16:51 +0000)]
Remove AIX 4.1 specific code
bernat [Fri, 5 Mar 2004 16:51:44 +0000 (16:51 +0000)]
Add a new pdvector template
bernat [Fri, 5 Mar 2004 16:51:43 +0000 (16:51 +0000)]
Fixes from Todd
bernat [Fri, 5 Mar 2004 16:51:42 +0000 (16:51 +0000)]
Remove unnecessary functions
bernat [Fri, 5 Mar 2004 16:51:41 +0000 (16:51 +0000)]
Trace line removal
bernat [Fri, 5 Mar 2004 16:51:40 +0000 (16:51 +0000)]
New #define tags
bernat [Fri, 5 Mar 2004 16:51:39 +0000 (16:51 +0000)]
New unified mechanism for loading RT library
bernat [Fri, 5 Mar 2004 16:51:38 +0000 (16:51 +0000)]
No longer special-case RT library
bernat [Fri, 5 Mar 2004 16:51:37 +0000 (16:51 +0000)]
Remove old AIX 4.1 fork handling code
bernat [Fri, 5 Mar 2004 16:51:34 +0000 (16:51 +0000)]
Obsolete files (moved to dynamiclinking.h)
bernat [Fri, 5 Mar 2004 16:51:33 +0000 (16:51 +0000)]
Use better method for determining if a SIGILL should be a SIGTRAP
bernat [Fri, 5 Mar 2004 16:51:23 +0000 (16:51 +0000)]
Update and unify shared object handling
bernat [Fri, 5 Mar 2004 16:51:20 +0000 (16:51 +0000)]
Move RT lib loading code into <OS>.C from <OS>DL.C
bernat [Fri, 5 Mar 2004 16:51:04 +0000 (16:51 +0000)]
fix broken #define usage
bernat [Fri, 5 Mar 2004 16:50:45 +0000 (16:50 +0000)]
Add dynamiclinking.C
bernat [Fri, 5 Mar 2004 16:50:43 +0000 (16:50 +0000)]
Use new #defines (ARCH_DEF, OS_DEF, CAP_DEF, and OLD_DEF)
bernat [Wed, 3 Mar 2004 17:05:09 +0000 (17:05 +0000)]
Remove debugging flag
bernat [Wed, 3 Mar 2004 17:04:53 +0000 (17:04 +0000)]
Add syscall-<foo>.C to source listing
bernat [Wed, 3 Mar 2004 17:04:32 +0000 (17:04 +0000)]
Explicitly set pointers to NULL so we don't try to delete them later
pcroth [Wed, 3 Mar 2004 15:11:35 +0000 (15:11 +0000)]
Added override of autoconf default compile flags to use "-O2" only instead
of "-g -O2".
bernat [Wed, 3 Mar 2004 04:18:36 +0000 (04:18 +0000)]
Forgot to remove a non-used BPatch member
bernat [Tue, 2 Mar 2004 22:46:18 +0000 (22:46 +0000)]
Detach commit - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
syscallNotification class
bernat [Tue, 2 Mar 2004 22:46:17 +0000 (22:46 +0000)]
Detach commit - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Moved solaris /proc compatibility macros to header file
bernat [Tue, 2 Mar 2004 22:46:15 +0000 (22:46 +0000)]
Detach commit - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Call detachProcess instead of detach
bernat [Tue, 2 Mar 2004 22:46:14 +0000 (22:46 +0000)]
Detach commit - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MIPS-specific exec handling and NULL pointer check
bernat [Tue, 2 Mar 2004 22:46:11 +0000 (22:46 +0000)]
Detach commit - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Fixed up process destructor, added "deleteProcess"
bernat [Tue, 2 Mar 2004 22:46:08 +0000 (22:46 +0000)]
Detach commit - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Add a dynamic_linking destructor -- just a stub at the moment
bernat [Tue, 2 Mar 2004 22:46:02 +0000 (22:46 +0000)]
Detach commit - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Change installSyscallTracing to (un)setProcessFlags, remove get_ps_info
bernat [Tue, 2 Mar 2004 22:46:01 +0000 (22:46 +0000)]
Detach commit - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Keep a handle of installed minitramps in instMapping structure
bernat [Tue, 2 Mar 2004 22:45:59 +0000 (22:45 +0000)]
Detach commit - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Add {get|set}_{entry|exit}_syscalls
bernat [Tue, 2 Mar 2004 22:45:58 +0000 (22:45 +0000)]
Detach commit - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Replace direct status queries and checkStatus() with isAttached()
bernat [Tue, 2 Mar 2004 22:45:57 +0000 (22:45 +0000)]
Detach commit - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Call process destructor, fix detaching.
bernat [Tue, 2 Mar 2004 22:45:56 +0000 (22:45 +0000)]
Detach commit - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Check whether we are detached or exited before performing operations
bernat [Tue, 2 Mar 2004 22:45:44 +0000 (22:45 +0000)]
Detach commit - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Added syscall-<platform> files to Makefiles
pcroth [Tue, 2 Mar 2004 19:41:52 +0000 (19:41 +0000)]
Fixed incorrect return value handling for XDR-based igen calls.
pcroth [Tue, 2 Mar 2004 19:41:31 +0000 (19:41 +0000)]
Updated logic for finding igen in response to changes in directory
structure from yesterday's commit.
pcroth [Tue, 2 Mar 2004 17:33:24 +0000 (17:33 +0000)]
Fixed problems with Windows build in response to directory structure
changes from yesterday's commit.
tikir [Mon, 1 Mar 2004 19:30:49 +0000 (19:30 +0000)]
Removed compilation warnings in dyninst
for comparisons between signed and unsigned integers.
pcroth [Mon, 1 Mar 2004 17:29:27 +0000 (17:29 +0000)]
Moved P_memcpy to an inline function to support igen changes.
pcroth [Mon, 1 Mar 2004 17:29:11 +0000 (17:29 +0000)]
Added make variable that adds a macro definition to the C++ compiler command
line on Linux so that the stdint.h constant and limit macros are defined
when compiling C++ files. Removed same macro definitions from the Types.h
file. These changes are desirable because other headers include <stdint.h>,
causing the ordering of #includes to be important as to whether the stdint
macros are defined or not. These changes remove the ordering dependencies.
Also changed to build into ${PLATFORM}/bin and ${PLATFORM}/lib instead
of bin/${PLATFORM} and lib/${PLATFORM}.
Also changed to use tcl8.4.5 by default instead of 8.3.4.
pcroth [Mon, 1 Mar 2004 17:28:56 +0000 (17:28 +0000)]
Removed friend operator<< declarations that caused compiler warnings
about generating non-template functions from within a template class
declaration.
pcroth [Mon, 1 Mar 2004 17:28:06 +0000 (17:28 +0000)]
Removed use of T_x::msg_buf union for thread-based RPC call parameters to
support passing parameter types with constructors and destructors e.g.,
pdstring. Updated to use the pdthread library's new zero-copy msg_send and
msg_recv to avoid memory problems due to memory copies when sending objects
with constructors and destructors between threads.
pcroth [Mon, 1 Mar 2004 17:27:20 +0000 (17:27 +0000)]
Added support for zero-copy memory buffer message sends and receives.
"Ownership" of memory buffer is transferred from sending thread to
receiving thread.
schendel [Mon, 1 Mar 2004 16:06:39 +0000 (16:06 +0000)]
allow users to link against .a tcl/tk libraries on AIX;
schendel [Sun, 29 Feb 2004 22:51:20 +0000 (22:51 +0000)]
updated .cvsignore files;
schendel [Sun, 29 Feb 2004 22:51:18 +0000 (22:51 +0000)]
switched to linking against tcl/tk 8.4.5, previously was tcl/tk 8.3.4;
tikir [Sat, 28 Feb 2004 20:05:18 +0000 (20:05 +0000)]
better code coverage testing
tikir [Sat, 28 Feb 2004 20:04:29 +0000 (20:04 +0000)]
This script will be changed with a better testing script
schendel [Sat, 28 Feb 2004 00:28:04 +0000 (00:28 +0000)]
allow function relocation on x86 when instrumented function on stack - - -
moved some common instPoint methods into instPointBase class;
schendel [Sat, 28 Feb 2004 00:26:38 +0000 (00:26 +0000)]
allow function relocation on x86 when instrumented function on stack
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
turned off our warning when catchup doesn't occur when the original
function is on the stack but the function is instrumented in the
relocated version;
schendel [Sat, 28 Feb 2004 00:26:36 +0000 (00:26 +0000)]
allow function relocation on x86 when instrumented function on stack
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
renamed "relocatable" pd_Function members to "needs relocation";
replaced an old function that updated original instPoints to the relocated
instPoint when necessary, with a newer and better method;
added methods that indicate whether pd_Function is on stack and whether
think pd_Function is long running - used as part of relocating function;
schendel [Sat, 28 Feb 2004 00:26:35 +0000 (00:26 +0000)]
allow function relocation on x86 when instrumented function on stack
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
renamed "relocatable" pd_Function members to "needs relocation";
added methods that indicate whether pd_Function is on stack and whether
think pd_Function is long running - used as part of relocating function;
schendel [Sat, 28 Feb 2004 00:26:34 +0000 (00:26 +0000)]
allow function relocation on x86 when instrumented function on stack
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
renamed "relocatable" pd_Function members to "needs relocation";
schendel [Sat, 28 Feb 2004 00:26:32 +0000 (00:26 +0000)]
allow function relocation on x86 when instrumented function on stack
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
make pcsToFuncs a platform independent function;
avoid big with sharedobjects interaction with code range;
schendel [Sat, 28 Feb 2004 00:26:25 +0000 (00:26 +0000)]
allow function relocation on x86 when instrumented function on stack
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
moved some common instPoint methods into instPointBase class;
schendel [Sat, 28 Feb 2004 00:26:24 +0000 (00:26 +0000)]
allow function relocation on x86 when instrumented function on stack
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
replaced an old function that updated original instPoints to the relocated
instPoint when necessary, with a newer and better method;
renamed "relocatable" pd_Function members to "needs relocation";
schendel [Sat, 28 Feb 2004 00:26:23 +0000 (00:26 +0000)]
allow function relocation on x86 when instrumented function on stack
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
move decision on whether can't do function relocation out of
relocateFunction function;
make pcsToFuncs a platform independent function;
schendel [Sat, 28 Feb 2004 00:26:22 +0000 (00:26 +0000)]
allow function relocation on x86 when instrumented function on stack
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
organized separate code that initiates function relocation on x86 and
solaris;
renamed "relocatable" pd_Function members to "needs relocation";
move decision on whether can't do function relocation out of
relocateFunction function;
replaced an old function that updated original instPoints to the relocated
instPoint when necessary, with a newer and better method;
if attempting to relocate a function that is on the stack and that we
think is long running, instrument the original function instead;
schendel [Sat, 28 Feb 2004 00:26:21 +0000 (00:26 +0000)]
allow function relocation on x86 when instrumented function on stack
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
organized separate code that initiates function relocation on x86 and
solaris;
renamed "relocatable" pd_Function members to "needs relocation";
move decision on whether can't do function relocation out of
relocateFunction function;
allow function relocation on x86 even if function being instrumented is
on the stack, just make sure special cases when can't do it don't apply;
replaced an old function that updated original instPoints to the relocated
instPoint when necessary, with a newer and better method;
if attempting to relocate a function that is on the stack and that we
think is long running, instrument the original function instead;
jodom [Fri, 27 Feb 2004 21:57:37 +0000 (21:57 +0000)]
Fixed the case where a function did not have an explicit exit statement, so
the set of exit blocks was always empty. Now, if we don't find any explicit
exit blocks, we explicity designate all those that have no targets.