summaryrefslogtreecommitdiff
path: root/libsigsegv/PORTING
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2010-07-16 14:55:10 +0300
committerArnold D. Robbins <arnold@skeeve.com>2010-07-16 14:55:10 +0300
commit00ef0423acd97cb964a2bae54c93a03a8ab50e5e (patch)
tree2864426773f537f912db1bd716c27b713c5f7dcf /libsigsegv/PORTING
parent3ba50a15ebd976f7a88393e2e45dc14b6478b9a9 (diff)
downloadgawk-3.1.8.tar.gz
Move to 3.1.8.gawk-3.1.8
Diffstat (limited to 'libsigsegv/PORTING')
-rw-r--r--libsigsegv/PORTING249
1 files changed, 0 insertions, 249 deletions
diff --git a/libsigsegv/PORTING b/libsigsegv/PORTING
deleted file mode 100644
index 0132ce77..00000000
--- a/libsigsegv/PORTING
+++ /dev/null
@@ -1,249 +0,0 @@
-Successfully tested platforms
-=============================
-
-__PLATFORM__________________________________SIGSEGV__STACK_OVERFLOW__VERSION___
- | | |
-alpha-dec-osf4.0d | yes | yes | 2.1
-alpha-dec-osf4.0f | yes | yes | 2.1
-alphaev56-dec-osf4.0d | yes | yes | 2.6
-alphaev56-dec-osf4.0f | yes | yes | 2.6
-alpha-dec-osf4.0g | yes | yes | 2.1
-alpha-dec-osf5.1 | yes | yes | 2.1
-alphaev67-dec-osf5.1 | yes | yes | 2.2
-alphaev67-dec-osf5.1a | yes | yes | 2.6
-alphaev6-dec-osf5.1b | yes | yes | 2.6
-alpha-unknown-freebsd4.8 | yes | yes | 2.1
-alpha-portbld-freebsd5.5 | yes | yes | 2.3
-alphaev67-unknown-linux2.4.17-gnu-glibc2.1 | yes | yes | 1.95
-alphaev6-unknown-linux2.2.19-gnu-glibc2.2 | yes | yes | 2.1
-alphaev67-unknown-linux2.2.20-gnu-glibc2.2 | yes | yes | 2.1
-alphaev67-unknown-linux2.4.4-gnu-glibc2.2 | yes | yes | 2.1
-alphaev6-unknown-linux2.4.9-gnu-glibc2.2 | yes | yes | 2.1
-alphaev67-unknown-linux2.4.9-gnu-glibc2.2 | yes | yes | 2.1
-alphaev6-unknown-linux2.4.18-gnu-glibc2.2 | yes | yes | 2.1
-alphaev67-unknown-linux2.4.18-gnu-glibc2.2 | yes | yes | 2.1
-alpha-unknown-linux2.4.19-gnu-glibc2.3 | yes | yes | 2.6
-alphaev68-unknown-linux2.6.11-gnu-glibc2.3 | yes | yes | 2.2
-alpha-unknown-openbsd3.7 | yes | yes | 2.2
-alpha-unknown-netbsd1.6 | yes | yes | 2.1
-armv4l-unknown-linux2.4.0-gnu-glibc2.2 | no | yes | 2.1
-armv4l-unknown-linux2.4.3-gnu-glibc2.2 | yes | yes | 2.1
-armv4l-unknown-linux2.4.9-gnu-glibc2.2 | no | yes | 2.0.1
-armv5tel-unknown-linux2.4.20-gnu-glibc2.2 | yes | yes | 2.2
-armv6l-unknown-linux2.6.18-gnu-glibc2.3 | yes | yes | 2.4
-arm-angstrom-linux2.6.23-gnueabi-glibc2.4 | yes | yes | 2.5
-hppa1.1-hp-hpux11.00 | yes | yes | 2.1
-hppa2.0-hp-hpux10.20 | yes | yes | 2.2
-hppa2.0w-hp-hpux11.00 | yes | yes | 2.6
-hppa2.0w-hp-hpux11.11 | yes | yes | 2.6
-hppa2.0w-hp-hpux11.31 | yes | yes | 2.6
-hppa-unknown-linux2.4.19-gnu-glibc2.2 | yes | yes | 2.0.1
-hppa64-unknown-linux2.4.17-gnu-glibc2.2 | yes | yes | 2.1
-hppa2.0-unknown-linux2.6.20.1-gnu-glibc2.3 | yes | no | 2.4
-i370-ibm-openedition | no | no | 2.6
-i586-pc-beos | no | yes | 2.1
-i686-pc-cygwin | yes | yes | 2.02
-i686-pc-cygwin | yes | yes | 2.4
-i386-apple-darwin8.6.1 | yes | yes | 2.3
-i686-apple-darwin8.6.1 | yes | yes | 2.3
-i386-apple-darwin8.8.1 | yes | yes | 2.4
-i386-apple-darwin8.8.2 | yes | yes | 2.4
-i386-apple-darwin8.8.3 | yes | yes | 2.4
-i386-apple-darwin8.9.1 | yes | yes | 2.4
-i386-apple-darwin8.10.1 | yes | yes | 2.4
-i386-apple-darwin8.11.1 | yes | yes | 2.6
-i386-apple-darwin9.0.0 | yes | yes | 2.5
-i386-apple-darwin9.1.0 | yes | yes | 2.5
-i386-apple-darwin9.2.2 | yes | yes | 2.5
-i386-apple-darwin9.3.0 | yes | yes | 2.6
-i386-apple-darwin9.4.0 | yes | yes | 2.5
-i386-apple-darwin9.5.0 | yes | yes | 2.5
-i586-pc-linux2.2.14-gnu-glibc2.1 | yes | yes | 2.1
-i686-pc-linux2.2.14-gnu-glibc2.1 | yes | yes | 2.0
-i686-pc-linux2.2.19-gnu-glibc2.1 | yes | yes | 1.95
-i486-pc-linux2.2.21-gnu-glibc2.1 | yes | yes | 2.0
-i586-pc-linux2.4.18-gnu-glibc2.1 | yes | yes | 2.0
-i686-pc-linux2.4.19-gnu-glibc2.1 | yes | yes | 2.2
-i686-pc-linux2.2.16-gnu-glibc2.2 | yes | yes | 2.0
-i686-pc-linux2.2.19-gnu-glibc2.2 | yes | yes | 2.0
-i686-pc-linux2.4.7-gnu-glibc2.2 | yes | yes | 2.1
-i586-pc-linux2.4.9-gnu-glibc2.2 | yes | yes | 2.0
-i686-pc-linux2.4.9-gnu-glibc2.2 | yes | yes | 2.0
-i386-pc-linux2.4.18-gnu-glibc2.2 | yes | yes | 2.0
-i686-pc-linux2.4.18-gnu-glibc2.2 | yes | yes | 2.0
-i586-pc-linux2.4.19-gnu-glibc2.2 | yes | yes | 2.0
-i686-pc-linux2.4.19-gnu-glibc2.2 | yes | yes | 2.0
-i686-pc-linux2.4.20-gnu-glibc2.2 | yes | yes | 2.0
-i586-pc-linux2.2.19-gnu-glibc2.3 | yes | yes | 2.1
-i686-pc-linux2.4.18-gnu-glibc2.3 | yes | yes | 1.97
-i486-pc-linux2.4.20-gnu-glibc2.3 | yes | yes | 2.0
-i586-pc-linux2.4.20-gnu-glibc2.3 | yes | yes | 2.0
-i686-pc-linux2.4.20-gnu-glibc2.3 | yes | yes | 2.0
-i686-pc-linux2.4.21-gnu-glibc2.3 | yes | yes | 2.6
-i586-pc-linux2.4.22-gnu-glibc2.3 | yes | yes | 2.0
-i386-pc-mingw32 | yes | yes | 2.4
-i586-pc-mingw32 | yes | yes | 2.1
-i686-pc-mingw32 | yes | yes | 2.6
-i386-unknown-mirbsd10 | yes | yes | 2.7
-i386-pc-os2-emx | no | no | 2.5
-i386-pc-solaris2.9 | yes | yes | 2.2
-i386-pc-solaris2.10 | yes | yes | 2.6
-i386-pc-solaris2.11 | yes | yes | 2.2
-i686-pc-win32-msvc6 | yes | yes | 1.96
-i386-unknown-freebsd4.0 | yes | yes | 2.1
-i386-unknown-freebsd4.0-gnu-glibc2.3 | yes | yes | 2.1
-i386-unknown-freebsd4.6 | yes | yes | 1.95
-i386-unknown-freebsd4.7 | yes | yes | 2.1
-i386-unknown-freebsd4.8 | yes | yes | 2.1
-i386-unknown-freebsd4.9 | yes | yes | 2.2
-i386-unknown-freebsd4.10 | yes | yes | 2.2
-i386-unknown-freebsd5.0 | yes | yes | 2.6
-i386-portbld-freebsd6.0 | yes | yes | 2.3
-i386-unknown-freebsd6.2 | yes | yes | 2.6
-i686-unknown-kfreebsd6.2-gnu-glibc2.6 | yes | yes | 2.5+
-i386-unknown-netbsdelf1.6 | no | no | 2.6
-i386-unknown-netbsdelf2.0.2 | yes | yes | 2.4
-i386-unknown-netbsdelf3.0 | yes | yes | 2.4
-i386-unknown-netbsd | yes | no | 2.2
-i386-unknown-openbsd3.2 | yes | yes | 2.3
-i386-unknown-openbsd3.3 | yes | yes | 2.1
-i386-unknown-openbsd3.4 | yes | yes | 2.2
-i386-unknown-openbsd3.6 | yes | yes | 2.1
-i386-unknown-openbsd3.8 | yes | yes | 2.4
-i386-unknown-openbsd3.9 | yes | yes | 2.6
-i386-unknown-openbsd4.0 | yes | yes | 2.6
-ia64-portbld-freebsd7.0 | yes | no | 2.3
-ia64-hp-hpux11.22 | yes | no | 2.1
-ia64-hp-hpux11.23 | yes | no | 2.2
-ia64-hp-hpux11.31 | yes | no | 2.6
-ia64-unknown-linux2.4.18-gnu-glibc2.2 | yes | yes | 2.4
-ia64-unknown-linux2.4.21-gnu-glibc2.3 | yes | yes | 2.6
-ia64-unknown-linux2.6.9-gnu-glibc2.3 | yes | yes | 2.6
-ia64-unknown-linux2.6.16.27-gnu-glibc2.4 | yes | yes | 2.6
-mips-sgi-irix5.3 | yes | yes | 2.6+
-mips-sgi-irix6.2 | yes | yes | 2.6+
-mips-sgi-irix6.5 | yes | yes | 2.6+
-mips-unknown-linux2.4.27-gnu-glibc2.3 | yes | yes | 2.6
-nsr-tandem-nsk | no | no | 2.1
-rs6000-ibm-aix3.2.5 | yes | no | 2.2
-rs6000-ibm-aix4.2.0.0 | yes | yes | 2.2
-rs6000-ibm-aix4.2.1.0 | yes | yes | 2.1
-powerpc-ibm-aix4.3.2.0 | yes | yes | 2.6
-powerpc-ibm-aix4.3.3.0 | yes | yes | 1.95
-powerpc-ibm-aix5.1.0.0 | yes | yes | 2.6
-powerpc-ibm-aix5.2.0.0 | yes | yes | 2.5
-powerpc-ibm-aix5.3.0.0 | yes | yes | 2.5
-powerpc-apple-darwin5.5 | yes | yes | 2.2
-powerpc-apple-darwin6.0 | yes | yes | 2.4
-powerpc-apple-darwin6.8 | yes | yes | 2.2
-powerpc-apple-darwin7.7.0 | yes | yes | 2.2
-powerpc-apple-darwin7.8.0 | yes | yes | 2.2
-powerpc-apple-darwin7.9.0 | yes | yes | 2.6
-powerpc-apple-darwin8.1.0 | yes | yes | 2.2
-powerpc-apple-darwin8.3.0 | yes | yes | 2.2
-powerpc-apple-darwin8.4.0 | yes | yes | 2.2
-powerpc-apple-darwin8.7.0 | yes | yes | 2.4
-powerpc-apple-darwin8.8.0 | yes | yes | 2.4
-powerpc-apple-darwin8.9.0 | yes | yes | 2.4
-powerpc-apple-darwin8.10.0 | yes | yes | 2.5
-powerpc-apple-darwin8.11.0 | yes | yes | 2.6
-powerpc-apple-darwin8.11.1 | yes | yes | 2.5
-powerpc-apple-darwin9.2.0 | yes | yes | 2.5
-powerpc-unknown-linux2.2.17-gnu-glibc2.1 | no | yes | 1.95
-powerpc-unknown-linux2.2.17-gnu-glibc2.2 | yes | yes | 2.0.1
-powerpc-unknown-linux2.4.19-gnu-glibc2.2 | yes | yes | 2.4
-powerpc-unknown-linux2.4.28-gnu-glibc2.2 | yes | yes | 2.1
-powerpc-unknown-linux2.4.26-gnu-glibc2.3 | yes | yes | 2.1
-powerpc-unknown-linux2.6.10-gnu-glibc2.3 | yes | yes | 2.2
-powerpc-unknown-linux2.6.16-gnu-glibc2.3 | yes | yes | 2.4
-powerpc-unknown-linux2.6.16-gnu-glibc2.4 | yes | yes | 2.6
-powerpc-unknown-netbsd2.0 | yes | no | 2.1
-powerpc-unknown-netbsd3.99.23 | yes | yes | 2.4
-powerpc-unknown-openbsd4.0 | yes | yes | 2.4
-powerpc-unknown-openbsd4.1 | yes | yes | 2.4
-powerpc64-unknown-linux2.6.5-gnu-glibc2.3 | yes | yes | 2.4
-s390x-ibm-linux2.6.16.46-gnu-glibc2.4 | no | yes | 2.5
-sparc-unknown-linux2.4.32-gnu-glibc2.3 | yes | no | 2.1
-sparc-unknown-openbsd3.9 | yes | no | 2.4
-sparc-sun-solaris2.5.1 | yes | yes | 2.2
-sparc-sun-solaris2.6 | yes | yes | 2.2
-sparc-sun-solaris2.7 | yes | yes | 2.6
-sparc-sun-solaris2.8 | yes | yes | 2.6
-sparc-sun-solaris2.9 | yes | yes | 2.6
-sparc-sun-solaris2.10 | yes | yes | 2.6
-sparc-sun-solaris2.11 | yes | yes | 2.4
-sparc64-unknown-linux2.2.18-gnu-glibc2.1 | no | no | 1.95
-sparc64-unknown-linux2.4.28-gnu-glibc2.3 | yes | no | 2.6
-sparc64-unknown-openbsd3.6 | no | no | 2.2
-x86_64-unknown-kfreebsd6.2-gnu-glibc2.6 | yes | yes | 2.5+
-x86_64-unknown-linux2.4.21-gnu-glibc2.2 | yes | yes | 2.1
-x86_64-unknown-linux2.4.21-gnu-glibc2.3 | yes | yes | 2.1
-x86_64-unknown-linux2.6.3-gnu-glibc2.3 | yes | yes | 2.1
-x86_64-unknown-linux2.6.9-gnu-glibc2.3 | yes | yes | 2.4
-x86_64-unknown-linux2.6.11.4-gnu-glibc2.3 | yes | yes | 2.4
-x86_64-unknown-linux2.6.13-gnu-glibc2.3 | yes | yes | 2.4
-x86_64-unknown-linux2.6.16-gnu-glibc2.4 | yes | yes | 2.4
-x86_64-unknown-linux2.6.16.13-gnu-glibc2.4 | yes | yes | 2.4
-x86_64-unknown-linux2.6.16.21-gnu-glibc2.4 | yes | yes | 2.4
-x86_64-unknown-linux2.6.16.27-gnu-glibc2.4 | yes | yes | 2.6
-x86_64-unknown-linux2.6.17-gnu-glibc2.4 | yes | yes | 2.4
-x86_64-unknown-linux2.6.20-gnu-glibc2.5 | yes | yes | 2.4
-x86_64-unknown-linux2.6.20.1-gnu-glibc2.5 | yes | yes | 2.4
-x86_64-unknown-linux2.6.21-gnu-glibc2.6 | yes | yes | 2.4
-x86_64-unknown-netbsd3.0 | yes | yes | 2.4
-x86_64-unknown-netbsd4.99.72 | yes | yes | 2.5
-amd64-portbld-freebsd5.4 | yes | yes | 2.2
-amd64-portbld-freebsd6.0 | yes | yes | 2.3
-amd64-portbld-freebsd7.0 | yes | yes | 2.3
-
-
-On FreeBSD 5.2, libsigsegv works best if the /proc filesystem is mounted.
-(It is not mounted by default.)
-
-
-Porting to new platforms
-========================
-
-On Unix systems, where faults are notified to the program through a signal
-handler, the core routines in handler-unix.c can be used without
-modifications. But they need the following bits of information. Each of
-them is stored in a platform dependent file; the file is chosen in configure.
-
- * List of signals that are sent when an invalid virtual memory address
- is accessed, or when the stack overflows.
- This is a file among signals-*.h.
- configure chooses and sets the variable CFG_SIGNALS.
-
- * What arguments are passed to a fault handler.
- This is a file among fault-*.h.
- configure chooses and sets the variable CFG_FAULT.
-
- * How to determine the stack's virtual memory area.
- This is a file among stackvma-*.c.
- configure chooses and sets the variable CFG_STACKVMA.
-
- * How to leave a signal handler that is executing on the alternate
- signal stack.
- This is a file among leave-*.c.
- configure chooses and sets the variable CFG_LEAVE.
-
-For each of these, the approach should be:
-
- - Find a way to implement the needed functionality. This might involve
- study of the system include files (in particular <signal.h> and
- <ucontext.h>) and of the kernel sources.
- For CFG_FAULT, the best starting point is to run the tests/sigsegv1
- program with a breakpoint set at 'sigsegv_handler'.
-
- - Add to configure.in a test whether your new code works. This will
- help portability to platforms similar to yours.
- Then regenerate the configure script (run "autoconf") and verify
- that the test says "yes" on your platform.
-
- - Create a platform dependent file (e.g. fault-<os>-<cpu>.h) and change
- configure.in to choose this particular file when your test says "yes".
- Then regenerate the configure script (run "autoconf").
-
- - Verify that "make" and "make check" pass.
-
-For non-Unix systems, a separate handler-<os>.c is likely to be needed.