summaryrefslogtreecommitdiff
path: root/README-sunos4
diff options
context:
space:
mode:
Diffstat (limited to 'README-sunos4')
-rw-r--r--README-sunos485
1 files changed, 85 insertions, 0 deletions
diff --git a/README-sunos4 b/README-sunos4
new file mode 100644
index 0000000..1fa8ae2
--- /dev/null
+++ b/README-sunos4
@@ -0,0 +1,85 @@
+========================================================================
+This is the unmodified README from Paul Kranenburg's release of strace
+for SunOS 4.1.x. Some of the notes and instructions are no longer valid
+however the file has been retained for its historical value. -- jrs
+========================================================================
+
+/*
+ * @(#)README 2.4 92/01/21
+ *
+ * Copyright (C) 1991 Paul Kranenburg.
+ *
+ * Please send comments, enhancements or any other useful ideas to
+ * the address at the end of this file.
+ *
+ */
+
+strace(1) is a system call tracer for Sun(tm) systems much like the
+Sun supplied program trace(1). strace(1) is a useful utility to sort
+of debug programs for which no source is available which unfortunately
+includes almost all of the Sun supplied system software.
+
+Like trace(1), strace displays each system call and its arguments as it
+is invoked by the traced process, but tries to do a better job of
+decoding the arguments, displaying them in symbolic format whenever
+possible. Passed structures/character arrays are read from the process'
+address space and displayed in an appropriate format.
+
+It is also possible to instruct strace to trace child processes as
+they are created by the fork(2) system call. However, this is slightly
+involved for two reasons: 1) the trace flag is cleared in the child
+process by the fork system call, so we must make a special effort to
+gain control of the child (see NOTES below), 2) our tracing manipulations
+of the child may interfere with a possible wait(2) system call executed
+by the (also traced) parent process. In this case we don't allow the parent
+to continue until one of its children enters a state that may cause the
+parent's wait(2) call to return.
+
+
+NOTES.
+
+o Not all system calls have been implemented yet as described
+ above (see dummy.h for a list), these calls only have their args
+ displayed as hex numbers.
+
+o The program draws heavily on Sun's extensions to the ptrace(2)
+ system call.
+
+o This release is based upon SunOS 4.1.1. The syscall list (syscall.h)
+ and ioctl's (ioctlent.m4) are probably most critically dependant
+ on the OS version (see also /sys/os/init_sysent.c).
+ You may have to edit `ioctlsort.c' and/or `ioctlent.m4' to get
+ `ioctlsort.c' to compile with your suite of system header files.
+
+o The way in which child processes are caught and attached to after
+ the fork() call is Sparc-specific (in fact it has the looks of a
+ terrible hack). Also, this trick won't work with vfork(2).
+ Enhancements are sollicited for.
+
+o Dynamically linked executables can be convinced to use the fork(2)
+ system call in stead of vfork(2) by modifying their (internal)
+ symbol table immediately after such a program is exec'ed. Be
+ warned that programs which depend on vfork's peculiar semantics
+ may not run as expected. Enable by the `-F' switch.
+
+
+INSTALLATION.
+
+ Edit the paths in the Makefile to suit your local system.
+ Enter the usual make commands (`make debug' to enable the
+ compiler `-g' flag).
+
+ Not all sites have a complete set of include files, depending
+ on the selected software categories at OS install time. The
+ makefile tries to detect the presence of the Sunview category,
+ if other files are missing you may have to edit `ioctlent.h'.
+
+
+COMMENTS TO:
+
+ P. Kranenburg
+ Department of Computer Science
+ Erasmus University Rotterdam
+ P.O. Box 1738
+ NL-3000 DR Rotterdam
+ e-mail: pk@cs.few.eur.nl