diff options
Diffstat (limited to 'libsigsegv/PORTING')
-rw-r--r-- | libsigsegv/PORTING | 249 |
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. |