This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by configure, which was
generated by GNU Autoconf 2.59.  Invocation command line was

  $ ./configure --prefix=/usr/local

## --------- ##
## Platform. ##
## --------- ##

hostname = TCSGrizzardD
uname -m = i686
uname -r = 1.5.22(0.156/4/2)
uname -s = CYGWIN_NT-5.1
uname -v = 2006-11-13 17:01

/usr/bin/uname -p = unknown
/bin/uname -X     = unknown

/bin/arch              = unknown
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
hostinfo               = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH: /usr/local/bin
PATH: /usr/bin
PATH: /bin
PATH: /usr/X11R6/bin
PATH: /cygdrive/c/GPS/bin
PATH: /usr/bin
PATH: /cygdrive/c/Windows
PATH: /cygdrive/c/Windows/System32


## ----------- ##
## Core tests. ##
## ----------- ##

configure:1588: checking for a BSD-compatible install
configure:1643: result: /usr/bin/install -c
configure:1654: checking whether build environment is sane
configure:1697: result: yes
configure:1762: checking for gawk
configure:1778: found /usr/bin/gawk
configure:1788: result: gawk
configure:1798: checking whether make sets $(MAKE)
configure:1818: result: yes
configure:2035: checking for gcc
configure:2051: found /usr/local/bin/gcc
configure:2061: result: gcc
configure:2305: checking for C compiler version
configure:2308: gcc --version </dev/null >&5
gcc (GCC) 4.1.1
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:2311: $? = 0
configure:2313: gcc -v </dev/null >&5
Using built-in specs.
Target: i686-pc-cygwin
Configured with: ../gcc-4.1.1/configure --prefix=/usr/local : (reconfigured) ../gcc-4.1.1/configure --prefix=/usr/local --enable-threads=win32 --enable-languages=c,ada,objc -with-tune=i686 -with-argc=i686
Thread model: win32
gcc version 4.1.1
configure:2316: $? = 0
configure:2318: gcc -V </dev/null >&5
gcc: '-V' option must have argument
configure:2321: $? = 1
configure:2344: checking for C compiler default output file name
configure:2347: gcc    conftest.c  >&5
configure:2350: $? = 0
configure:2396: result: a.exe
configure:2401: checking whether the C compiler works
configure:2407: ./a.exe
configure:2410: $? = 0
configure:2427: result: yes
configure:2434: checking whether we are cross compiling
configure:2436: result: no
configure:2439: checking for suffix of executables
configure:2441: gcc -o conftest.exe    conftest.c  >&5
configure:2444: $? = 0
configure:2469: result: .exe
configure:2475: checking for suffix of object files
configure:2496: gcc -c   conftest.c >&5
configure:2499: $? = 0
configure:2521: result: o
configure:2525: checking whether we are using the GNU C compiler
configure:2549: gcc -c   conftest.c >&5
configure:2555: $? = 0
configure:2559: test -z 
			 || test ! -s conftest.err
configure:2562: $? = 0
configure:2565: test -s conftest.o
configure:2568: $? = 0
configure:2581: result: yes
configure:2587: checking whether gcc accepts -g
configure:2608: gcc -c -g  conftest.c >&5
configure:2614: $? = 0
configure:2618: test -z 
			 || test ! -s conftest.err
configure:2621: $? = 0
configure:2624: test -s conftest.o
configure:2627: $? = 0
configure:2638: result: yes
configure:2655: checking for gcc option to accept ANSI C
configure:2725: gcc  -c -g -O2  conftest.c >&5
configure:2731: $? = 0
configure:2735: test -z 
			 || test ! -s conftest.err
configure:2738: $? = 0
configure:2741: test -s conftest.o
configure:2744: $? = 0
configure:2762: result: none needed
configure:2780: gcc -c -g -O2  conftest.c >&5
conftest.c:2: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'me'
configure:2786: $? = 1
configure: failed program was:
| #ifndef __cplusplus
|   choke me
| #endif
configure:2930: checking for style of include used by make
configure:2958: result: GNU
configure:2986: checking dependency style of gcc
configure:3076: result: none
configure:3098: checking how to run the C preprocessor
configure:3133: gcc -E  conftest.c
configure:3139: $? = 0
configure:3171: gcc -E  conftest.c
conftest.c:11:28: error: ac_nonexistent.h: No such file or directory
configure:3177: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:3216: result: gcc -E
configure:3240: gcc -E  conftest.c
configure:3246: $? = 0
configure:3278: gcc -E  conftest.c
conftest.c:11:28: error: ac_nonexistent.h: No such file or directory
configure:3284: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:3334: checking build system type
configure:3352: result: i686-pc-cygwin
configure:3360: checking host system type
configure:3374: result: i686-pc-cygwin
configure:3382: checking host platform
configure:3401: result: i686-pc-cygwin
configure:3419: checking for a BSD-compatible install
configure:3474: result: /usr/bin/install -c
configure:3559: checking for a sed that does not truncate output
configure:3613: result: /usr/bin/sed
configure:3616: checking for egrep
configure:3626: result: grep -E
configure:3642: checking for ld used by gcc
configure:3709: result: /usr/bin/ld
configure:3718: checking if the linker (/usr/bin/ld) is GNU ld
configure:3733: result: yes
configure:3738: checking for /usr/bin/ld option to reload object files
configure:3745: result: -r
configure:3763: checking for BSD-compatible nm
configure:3812: result: /usr/bin/nm -B
configure:3816: checking whether ln -s works
configure:3820: result: yes
configure:3827: checking how to recognise dependent libraries
configure:4003: result: file_magic ^x86 archive import|^x86 DLL
configure:4236: checking for ANSI C header files
configure:4261: gcc -c -g -O2  conftest.c >&5
configure:4267: $? = 0
configure:4271: test -z 
			 || test ! -s conftest.err
configure:4274: $? = 0
configure:4277: test -s conftest.o
configure:4280: $? = 0
configure:4369: gcc -o conftest.exe -g -O2   conftest.c  >&5
conftest.c: In function 'main':
conftest.c:28: warning: incompatible implicit declaration of built-in function 'exit'
configure:4372: $? = 0
configure:4374: ./conftest.exe
configure:4377: $? = 0
configure:4392: result: yes
configure:4416: checking for sys/types.h
configure:4432: gcc -c -g -O2  conftest.c >&5
configure:4438: $? = 0
configure:4442: test -z 
			 || test ! -s conftest.err
configure:4445: $? = 0
configure:4448: test -s conftest.o
configure:4451: $? = 0
configure:4462: result: yes
configure:4416: checking for sys/stat.h
configure:4432: gcc -c -g -O2  conftest.c >&5
configure:4438: $? = 0
configure:4442: test -z 
			 || test ! -s conftest.err
configure:4445: $? = 0
configure:4448: test -s conftest.o
configure:4451: $? = 0
configure:4462: result: yes
configure:4416: checking for stdlib.h
configure:4432: gcc -c -g -O2  conftest.c >&5
configure:4438: $? = 0
configure:4442: test -z 
			 || test ! -s conftest.err
configure:4445: $? = 0
configure:4448: test -s conftest.o
configure:4451: $? = 0
configure:4462: result: yes
configure:4416: checking for string.h
configure:4432: gcc -c -g -O2  conftest.c >&5
configure:4438: $? = 0
configure:4442: test -z 
			 || test ! -s conftest.err
configure:4445: $? = 0
configure:4448: test -s conftest.o
configure:4451: $? = 0
configure:4462: result: yes
configure:4416: checking for memory.h
configure:4432: gcc -c -g -O2  conftest.c >&5
configure:4438: $? = 0
configure:4442: test -z 
			 || test ! -s conftest.err
configure:4445: $? = 0
configure:4448: test -s conftest.o
configure:4451: $? = 0
configure:4462: result: yes
configure:4416: checking for strings.h
configure:4432: gcc -c -g -O2  conftest.c >&5
configure:4438: $? = 0
configure:4442: test -z 
			 || test ! -s conftest.err
configure:4445: $? = 0
configure:4448: test -s conftest.o
configure:4451: $? = 0
configure:4462: result: yes
configure:4416: checking for inttypes.h
configure:4432: gcc -c -g -O2  conftest.c >&5
configure:4438: $? = 0
configure:4442: test -z 
			 || test ! -s conftest.err
configure:4445: $? = 0
configure:4448: test -s conftest.o
configure:4451: $? = 0
configure:4462: result: yes
configure:4416: checking for stdint.h
configure:4432: gcc -c -g -O2  conftest.c >&5
configure:4438: $? = 0
configure:4442: test -z 
			 || test ! -s conftest.err
configure:4445: $? = 0
configure:4448: test -s conftest.o
configure:4451: $? = 0
configure:4462: result: yes
configure:4416: checking for unistd.h
configure:4432: gcc -c -g -O2  conftest.c >&5
configure:4438: $? = 0
configure:4442: test -z 
			 || test ! -s conftest.err
configure:4445: $? = 0
configure:4448: test -s conftest.o
configure:4451: $? = 0
configure:4462: result: yes
configure:4488: checking dlfcn.h usability
configure:4500: gcc -c -g -O2  conftest.c >&5
configure:4506: $? = 0
configure:4510: test -z 
			 || test ! -s conftest.err
configure:4513: $? = 0
configure:4516: test -s conftest.o
configure:4519: $? = 0
configure:4529: result: yes
configure:4533: checking dlfcn.h presence
configure:4543: gcc -E  conftest.c
configure:4549: $? = 0
configure:4569: result: yes
configure:4604: checking for dlfcn.h
configure:4611: result: yes
configure:4676: checking for g++
configure:4692: found /usr/bin/g++
configure:4702: result: g++
configure:4718: checking for C++ compiler version
configure:4721: g++ --version </dev/null >&5
g++ (GCC) 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:4724: $? = 0
configure:4726: g++ -v </dev/null >&5
Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs
Configured with: /gcc/gcc-3.4.4/gcc-3.4.4-1/configure --verbose --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-languages=c,ada,c++,d,f77,java,objc --enable-nls --without-included-gettext --enable-version-specific-runtime-libs --without-x --enable-libgcj --disable-java-awt --with-system-zlib --enable-interpreter --disable-libgcj-debug --enable-threads=posix --enable-java-gc=boehm --disable-win32-registry --enable-sjlj-exceptions --enable-hash-synchronization --enable-libstdcxx-debug : (reconfigured) 
Thread model: posix
gcc version 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125)
configure:4729: $? = 0
configure:4731: g++ -V </dev/null >&5
g++: `-V' option must have argument
configure:4734: $? = 1
configure:4737: checking whether we are using the GNU C++ compiler
configure:4761: g++ -c   conftest.cc >&5
configure:4767: $? = 0
configure:4771: test -z 
			 || test ! -s conftest.err
configure:4774: $? = 0
configure:4777: test -s conftest.o
configure:4780: $? = 0
configure:4793: result: yes
configure:4799: checking whether g++ accepts -g
configure:4820: g++ -c -g  conftest.cc >&5
configure:4826: $? = 0
configure:4830: test -z 
			 || test ! -s conftest.err
configure:4833: $? = 0
configure:4836: test -s conftest.o
configure:4839: $? = 0
configure:4850: result: yes
configure:4892: g++ -c -g -O2  conftest.cc >&5
configure:4898: $? = 0
configure:4902: test -z 
			 || test ! -s conftest.err
configure:4905: $? = 0
configure:4908: test -s conftest.o
configure:4911: $? = 0
configure:4937: g++ -c -g -O2  conftest.cc >&5
conftest.cc: In function `int main()':
conftest.cc:26: error: `exit' undeclared (first use this function)
conftest.cc:26: error: (Each undeclared identifier is reported only once for each function it appears in.)
configure:4943: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| exit (42);
|   ;
|   return 0;
| }
configure:4892: g++ -c -g -O2  conftest.cc >&5
configure:4898: $? = 0
configure:4902: test -z 
			 || test ! -s conftest.err
configure:4905: $? = 0
configure:4908: test -s conftest.o
configure:4911: $? = 0
configure:4937: g++ -c -g -O2  conftest.cc >&5
configure:4943: $? = 0
configure:4947: test -z 
			 || test ! -s conftest.err
configure:4950: $? = 0
configure:4953: test -s conftest.o
configure:4956: $? = 0
configure:4981: checking dependency style of g++
configure:5071: result: none
configure:5098: checking how to run the C++ preprocessor
configure:5129: g++ -E  conftest.cc
configure:5135: $? = 0
configure:5167: g++ -E  conftest.cc
conftest.cc:25:28: ac_nonexistent.h: No such file or directory
configure:5173: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:5212: result: g++ -E
configure:5236: g++ -E  conftest.cc
configure:5242: $? = 0
configure:5274: g++ -E  conftest.cc
conftest.cc:25:28: ac_nonexistent.h: No such file or directory
configure:5280: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:5377: checking for g77
configure:5393: found /usr/bin/g77
configure:5403: result: g77
configure:5418: checking for Fortran 77 compiler version
configure:5421: g77 --version </dev/null >&5
GNU Fortran (GCC) 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125)
Copyright (C) 2004 Free Software Foundation, Inc.

GNU Fortran comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of GNU Fortran
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING
or type the command `info -f g77 Copying'.
configure:5424: $? = 0
configure:5426: g77 -v </dev/null >&5
Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs
Configured with: /gcc/gcc-3.4.4/gcc-3.4.4-1/configure --verbose --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-languages=c,ada,c++,d,f77,java,objc --enable-nls --without-included-gettext --enable-version-specific-runtime-libs --without-x --enable-libgcj --disable-java-awt --with-system-zlib --enable-interpreter --disable-libgcj-debug --enable-threads=posix --enable-java-gc=boehm --disable-win32-registry --enable-sjlj-exceptions --enable-hash-synchronization --enable-libstdcxx-debug : (reconfigured) 
Thread model: posix
gcc version 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125)
configure:5429: $? = 0
configure:5431: g77 -V </dev/null >&5
g77: `-V' option must have argument
configure:5434: $? = 1
configure:5442: checking whether we are using the GNU Fortran 77 compiler
configure:5456: g77 -c  conftest.F >&5
configure:5462: $? = 0
configure:5466: test -z 
			 || test ! -s conftest.err
configure:5469: $? = 0
configure:5472: test -s conftest.o
configure:5475: $? = 0
configure:5488: result: yes
configure:5494: checking whether g77 accepts -g
configure:5506: g77 -c -g conftest.f >&5
configure:5512: $? = 0
configure:5516: test -z 
			 || test ! -s conftest.err
configure:5519: $? = 0
configure:5522: test -s conftest.o
configure:5525: $? = 0
configure:5537: result: yes
configure:5567: checking the maximum length of command line arguments
configure:5676: result: 8192
configure:5687: checking command to parse /usr/bin/nm -B output from gcc object
configure:5792: gcc -c -g -O2  conftest.c >&5
configure:5795: $? = 0
configure:5799: /usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[ 	]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ 	][ 	]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' \> conftest.nm
configure:5802: $? = 0
cannot find nm_test_var in conftest.nm
configure:5792: gcc -c -g -O2  conftest.c >&5
configure:5795: $? = 0
configure:5799: /usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[ 	]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ 	][ 	]*_\([_A-Za-z][_A-Za-z0-9]*\)$/\1 _\2 \2/p' \> conftest.nm
configure:5802: $? = 0
configure:5854: gcc -o conftest.exe -g -O2   conftest.c conftstm.o >&5
configure:5857: $? = 0
configure:5895: result: ok
configure:5899: checking for objdir
configure:5914: result: .libs
configure:6004: checking for ar
configure:6020: found /usr/bin/ar
configure:6031: result: ar
configure:6084: checking for ranlib
configure:6100: found /usr/bin/ranlib
configure:6111: result: ranlib
configure:6164: checking for strip
configure:6180: found /usr/bin/strip
configure:6191: result: strip
configure:6467: checking if gcc supports -fno-rtti -fno-exceptions
configure:6485: gcc -c -g -O2  -fno-rtti -fno-exceptions conftest.c >&5
cc1: warning: command line option "-fno-rtti" is valid for C++/ObjC++ but not for C
configure:6489: $? = 0
configure:6502: result: no
configure:6517: checking for gcc option to produce PIC
configure:6727: result: 
configure:6798: checking if gcc static flag -static works
configure:6826: result: yes
configure:6836: checking if gcc supports -c -o file.o
configure:6857: gcc -c -g -O2  -o out/conftest2.o conftest.c >&5
configure:6861: $? = 0
configure:6883: result: yes
configure:6909: checking whether the gcc linker (/usr/bin/ld) supports shared libraries
configure:7867: result: yes
configure:7934: checking dynamic linker characteristics
configure:8522: result: Win32 ld.exe
configure:8531: checking how to hardcode library paths into programs
configure:8556: result: immediate
configure:8570: checking whether stripping libraries is possible
configure:8575: result: yes
configure:9409: checking if libtool supports shared libraries
configure:9411: result: yes
configure:9414: checking whether to build shared libraries
configure:9435: result: no
configure:9438: checking whether to build static libraries
configure:9442: result: yes
configure:9534: creating libtool
configure:10122: checking for ld used by g++
configure:10189: result: /usr/bin/ld
configure:10198: checking if the linker (/usr/bin/ld) is GNU ld
configure:10213: result: yes
configure:10264: checking whether the g++ linker (/usr/bin/ld) supports shared libraries
configure:11202: result: yes
configure:11224: g++ -c -g -O2  conftest.cpp >&5
configure:11227: $? = 0
configure:11346: checking for g++ option to produce PIC
configure:11620: result: 
configure:11691: checking if g++ static flag -static works
configure:11719: result: yes
configure:11729: checking if g++ supports -c -o file.o
configure:11750: g++ -c -g -O2  -o out/conftest2.o conftest.cpp >&5
configure:11754: $? = 0
configure:11776: result: yes
configure:11802: checking whether the g++ linker (/usr/bin/ld) supports shared libraries
configure:11827: result: yes
configure:11894: checking dynamic linker characteristics
configure:12482: result: Win32 ld.exe
configure:12491: checking how to hardcode library paths into programs
configure:12516: result: immediate
configure:13042: checking if libtool supports shared libraries
configure:13044: result: yes
configure:13047: checking whether to build shared libraries
configure:13067: result: no
configure:13070: checking whether to build static libraries
configure:13074: result: yes
configure:13084: checking for g77 option to produce PIC
configure:13294: result: 
configure:13365: checking if g77 static flag -static works
configure:13393: result: yes
configure:13403: checking if g77 supports -c -o file.o
configure:13424: g77 -c -g -O2 -o out/conftest2.o conftest.f >&5
configure:13428: $? = 0
configure:13450: result: yes
configure:13476: checking whether the g77 linker (/usr/bin/ld) supports shared libraries
configure:14414: result: yes
configure:14481: checking dynamic linker characteristics
configure:15069: result: Win32 ld.exe
configure:15078: checking how to hardcode library paths into programs
configure:15103: result: immediate
configure:18690: checking sys/signal.h usability
configure:18702: gcc -c -g -O2  conftest.c >&5
configure:18708: $? = 0
configure:18712: test -z 
			 || test ! -s conftest.err
configure:18715: $? = 0
configure:18718: test -s conftest.o
configure:18721: $? = 0
configure:18731: result: yes
configure:18735: checking sys/signal.h presence
configure:18745: gcc -E  conftest.c
configure:18751: $? = 0
configure:18771: result: yes
configure:18806: checking for sys/signal.h
configure:18813: result: yes
configure:18854: checking for unistd.h
configure:18859: result: yes
configure:19001: checking for getpagesize
configure:19029: gcc -o conftest.exe -g -O2   conftest.c  >&5
configure:19035: $? = 0
configure:19039: test -z 
			 || test ! -s conftest.err
configure:19042: $? = 0
configure:19045: test -s conftest.exe
configure:19048: $? = 0
configure:19060: result: yes
configure:19071: checking for sysconf(_SC_PAGESIZE)
configure:19099: gcc -o conftest.exe -g -O2   conftest.c  >&5
configure:19105: $? = 0
configure:19109: test -z 
			 || test ! -s conftest.err
configure:19112: $? = 0
configure:19115: test -s conftest.exe
configure:19118: $? = 0
configure:19130: result: yes
configure:19141: checking for PAGESIZE in limits.h
configure:19164: gcc -o conftest.exe -g -O2   conftest.c  >&5
conftest.c: In function 'main':
conftest.c:35: error: 'PAGESIZE' undeclared (first use in this function)
conftest.c:35: error: (Each undeclared identifier is reported only once
conftest.c:35: error: for each function it appears in.)
configure:19170: $? = 1
configure: failed program was:
| 
|       /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| /* end confdefs.h.  */
| #include <limits.h>
| int
| main ()
| {
| int pgsz = PAGESIZE;
|   ;
|   return 0;
| }
configure:19195: result: no
configure:19215: checking for mmap with MAP_ANON
configure:19298: gcc -o conftest.exe -g -O2   conftest.c  >&5
configure:19301: $? = 0
configure:19303: ./conftest.exe
configure:19306: $? = 0
configure:19321: result: yes
configure:19332: checking for mmap with MAP_ANONYMOUS
configure:19415: gcc -o conftest.exe -g -O2   conftest.c  >&5
configure:19418: $? = 0
configure:19420: ./conftest.exe
configure:19423: $? = 0
configure:19438: result: yes
configure:19449: checking for mmap of /dev/zero
configure:19543: gcc -o conftest.exe -g -O2   conftest.c  >&5
configure:19546: $? = 0
configure:19548: ./conftest.exe
configure:19551: $? = 0
configure:19566: result: yes
configure:19590: checking whether a fault handler according to POSIX works
configure:19752: gcc -o conftest.exe -g -O2   conftest.c  >&5
configure:19755: $? = 0
configure:19757: ./conftest.exe
configure:19760: $? = 3
configure: program exited with status 3
configure: failed program was:
| 
|       /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_ANONYMOUS 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| 
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, siginfo_t *sip, void *ucp)
| {
|   void *fault_address = (void *) (sip->si_addr);
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| action.sa_sigaction = &sigsegv_handler;
|    action.sa_flags = SA_SIGINFO;
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:19775: result: no
configure:19783: checking whether a fault handler according to Linux/i386 works
configure:19946: gcc -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:40:28: error: asm/sigcontext.h: No such file or directory
conftest.c:64: warning: 'struct sigcontext' declared inside parameter list
conftest.c:64: warning: its scope is only this definition or declaration, which is probably not what you want
conftest.c:64: error: parameter 2 ('sc') has incomplete type
configure:19949: $? = 1
configure: program exited with status 1
configure: failed program was:
| 
|       /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_ANONYMOUS 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| #include <asm/sigcontext.h>
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, struct sigcontext sc)
| {
|   void *fault_address = (void *) (sc.cr2);
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| 
|   action.sa_handler = (void (*) (int)) &sigsegv_handler;
|   action.sa_flags = 0;
| 
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:19969: result: no
configure:19977: checking whether a fault handler according to old Linux/i386 works
configure:20140: gcc -o conftest.exe -g -O2   conftest.c  >&5
configure:20143: $? = 0
configure:20145: ./conftest.exe
configure:20148: $? = 3
configure: program exited with status 3
configure: failed program was:
| 
|       /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_ANONYMOUS 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| 
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, unsigned int more)
| {
|   void *fault_address = (void *) (((unsigned long *) &more) [21]);
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| 
|   action.sa_handler = (void (*) (int)) &sigsegv_handler;
|   action.sa_flags = 0;
| 
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:20163: result: no
configure:20171: checking whether a fault handler according to Linux/m68k works
configure:20336: gcc -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:40:28: error: asm/sigcontext.h: No such file or directory
In file included from conftest.c:41:
./src/fault-linux-m68k.c:20: warning: 'struct sigcontext' declared inside parameter list
./src/fault-linux-m68k.c:20: warning: its scope is only this definition or declaration, which is probably not what you want
./src/fault-linux-m68k.c: In function 'get_fault_addr':
./src/fault-linux-m68k.c:22: error: dereferencing pointer to incomplete type
./src/fault-linux-m68k.c:23: error: invalid use of undefined type 'struct sigcontext'
conftest.c: At top level:
conftest.c:65: warning: 'struct sigcontext' declared inside parameter list
conftest.c: In function 'sigsegv_handler':
conftest.c:67: warning: passing argument 1 of 'get_fault_addr' from incompatible pointer type
configure:20339: $? = 1
configure: program exited with status 1
configure: failed program was:
| 
|       /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_ANONYMOUS 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| #include <asm/sigcontext.h>
| #include "./src/fault-linux-m68k.c"
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, int code, struct sigcontext *scp)
| {
|   void *fault_address = (void *) (get_fault_addr (scp));
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| 
|   action.sa_handler = (void (*) (int)) &sigsegv_handler;
|   action.sa_flags = 0;
| 
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:20359: result: no
configure:20367: checking whether a fault handler according to Linux/PowerPC works
configure:20530: gcc -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:40:28: error: asm/sigcontext.h: No such file or directory
conftest.c:64: warning: 'struct sigcontext' declared inside parameter list
conftest.c:64: warning: its scope is only this definition or declaration, which is probably not what you want
conftest.c: In function 'sigsegv_handler':
conftest.c:66: error: dereferencing pointer to incomplete type
configure:20533: $? = 1
configure: program exited with status 1
configure: failed program was:
| 
|       /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_ANONYMOUS 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| #include <asm/sigcontext.h>
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, struct sigcontext *scp)
| {
|   void *fault_address = (void *) (scp->regs->dar);
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| 
|   action.sa_handler = (void (*) (int)) &sigsegv_handler;
|   action.sa_flags = 0;
| 
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:20553: result: no
configure:20561: checking whether a fault handler according to Linux/HPPA works
configure:20723: gcc -o conftest.exe -g -O2   conftest.c  >&5
conftest.c: In function 'sigsegv_handler':
conftest.c:66: error: 'siginfo_t' has no member named 'si_ptr'
configure:20726: $? = 1
configure: program exited with status 1
configure: failed program was:
| 
|       /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_ANONYMOUS 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| 
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, siginfo_t *sip, void *ucp)
| {
|   void *fault_address = (void *) (sip->si_ptr);
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| action.sa_sigaction = &sigsegv_handler;
|    action.sa_flags = SA_SIGINFO;
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:20746: result: no
configure:20754: checking whether a fault handler according to BSD works
configure:20917: gcc -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:64: warning: 'struct sigcontext' declared inside parameter list
conftest.c:64: warning: its scope is only this definition or declaration, which is probably not what you want
configure:20920: $? = 0
configure:20922: ./conftest.exe
configure:20925: $? = 3
configure: program exited with status 3
configure: failed program was:
| 
|       /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_ANONYMOUS 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| 
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, int code, struct sigcontext *scp, void *addr)
| {
|   void *fault_address = (void *) (addr);
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| 
|   action.sa_handler = (void (*) (int)) &sigsegv_handler;
|   action.sa_flags = 0;
| 
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:20940: result: no
configure:20948: checking whether a fault handler according to IRIX works
configure:21111: gcc -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:64: warning: 'struct sigcontext' declared inside parameter list
conftest.c:64: warning: its scope is only this definition or declaration, which is probably not what you want
conftest.c: In function 'sigsegv_handler':
conftest.c:66: error: dereferencing pointer to incomplete type
configure:21114: $? = 1
configure: program exited with status 1
configure: failed program was:
| 
|       /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_ANONYMOUS 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| 
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, int code, struct sigcontext *scp)
| {
|   void *fault_address = (void *) ((unsigned long) scp->sc_badvaddr);
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| 
|   action.sa_handler = (void (*) (int)) &sigsegv_handler;
|   action.sa_flags = 0;
| 
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:21134: result: no
configure:21142: checking whether a fault handler according to HP-UX HPPA works
configure:21315: gcc -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:67: warning: 'struct sigcontext' declared inside parameter list
conftest.c:67: warning: its scope is only this definition or declaration, which is probably not what you want
conftest.c: In function 'sigsegv_handler':
conftest.c:69: error: dereferencing pointer to incomplete type
conftest.c:69: error: 'SS_WIDEREGS' undeclared (first use in this function)
conftest.c:69: error: (Each undeclared identifier is reported only once
conftest.c:69: error: for each function it appears in.)
conftest.c:69: error: dereferencing pointer to incomplete type
conftest.c:69: error: 'SS_NARROWISINVALID' undeclared (first use in this function)
conftest.c:69: error: dereferencing pointer to incomplete type
conftest.c:69: error: dereferencing pointer to incomplete type
configure:21318: $? = 1
configure: program exited with status 1
configure: failed program was:
| 
|       /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_ANONYMOUS 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| 
| #define USE_64BIT_REGS(mc)   (((mc).ss_flags & SS_WIDEREGS) && ((mc).ss_flags & SS_NARROWISINVALID))
| #define GET_CR21(mc)   (USE_64BIT_REGS(mc) ? (mc).ss_wide.ss_64.ss_cr21 : (mc).ss_narrow.ss_cr21)
| 
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, int code, struct sigcontext *scp)
| {
|   void *fault_address = (void *) (GET_CR21 (scp->sc_sl.sl_ss));
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| 
|   action.sa_handler = (void (*) (int)) &sigsegv_handler;
|   action.sa_flags = 0;
| 
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:21338: result: no
configure:21346: checking whether a fault handler according to OSF/1 Alpha works
configure:21509: gcc -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:64: warning: 'struct sigcontext' declared inside parameter list
conftest.c:64: warning: its scope is only this definition or declaration, which is probably not what you want
conftest.c: In function 'sigsegv_handler':
conftest.c:66: error: dereferencing pointer to incomplete type
configure:21512: $? = 1
configure: program exited with status 1
configure: failed program was:
| 
|       /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_ANONYMOUS 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| 
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, int code, struct sigcontext *scp)
| {
|   void *fault_address = (void *) (scp->sc_traparg_a0);
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| 
|   action.sa_handler = (void (*) (int)) &sigsegv_handler;
|   action.sa_flags = 0;
| 
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:21532: result: no
configure:21540: checking whether a fault handler according to NetBSD Alpha works
configure:21703: gcc -o conftest.exe -g -O2   conftest.c  >&5
In file included from conftest.c:40:
./src/fault-netbsd-alpha.c:23: warning: 'struct sigcontext' declared inside parameter list
./src/fault-netbsd-alpha.c:23: warning: its scope is only this definition or declaration, which is probably not what you want
./src/fault-netbsd-alpha.c: In function 'get_fault_addr':
./src/fault-netbsd-alpha.c:25: error: dereferencing pointer to incomplete type
./src/fault-netbsd-alpha.c:36: error: dereferencing pointer to incomplete type
conftest.c: At top level:
conftest.c:64: warning: 'struct sigcontext' declared inside parameter list
conftest.c: In function 'sigsegv_handler':
conftest.c:66: warning: passing argument 1 of 'get_fault_addr' from incompatible pointer type
configure:21706: $? = 1
configure: program exited with status 1
configure: failed program was:
| 
|       /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_ANONYMOUS 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| #include "./src/fault-netbsd-alpha.c"
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, int code, struct sigcontext *scp)
| {
|   void *fault_address = (void *) (get_fault_addr (scp));
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| 
|   action.sa_handler = (void (*) (int)) &sigsegv_handler;
|   action.sa_flags = 0;
| 
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:21726: result: no
configure:21734: checking whether a fault handler according to AIX works
configure:21897: gcc -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:64: warning: 'struct sigcontext' declared inside parameter list
conftest.c:64: warning: its scope is only this definition or declaration, which is probably not what you want
conftest.c: In function 'sigsegv_handler':
conftest.c:66: error: dereferencing pointer to incomplete type
configure:21900: $? = 1
configure: program exited with status 1
configure: failed program was:
| 
|       /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_ANONYMOUS 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| 
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, int code, struct sigcontext *scp)
| {
|   void *fault_address = (void *) (scp->sc_jmpbuf.jmp_context.o_vaddr);
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| 
|   action.sa_handler = (void (*) (int)) &sigsegv_handler;
|   action.sa_flags = 0;
| 
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:21920: result: no
configure:21928: checking whether a fault handler according to MacOSX/Darwin7 PowerPC works
configure:22090: gcc -o conftest.exe -g -O2   conftest.c  >&5
In file included from conftest.c:40:
./src/fault-macosdarwin7-powerpc.c:19:22: error: ucontext.h: No such file or directory
In file included from conftest.c:40:
./src/fault-macosdarwin7-powerpc.c:36: error: expected declaration specifiers or '...' before 'ucontext_t'
./src/fault-macosdarwin7-powerpc.c: In function 'get_fault_addr':
./src/fault-macosdarwin7-powerpc.c:39: error: 'ucp' undeclared (first use in this function)
./src/fault-macosdarwin7-powerpc.c:39: error: (Each undeclared identifier is reported only once
./src/fault-macosdarwin7-powerpc.c:39: error: for each function it appears in.)
conftest.c: At top level:
conftest.c:64: error: expected declaration specifiers or '...' before 'ucontext_t'
conftest.c: In function 'sigsegv_handler':
conftest.c:66: error: 'ucp' undeclared (first use in this function)
conftest.c:66: error: too many arguments to function 'get_fault_addr'
conftest.c: In function 'main':
conftest.c:103: warning: assignment from incompatible pointer type
configure:22093: $? = 1
configure: program exited with status 1
configure: failed program was:
| 
|       /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_ANONYMOUS 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| #include "./src/fault-macosdarwin7-powerpc.c"
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, siginfo_t *sip, ucontext_t *ucp)
| {
|   void *fault_address = (void *) (get_fault_addr (sip, ucp));
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| action.sa_sigaction = &sigsegv_handler;
|    action.sa_flags = SA_SIGINFO;
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:22113: result: no
configure:22122: checking whether a fault handler according to MacOSX/Darwin5 PowerPC works
configure:22285: gcc -o conftest.exe -g -O2   conftest.c  >&5
In file included from conftest.c:40:
./src/fault-macosdarwin5-powerpc.c:34: warning: 'struct sigcontext' declared inside parameter list
./src/fault-macosdarwin5-powerpc.c:34: warning: its scope is only this definition or declaration, which is probably not what you want
./src/fault-macosdarwin5-powerpc.c: In function 'get_fault_addr':
./src/fault-macosdarwin5-powerpc.c:36: error: dereferencing pointer to incomplete type
./src/fault-macosdarwin5-powerpc.c:37: error: dereferencing pointer to incomplete type
conftest.c: At top level:
conftest.c:64: warning: 'struct sigcontext' declared inside parameter list
conftest.c: In function 'sigsegv_handler':
conftest.c:66: warning: passing argument 1 of 'get_fault_addr' from incompatible pointer type
configure:22288: $? = 1
configure: program exited with status 1
configure: failed program was:
| 
|       /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_ANONYMOUS 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| #include "./src/fault-macosdarwin5-powerpc.c"
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, int code, struct sigcontext *scp)
| {
|   void *fault_address = (void *) (get_fault_addr (scp));
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| 
|   action.sa_handler = (void (*) (int)) &sigsegv_handler;
|   action.sa_flags = 0;
| 
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:22308: result: no
configure:22317: checking whether a fault handler according to Hurd works
configure:22480: gcc -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:64: warning: 'struct sigcontext' declared inside parameter list
conftest.c:64: warning: its scope is only this definition or declaration, which is probably not what you want
configure:22483: $? = 0
configure:22485: ./conftest.exe
configure:22488: $? = 3
configure: program exited with status 3
configure: failed program was:
| 
|       /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_ANONYMOUS 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| 
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, int code, struct sigcontext *scp)
| {
|   void *fault_address = (void *) (code);
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| 
|   action.sa_handler = (void (*) (int)) &sigsegv_handler;
|   action.sa_flags = 0;
| 
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:22503: result: no
configure:22761: checking for the fault handler specifics
configure:22772: result: fault-win32.h
configure:22794: checking if the system supports catching SIGSEGV
configure:22796: result: yes
configure:22806: checking for stack direction
configure:22903: result: grows down
configure:22911: checking for PIOCMAP in sys/procfs.h
configure:22933: gcc -o conftest.exe -g -O2   conftest.c  >&5
conftest.c: In function 'main':
conftest.c:40: error: 'PIOCNMAP' undeclared (first use in this function)
conftest.c:40: error: (Each undeclared identifier is reported only once
conftest.c:40: error: for each function it appears in.)
conftest.c:40: error: 'PIOCMAP' undeclared (first use in this function)
conftest.c:40: error: 'prmap_t' undeclared (first use in this function)
conftest.c:40: error: expected ';' before 'y'
configure:22939: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_ANONYMOUS 1
| #define HAVE_MMAP_DEVZERO 1
| #define CFG_FAULT "fault-win32.h"
| #define CFG_MACHFAULT "fault-none.h"
| #define STACK_DIRECTION -1
| /* end confdefs.h.  */
| #include <sys/procfs.h>
| int
| main ()
| {
| int x = PIOCNMAP + PIOCMAP; prmap_t y;
|   ;
|   return 0;
| }
configure:22965: result: no
configure:22971: checking for mincore
configure:23028: gcc -o conftest.exe -g -O2   conftest.c  >&5
/cygdrive/c/DOCUME~1/GRIZZA~1.SER/LOCALS~1/Temp/ccszTJls.o: In function `main':
/usr/src/libsigsegv-2.4/conftest.c:75: undefined reference to `_mincore'
/usr/src/libsigsegv-2.4/conftest.c:75: undefined reference to `_mincore'
collect2: ld returned 1 exit status
configure:23034: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_ANONYMOUS 1
| #define HAVE_MMAP_DEVZERO 1
| #define CFG_FAULT "fault-win32.h"
| #define CFG_MACHFAULT "fault-none.h"
| #define STACK_DIRECTION -1
| /* end confdefs.h.  */
| /* Define mincore to an innocuous variant, in case <limits.h> declares mincore.
|    For example, HP-UX 11i <limits.h> declares gettimeofday.  */
| #define mincore innocuous_mincore
| 
| /* System header to define __stub macros and hopefully few prototypes,
|     which can conflict with char mincore (); below.
|     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
|     <limits.h> exists even on freestanding compilers.  */
| 
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
| 
| #undef mincore
| 
| /* Override any gcc2 internal prototype to avoid an error.  */
| #ifdef __cplusplus
| extern "C"
| {
| #endif
| /* We use char because int might match the return type of a gcc2
|    builtin and then its argument prototype would still apply.  */
| char mincore ();
| /* The GNU C library defines this for functions which it implements
|     to always fail with ENOSYS.  Some functions are actually named
|     something starting with __ and the normal name is an alias.  */
| #if defined (__stub_mincore) || defined (__stub___mincore)
| choke me
| #else
| char (*f) () = mincore;
| #endif
| #ifdef __cplusplus
| }
| #endif
| 
| int
| main ()
| {
| return f != mincore;
|   ;
|   return 0;
| }
configure:23059: result: no
configure:23104: checking for getrlimit
configure:23161: gcc -o conftest.exe -g -O2   conftest.c  >&5
configure:23167: $? = 0
configure:23171: test -z 
			 || test ! -s conftest.err
configure:23174: $? = 0
configure:23177: test -s conftest.exe
configure:23180: $? = 0
configure:23192: result: yes
configure:23104: checking for setrlimit
configure:23161: gcc -o conftest.exe -g -O2   conftest.c  >&5
configure:23167: $? = 0
configure:23171: test -z 
			 || test ! -s conftest.err
configure:23174: $? = 0
configure:23177: test -s conftest.exe
configure:23180: $? = 0
configure:23192: result: yes
configure:23211: checking for sigaltstack
configure:23268: gcc -o conftest.exe -g -O2   conftest.c  >&5
/cygdrive/c/DOCUME~1/GRIZZA~1.SER/LOCALS~1/Temp/cccVNIjR.o: In function `main':
/usr/src/libsigsegv-2.4/conftest.c:78: undefined reference to `_sigaltstack'
/usr/src/libsigsegv-2.4/conftest.c:78: undefined reference to `_sigaltstack'
collect2: ld returned 1 exit status
configure:23274: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_ANONYMOUS 1
| #define HAVE_MMAP_DEVZERO 1
| #define CFG_FAULT "fault-win32.h"
| #define CFG_MACHFAULT "fault-none.h"
| #define STACK_DIRECTION -1
| #define CFG_STACKVMA "stackvma-none.c"
| #define HAVE_GETRLIMIT 1
| #define HAVE_SETRLIMIT 1
| /* end confdefs.h.  */
| /* Define sigaltstack to an innocuous variant, in case <limits.h> declares sigaltstack.
|    For example, HP-UX 11i <limits.h> declares gettimeofday.  */
| #define sigaltstack innocuous_sigaltstack
| 
| /* System header to define __stub macros and hopefully few prototypes,
|     which can conflict with char sigaltstack (); below.
|     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
|     <limits.h> exists even on freestanding compilers.  */
| 
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
| 
| #undef sigaltstack
| 
| /* Override any gcc2 internal prototype to avoid an error.  */
| #ifdef __cplusplus
| extern "C"
| {
| #endif
| /* We use char because int might match the return type of a gcc2
|    builtin and then its argument prototype would still apply.  */
| char sigaltstack ();
| /* The GNU C library defines this for functions which it implements
|     to always fail with ENOSYS.  Some functions are actually named
|     something starting with __ and the normal name is an alias.  */
| #if defined (__stub_sigaltstack) || defined (__stub___sigaltstack)
| choke me
| #else
| char (*f) () = sigaltstack;
| #endif
| #ifdef __cplusplus
| }
| #endif
| 
| int
| main ()
| {
| return f != sigaltstack;
|   ;
|   return 0;
| }
configure:23299: result: no
configure:23386: checking for working sigaltstack
configure:23595: result: no
configure:23606: checking if the system supports catching stack overflow
configure:23693: result: yes
configure:23716: checking whether a signal handler can be left through longjmp
configure:23806: gcc -o conftest.exe -g -O2   conftest.c  >&5
conftest.c: In function 'main':
conftest.c:74: error: 'stack_t' undeclared (first use in this function)
conftest.c:74: error: (Each undeclared identifier is reported only once
conftest.c:74: error: for each function it appears in.)
conftest.c:74: error: expected ';' before 'altstack'
conftest.c:86: error: 'altstack' undeclared (first use in this function)
conftest.c:94: error: 'SA_ONSTACK' undeclared (first use in this function)
configure:23809: $? = 1
configure: program exited with status 1
configure: failed program was:
| 
|       /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_ANONYMOUS 1
| #define HAVE_MMAP_DEVZERO 1
| #define CFG_FAULT "fault-win32.h"
| #define CFG_MACHFAULT "fault-none.h"
| #define STACK_DIRECTION -1
| #define CFG_STACKVMA "stackvma-none.c"
| #define HAVE_GETRLIMIT 1
| #define HAVE_SETRLIMIT 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #include <setjmp.h>
| 
| #if HAVE_SETRLIMIT
| # include <sys/types.h>
| # include <sys/time.h>
| # include <sys/resource.h>
| #endif
| jmp_buf mainloop;
| sigset_t mainsigset;
| int pass = 0;
| void stackoverflow_handler (int sig)
| {
|   pass++;
|   sigprocmask (SIG_SETMASK, &mainsigset, NULL);
|   {  }
|   longjmp (mainloop, pass);
| }
| volatile int * recurse_1 (volatile int n, volatile int *p)
| {
|   if (n >= 0)
|     *recurse_1 (n + 1, p) += n;
|   return p;
| }
| volatile int recurse (volatile int n)
| {
|   int sum = 0;
|   return *recurse_1 (n, &sum);
| }
| int main ()
| {
|   char mystack[16384];
|   stack_t altstack;
|   struct sigaction action;
|   sigset_t emptyset;
| #if defined HAVE_SETRLIMIT && defined RLIMIT_STACK
|   /* Before starting the endless recursion, try to be friendly to the user's
|      machine.  On some Linux 2.2.x systems, there is no stack limit for user
|      processes at all.  We don't want to kill such systems.  */
|   struct rlimit rl;
|   rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */
|   setrlimit (RLIMIT_STACK, &rl);
| #endif
|   /* Install the alternate stack.  */
|   altstack.ss_sp = mystack;
|   altstack.ss_size = sizeof (mystack);
|   altstack.ss_flags = 0; /* no SS_DISABLE */
|   if (sigaltstack (&altstack, NULL) < 0)
|     exit (1);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset (&action.sa_mask);
|   action.sa_handler = &stackoverflow_handler;
|   action.sa_flags = SA_ONSTACK;
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* Save the current signal mask.  */
|   sigemptyset (&emptyset);
|   sigprocmask (SIG_BLOCK, &emptyset, &mainsigset);
|   /* Provoke two stack overflows in a row.  */
|   if (setjmp (mainloop) < 2)
|     {
|       recurse (0);
|       exit (2);
|     }
|   exit (0);
| }
configure:23829: result: no
configure:23837: checking whether a signal handler can be left through longjmp and sigaltstack
configure:23937: gcc -o conftest.exe -g -O2   conftest.c  >&5
conftest.c: In function 'stackoverflow_handler':
conftest.c:61: error: 'stack_t' undeclared (first use in this function)
conftest.c:61: error: (Each undeclared identifier is reported only once
conftest.c:61: error: for each function it appears in.)
conftest.c:61: error: expected ';' before 'ss'
conftest.c:62: error: 'ss' undeclared (first use in this function)
conftest.c:64: error: 'SA_ONSTACK' undeclared (first use in this function)
conftest.c: In function 'main':
conftest.c:84: error: 'stack_t' undeclared (first use in this function)
conftest.c:84: error: expected ';' before 'altstack'
conftest.c:96: error: 'altstack' undeclared (first use in this function)
conftest.c:104: error: 'SA_ONSTACK' undeclared (first use in this function)
configure:23940: $? = 1
configure: program exited with status 1
configure: failed program was:
| 
|       /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_ANONYMOUS 1
| #define HAVE_MMAP_DEVZERO 1
| #define CFG_FAULT "fault-win32.h"
| #define CFG_MACHFAULT "fault-none.h"
| #define STACK_DIRECTION -1
| #define CFG_STACKVMA "stackvma-none.c"
| #define HAVE_GETRLIMIT 1
| #define HAVE_SETRLIMIT 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #include <setjmp.h>
| 
| #ifndef SS_ONSTACK
| #define SS_ONSTACK SA_ONSTACK
| #endif
| 
| #if HAVE_SETRLIMIT
| # include <sys/types.h>
| # include <sys/time.h>
| # include <sys/resource.h>
| #endif
| jmp_buf mainloop;
| sigset_t mainsigset;
| int pass = 0;
| void stackoverflow_handler (int sig)
| {
|   pass++;
|   sigprocmask (SIG_SETMASK, &mainsigset, NULL);
|   { stack_t ss;
|    if (sigaltstack (NULL, &ss) >= 0)
|      {
|        ss.ss_flags &= ~SS_ONSTACK;
|        sigaltstack (&ss, NULL);
|      }
|    }
|   longjmp (mainloop, pass);
| }
| volatile int * recurse_1 (volatile int n, volatile int *p)
| {
|   if (n >= 0)
|     *recurse_1 (n + 1, p) += n;
|   return p;
| }
| volatile int recurse (volatile int n)
| {
|   int sum = 0;
|   return *recurse_1 (n, &sum);
| }
| int main ()
| {
|   char mystack[16384];
|   stack_t altstack;
|   struct sigaction action;
|   sigset_t emptyset;
| #if defined HAVE_SETRLIMIT && defined RLIMIT_STACK
|   /* Before starting the endless recursion, try to be friendly to the user's
|      machine.  On some Linux 2.2.x systems, there is no stack limit for user
|      processes at all.  We don't want to kill such systems.  */
|   struct rlimit rl;
|   rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */
|   setrlimit (RLIMIT_STACK, &rl);
| #endif
|   /* Install the alternate stack.  */
|   altstack.ss_sp = mystack;
|   altstack.ss_size = sizeof (mystack);
|   altstack.ss_flags = 0; /* no SS_DISABLE */
|   if (sigaltstack (&altstack, NULL) < 0)
|     exit (1);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset (&action.sa_mask);
|   action.sa_handler = &stackoverflow_handler;
|   action.sa_flags = SA_ONSTACK;
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* Save the current signal mask.  */
|   sigemptyset (&emptyset);
|   sigprocmask (SIG_BLOCK, &emptyset, &mainsigset);
|   /* Provoke two stack overflows in a row.  */
|   if (setjmp (mainloop) < 2)
|     {
|       recurse (0);
|       exit (2);
|     }
|   exit (0);
| }
configure:23960: result: no
configure:23968: checking whether a signal handler can be left through longjmp and setcontext
configure:24073: gcc -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:44:22: error: ucontext.h: No such file or directory
conftest.c: In function 'stackoverflow_handler':
conftest.c:62: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'uc'
conftest.c:62: error: 'uc' undeclared (first use in this function)
conftest.c:62: error: (Each undeclared identifier is reported only once
conftest.c:62: error: for each function it appears in.)
conftest.c:66: error: 'SA_ONSTACK' undeclared (first use in this function)
conftest.c: In function 'main':
conftest.c:89: error: 'stack_t' undeclared (first use in this function)
conftest.c:89: error: expected ';' before 'altstack'
conftest.c:101: error: 'altstack' undeclared (first use in this function)
conftest.c:109: error: 'SA_ONSTACK' undeclared (first use in this function)
configure:24076: $? = 1
configure: program exited with status 1
configure: failed program was:
| 
|       /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_ANONYMOUS 1
| #define HAVE_MMAP_DEVZERO 1
| #define CFG_FAULT "fault-win32.h"
| #define CFG_MACHFAULT "fault-none.h"
| #define STACK_DIRECTION -1
| #define CFG_STACKVMA "stackvma-none.c"
| #define HAVE_GETRLIMIT 1
| #define HAVE_SETRLIMIT 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #include <setjmp.h>
| #include <ucontext.h>
| #ifndef SS_ONSTACK
| #define SS_ONSTACK SA_ONSTACK
| #endif
| 
| #if HAVE_SETRLIMIT
| # include <sys/types.h>
| # include <sys/time.h>
| # include <sys/resource.h>
| #endif
| jmp_buf mainloop;
| sigset_t mainsigset;
| int pass = 0;
| void stackoverflow_handler (int sig)
| {
|   pass++;
|   sigprocmask (SIG_SETMASK, &mainsigset, NULL);
|   { static int fl;
|    static ucontext_t uc;
|    fl = 0;
|    if (getcontext (&uc) >= 0)
|      if (fl == 0)
|        if (uc.uc_stack.ss_flags & SS_ONSTACK)
|          {
|            uc.uc_stack.ss_flags &= ~SS_ONSTACK;
|            fl = 1;
|            setcontext (&uc);
|          }
|    }
|   longjmp (mainloop, pass);
| }
| volatile int * recurse_1 (volatile int n, volatile int *p)
| {
|   if (n >= 0)
|     *recurse_1 (n + 1, p) += n;
|   return p;
| }
| volatile int recurse (volatile int n)
| {
|   int sum = 0;
|   return *recurse_1 (n, &sum);
| }
| int main ()
| {
|   char mystack[16384];
|   stack_t altstack;
|   struct sigaction action;
|   sigset_t emptyset;
| #if defined HAVE_SETRLIMIT && defined RLIMIT_STACK
|   /* Before starting the endless recursion, try to be friendly to the user's
|      machine.  On some Linux 2.2.x systems, there is no stack limit for user
|      processes at all.  We don't want to kill such systems.  */
|   struct rlimit rl;
|   rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */
|   setrlimit (RLIMIT_STACK, &rl);
| #endif
|   /* Install the alternate stack.  */
|   altstack.ss_sp = mystack;
|   altstack.ss_size = sizeof (mystack);
|   altstack.ss_flags = 0; /* no SS_DISABLE */
|   if (sigaltstack (&altstack, NULL) < 0)
|     exit (1);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset (&action.sa_mask);
|   action.sa_handler = &stackoverflow_handler;
|   action.sa_flags = SA_ONSTACK;
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* Save the current signal mask.  */
|   sigemptyset (&emptyset);
|   sigprocmask (SIG_BLOCK, &emptyset, &mainsigset);
|   /* Provoke two stack overflows in a row.  */
|   if (setjmp (mainloop) < 2)
|     {
|       recurse (0);
|       exit (2);
|     }
|   exit (0);
| }
configure:24096: result: no
configure:24118: checking whether a signal handler can be left through siglongjmp
configure:24206: gcc -o conftest.exe -g -O2   conftest.c  >&5
conftest.c: In function 'main':
conftest.c:72: error: 'stack_t' undeclared (first use in this function)
conftest.c:72: error: (Each undeclared identifier is reported only once
conftest.c:72: error: for each function it appears in.)
conftest.c:72: error: expected ';' before 'altstack'
conftest.c:87: error: 'altstack' undeclared (first use in this function)
conftest.c:95: error: 'SA_ONSTACK' undeclared (first use in this function)
configure:24209: $? = 1
configure: program exited with status 1
configure: failed program was:
| 
|       /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_ANONYMOUS 1
| #define HAVE_MMAP_DEVZERO 1
| #define CFG_FAULT "fault-win32.h"
| #define CFG_MACHFAULT "fault-none.h"
| #define STACK_DIRECTION -1
| #define CFG_STACKVMA "stackvma-none.c"
| #define HAVE_GETRLIMIT 1
| #define HAVE_SETRLIMIT 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #include <setjmp.h>
| 
| #if HAVE_SETRLIMIT
| # include <sys/types.h>
| # include <sys/time.h>
| # include <sys/resource.h>
| #endif
| sigjmp_buf mainloop;
| int pass = 0;
| void stackoverflow_handler (int sig)
| {
|   pass++;
|   {  }
|   siglongjmp (mainloop, pass);
| }
| volatile int * recurse_1 (volatile int n, volatile int *p)
| {
|   if (n >= 0)
|     *recurse_1 (n + 1, p) += n;
|   return p;
| }
| volatile int recurse (volatile int n)
| {
|   int sum = 0;
|   return *recurse_1 (n, &sum);
| }
| int main ()
| {
|   char mystack[16384];
|   stack_t altstack;
|   struct sigaction action;
| #ifdef __BEOS__
|   /* On BeOS, this would hang, burning CPU time.  Better fail than hang.  */
|   exit (1);
| #endif
| #if defined HAVE_SETRLIMIT && defined RLIMIT_STACK
|   /* Before starting the endless recursion, try to be friendly to the user's
|      machine.  On some Linux 2.2.x systems, there is no stack limit for user
|      processes at all.  We don't want to kill such systems.  */
|   struct rlimit rl;
|   rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */
|   setrlimit (RLIMIT_STACK, &rl);
| #endif
|   /* Install the alternate stack.  */
|   altstack.ss_sp = mystack;
|   altstack.ss_size = sizeof (mystack);
|   altstack.ss_flags = 0; /* no SS_DISABLE */
|   if (sigaltstack (&altstack, NULL) < 0)
|     exit (1);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset (&action.sa_mask);
|   action.sa_handler = &stackoverflow_handler;
|   action.sa_flags = SA_ONSTACK;
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* Provoke two stack overflows in a row.  */
|   if (sigsetjmp (mainloop, 1) < 2)
|     {
|       recurse (0);
|       exit (2);
|     }
|   exit (0);
| }
configure:24229: result: no
configure:24237: checking whether a signal handler can be left through siglongjmp and sigaltstack
configure:24335: gcc -o conftest.exe -g -O2   conftest.c  >&5
conftest.c: In function 'stackoverflow_handler':
conftest.c:59: error: 'stack_t' undeclared (first use in this function)
conftest.c:59: error: (Each undeclared identifier is reported only once
conftest.c:59: error: for each function it appears in.)
conftest.c:59: error: expected ';' before 'ss'
conftest.c:60: error: 'ss' undeclared (first use in this function)
conftest.c:62: error: 'SA_ONSTACK' undeclared (first use in this function)
conftest.c: In function 'main':
conftest.c:82: error: 'stack_t' undeclared (first use in this function)
conftest.c:82: error: expected ';' before 'altstack'
conftest.c:97: error: 'altstack' undeclared (first use in this function)
conftest.c:105: error: 'SA_ONSTACK' undeclared (first use in this function)
configure:24338: $? = 1
configure: program exited with status 1
configure: failed program was:
| 
|       /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_ANONYMOUS 1
| #define HAVE_MMAP_DEVZERO 1
| #define CFG_FAULT "fault-win32.h"
| #define CFG_MACHFAULT "fault-none.h"
| #define STACK_DIRECTION -1
| #define CFG_STACKVMA "stackvma-none.c"
| #define HAVE_GETRLIMIT 1
| #define HAVE_SETRLIMIT 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #include <setjmp.h>
| 
| #ifndef SS_ONSTACK
| #define SS_ONSTACK SA_ONSTACK
| #endif
| 
| #if HAVE_SETRLIMIT
| # include <sys/types.h>
| # include <sys/time.h>
| # include <sys/resource.h>
| #endif
| sigjmp_buf mainloop;
| int pass = 0;
| void stackoverflow_handler (int sig)
| {
|   pass++;
|   { stack_t ss;
|    if (sigaltstack (NULL, &ss) >= 0)
|      {
|        ss.ss_flags &= ~SS_ONSTACK;
|        sigaltstack (&ss, NULL);
|      }
|    }
|   siglongjmp (mainloop, pass);
| }
| volatile int * recurse_1 (volatile int n, volatile int *p)
| {
|   if (n >= 0)
|     *recurse_1 (n + 1, p) += n;
|   return p;
| }
| volatile int recurse (volatile int n)
| {
|   int sum = 0;
|   return *recurse_1 (n, &sum);
| }
| int main ()
| {
|   char mystack[16384];
|   stack_t altstack;
|   struct sigaction action;
| #ifdef __BEOS__
|   /* On BeOS, this would hang, burning CPU time.  Better fail than hang.  */
|   exit (1);
| #endif
| #if defined HAVE_SETRLIMIT && defined RLIMIT_STACK
|   /* Before starting the endless recursion, try to be friendly to the user's
|      machine.  On some Linux 2.2.x systems, there is no stack limit for user
|      processes at all.  We don't want to kill such systems.  */
|   struct rlimit rl;
|   rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */
|   setrlimit (RLIMIT_STACK, &rl);
| #endif
|   /* Install the alternate stack.  */
|   altstack.ss_sp = mystack;
|   altstack.ss_size = sizeof (mystack);
|   altstack.ss_flags = 0; /* no SS_DISABLE */
|   if (sigaltstack (&altstack, NULL) < 0)
|     exit (1);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset (&action.sa_mask);
|   action.sa_handler = &stackoverflow_handler;
|   action.sa_flags = SA_ONSTACK;
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* Provoke two stack overflows in a row.  */
|   if (sigsetjmp (mainloop, 1) < 2)
|     {
|       recurse (0);
|       exit (2);
|     }
|   exit (0);
| }
configure:24358: result: no
configure:24366: checking whether a signal handler can be left through siglongjmp and setcontext
configure:24469: gcc -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:44:22: error: ucontext.h: No such file or directory
conftest.c: In function 'stackoverflow_handler':
conftest.c:60: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'uc'
conftest.c:60: error: 'uc' undeclared (first use in this function)
conftest.c:60: error: (Each undeclared identifier is reported only once
conftest.c:60: error: for each function it appears in.)
conftest.c:64: error: 'SA_ONSTACK' undeclared (first use in this function)
conftest.c: In function 'main':
conftest.c:87: error: 'stack_t' undeclared (first use in this function)
conftest.c:87: error: expected ';' before 'altstack'
conftest.c:102: error: 'altstack' undeclared (first use in this function)
conftest.c:110: error: 'SA_ONSTACK' undeclared (first use in this function)
configure:24472: $? = 1
configure: program exited with status 1
configure: failed program was:
| 
|       /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.4"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_ANONYMOUS 1
| #define HAVE_MMAP_DEVZERO 1
| #define CFG_FAULT "fault-win32.h"
| #define CFG_MACHFAULT "fault-none.h"
| #define STACK_DIRECTION -1
| #define CFG_STACKVMA "stackvma-none.c"
| #define HAVE_GETRLIMIT 1
| #define HAVE_SETRLIMIT 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #include <setjmp.h>
| #include <ucontext.h>
| #ifndef SS_ONSTACK
| #define SS_ONSTACK SA_ONSTACK
| #endif
| 
| #if HAVE_SETRLIMIT
| # include <sys/types.h>
| # include <sys/time.h>
| # include <sys/resource.h>
| #endif
| sigjmp_buf mainloop;
| int pass = 0;
| void stackoverflow_handler (int sig)
| {
|   pass++;
|   { static int fl;
|    static ucontext_t uc;
|    fl = 0;
|    if (getcontext(&uc) >= 0)
|      if (fl == 0)
|        if (uc.uc_stack.ss_flags & SS_ONSTACK)
|          {
|            uc.uc_stack.ss_flags &= ~SS_ONSTACK;
|            fl = 1;
|            setcontext(&uc);
|          }
|    }
|   siglongjmp (mainloop, pass);
| }
| volatile int * recurse_1 (volatile int n, volatile int *p)
| {
|   if (n >= 0)
|     *recurse_1 (n + 1, p) += n;
|   return p;
| }
| volatile int recurse (volatile int n)
| {
|   int sum = 0;
|   return *recurse_1 (n, &sum);
| }
| int main ()
| {
|   char mystack[16384];
|   stack_t altstack;
|   struct sigaction action;
| #ifdef __BEOS__
|   /* On BeOS, this would hang, burning CPU time.  Better fail than hang.  */
|   exit (1);
| #endif
| #if defined HAVE_SETRLIMIT && defined RLIMIT_STACK
|   /* Before starting the endless recursion, try to be friendly to the user's
|      machine.  On some Linux 2.2.x systems, there is no stack limit for user
|      processes at all.  We don't want to kill such systems.  */
|   struct rlimit rl;
|   rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */
|   setrlimit (RLIMIT_STACK, &rl);
| #endif
|   /* Install the alternate stack.  */
|   altstack.ss_sp = mystack;
|   altstack.ss_size = sizeof (mystack);
|   altstack.ss_flags = 0; /* no SS_DISABLE */
|   if (sigaltstack (&altstack, NULL) < 0)
|     exit (1);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset (&action.sa_mask);
|   action.sa_handler = &stackoverflow_handler;
|   action.sa_flags = SA_ONSTACK;
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* Provoke two stack overflows in a row.  */
|   if (sigsetjmp (mainloop, 1) < 2)
|     {
|       recurse (0);
|       exit (2);
|     }
|   exit (0);
| }
configure:24492: result: no
configure:24551: checking whether to activate relocatable installation
configure:24566: result: no
configure:24689: creating ./config.status

## ---------------------- ##
## Running config.status. ##
## ---------------------- ##

This file was extended by config.status, which was
generated by GNU Autoconf 2.59.  Invocation command line was

  CONFIG_FILES    = 
  CONFIG_HEADERS  = 
  CONFIG_LINKS    = 
  CONFIG_COMMANDS = 
  $ ./config.status 

on TCSGrizzardD

config.status:727: creating Makefile
config.status:727: creating src/Makefile
config.status:727: creating src/sigsegv.h
config.status:727: creating tests/Makefile
config.status:831: creating config.h
config.status:1151: executing depfiles commands

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_build=i686-pc-cygwin
ac_cv_build_alias=i686-pc-cygwin
ac_cv_c_compiler_gnu=yes
ac_cv_cxx_compiler_gnu=yes
ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_CXXCPP_set=
ac_cv_env_CXXCPP_value=
ac_cv_env_CXXFLAGS_set=
ac_cv_env_CXXFLAGS_value=
ac_cv_env_CXX_set=
ac_cv_env_CXX_value=
ac_cv_env_F77_set=
ac_cv_env_F77_value=
ac_cv_env_FFLAGS_set=
ac_cv_env_FFLAGS_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_exeext=.exe
ac_cv_f77_compiler_gnu=yes
ac_cv_func_getrlimit=yes
ac_cv_func_mincore=no
ac_cv_func_setrlimit=yes
ac_cv_func_sigaltstack=no
ac_cv_header_dlfcn_h=yes
ac_cv_header_inttypes_h=yes
ac_cv_header_memory_h=yes
ac_cv_header_stdc=yes
ac_cv_header_stdint_h=yes
ac_cv_header_stdlib_h=yes
ac_cv_header_string_h=yes
ac_cv_header_strings_h=yes
ac_cv_header_sys_signal_h=yes
ac_cv_header_sys_stat_h=yes
ac_cv_header_sys_types_h=yes
ac_cv_header_unistd_h=yes
ac_cv_host=i686-pc-cygwin
ac_cv_host_alias=i686-pc-cygwin
ac_cv_objext=o
ac_cv_path_install='/usr/bin/install -c'
ac_cv_prog_AWK=gawk
ac_cv_prog_CPP='gcc -E'
ac_cv_prog_CXXCPP='g++ -E'
ac_cv_prog_ac_ct_AR=ar
ac_cv_prog_ac_ct_CC=gcc
ac_cv_prog_ac_ct_CXX=g++
ac_cv_prog_ac_ct_F77=g77
ac_cv_prog_ac_ct_RANLIB=ranlib
ac_cv_prog_ac_ct_STRIP=strip
ac_cv_prog_cc_g=yes
ac_cv_prog_cc_stdc=
ac_cv_prog_cxx_g=yes
ac_cv_prog_egrep='grep -E'
ac_cv_prog_f77_g=yes
ac_cv_prog_make_make_set=yes
am_cv_CC_dependencies_compiler_type=none
am_cv_CXX_dependencies_compiler_type=none
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd=func_win32_libid
lt_cv_file_magic_test_file=
lt_cv_ld_reload_flag=-r
lt_cv_objdir=.libs
lt_cv_path_LD=/usr/bin/ld
lt_cv_path_LDCXX=/usr/bin/ld
lt_cv_path_NM='/usr/bin/nm -B'
lt_cv_path_SED=/usr/bin/sed
lt_cv_prog_compiler_c_o=yes
lt_cv_prog_compiler_c_o_CXX=yes
lt_cv_prog_compiler_c_o_F77=yes
lt_cv_prog_compiler_rtti_exceptions=no
lt_cv_prog_gnu_ld=yes
lt_cv_prog_gnu_ldcxx=yes
lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ 	]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ 	][ 	]*_\([_A-Za-z][_A-Za-z0-9]*\)$/\1 _\2 \2/p'\'''
lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\) $/  {\"\1\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \([^ ]*\) \([^ ]*\)$/  {"\2", (lt_ptr) \&\2},/p'\'''
lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^. .* \(.*\)$/extern int \1;/p'\'''
lt_cv_sys_max_cmd_len=8192
lt_lt_cv_prog_compiler_c_o='"yes"'
lt_lt_cv_prog_compiler_c_o_CXX='"yes"'
lt_lt_cv_prog_compiler_c_o_F77='"yes"'
lt_lt_cv_sys_global_symbol_pipe='"sed -n -e '\''s/^.*[ 	]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ 	][ 	]*_\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 _\\2 \\2/p'\''"'
lt_lt_cv_sys_global_symbol_to_c_name_address='"sed -n -e '\''s/^: \\([^ ]*\\) \$/  {\\\"\\1\\\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/  {\"\\2\", (lt_ptr) \\&\\2},/p'\''"'
lt_lt_cv_sys_global_symbol_to_cdecl='"sed -n -e '\''s/^. .* \\(.*\\)\$/extern int \\1;/p'\''"'
sv_cv_fault_aix=no
sv_cv_fault_bsd=no
sv_cv_fault_hpux_hppa=no
sv_cv_fault_hurd=no
sv_cv_fault_include=fault-win32.h
sv_cv_fault_irix=no
sv_cv_fault_linux_hppa=no
sv_cv_fault_linux_i386=no
sv_cv_fault_linux_i386_old=no
sv_cv_fault_linux_m68k=no
sv_cv_fault_linux_powerpc=no
sv_cv_fault_macosdarwin5_ppc=no
sv_cv_fault_macosdarwin7_ppc=no
sv_cv_fault_netbsd_alpha=no
sv_cv_fault_osf_alpha=no
sv_cv_fault_posix=no
sv_cv_func_getpagesize=yes
sv_cv_func_mmap_anon=yes
sv_cv_func_mmap_anonymous=yes
sv_cv_func_mmap_devzero=yes
sv_cv_func_sysconf_pagesize=yes
sv_cv_have_sigsegv_recovery=yes
sv_cv_have_stack_overflow_recovery=yes
sv_cv_host=i686-pc-cygwin
sv_cv_leave_handler_longjmp=no
sv_cv_leave_handler_longjmp_setcontext=no
sv_cv_leave_handler_longjmp_sigaltstack=no
sv_cv_leave_handler_siglongjmp=no
sv_cv_leave_handler_siglongjmp_setcontext=no
sv_cv_leave_handler_siglongjmp_sigaltstack=no
sv_cv_macro_pagesize=no
sv_cv_procfsvma=no
sv_cv_sigaltstack=no
sv_cv_stack_direction=-1
sv_cv_stack_direction_msg='grows down'

## ----------------- ##
## Output variables. ##
## ----------------- ##

ACLOCAL='${SHELL} /usr/src/libsigsegv-2.4/build-aux/missing --run aclocal-1.9'
AMDEPBACKSLASH='\'
AMDEP_FALSE='#'
AMDEP_TRUE=''
AMTAR='${SHELL} /usr/src/libsigsegv-2.4/build-aux/missing --run tar'
AR='ar'
AUTOCONF='${SHELL} /usr/src/libsigsegv-2.4/build-aux/missing --run autoconf'
AUTOHEADER='${SHELL} /usr/src/libsigsegv-2.4/build-aux/missing --run autoheader'
AUTOMAKE='${SHELL} /usr/src/libsigsegv-2.4/build-aux/missing --run automake-1.9'
AWK='gawk'
CC='gcc'
CCDEPMODE='depmode=none'
CFG_HANDLER='handler-win32.c'
CFG_LEAVE='leave-none.c'
CFG_STACKVMA='stackvma-none.c'
CFLAGS='-g -O2'
CPP='gcc -E'
CPPFLAGS=''
CXX='g++'
CXXCPP='g++ -E'
CXXDEPMODE='depmode=none'
CXXFLAGS='-g -O2'
CYGPATH_W='cygpath -w'
DEFS='-DHAVE_CONFIG_H'
DEPDIR='.deps'
ECHO='echo'
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP='grep -E'
EXEEXT='.exe'
F77='g77'
FAULT_CONTEXT='CONTEXT'
FAULT_CONTEXT_INCLUDE2=''
FAULT_CONTEXT_INCLUDE='#include <windows.h>'
FFLAGS='-g -O2'
HAVE_SIGSEGV_RECOVERY='1'
HAVE_STACK_OVERFLOW_RECOVERY='1'
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s'
LDFLAGS=''
LIBOBJS=''
LIBS=''
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
LN_S='ln -s'
LTLIBOBJS=''
MAKEINFO='${SHELL} /usr/src/libsigsegv-2.4/build-aux/missing --run makeinfo'
OBJEXT='o'
PACKAGE='libsigsegv'
PACKAGE_BUGREPORT=''
PACKAGE_NAME=''
PACKAGE_STRING=''
PACKAGE_TARNAME=''
PACKAGE_VERSION=''
PATH_SEPARATOR=':'
PLATFORM='i686-pc-cygwin'
RANLIB='ranlib'
RELOCATABLE='no'
SET_MAKE=''
SHELL='/bin/sh'
STRIP='strip'
VERSION='2.4'
ac_ct_AR='ar'
ac_ct_CC='gcc'
ac_ct_CXX='g++'
ac_ct_F77='g77'
ac_ct_RANLIB='ranlib'
ac_ct_STRIP='strip'
am__fastdepCC_FALSE=''
am__fastdepCC_TRUE='#'
am__fastdepCXX_FALSE=''
am__fastdepCXX_TRUE='#'
am__include='include'
am__leading_dot='.'
am__quote=''
am__tar='${AMTAR} chof - "$$tardir"'
am__untar='${AMTAR} xf -'
bindir='${exec_prefix}/bin'
build='i686-pc-cygwin'
build_alias=''
build_cpu='i686'
build_os='cygwin'
build_vendor='pc'
datadir='${prefix}/share'
exec_prefix='${prefix}'
host='i686-pc-cygwin'
host_alias=''
host_cpu='i686'
host_os='cygwin'
host_vendor='pc'
includedir='${prefix}/include'
infodir='${prefix}/info'
install_sh='/usr/src/libsigsegv-2.4/build-aux/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localstatedir='${prefix}/var'
mandir='${prefix}/man'
mkdir_p='mkdir -p --'
oldincludedir='/usr/include'
prefix='/usr/local'
program_transform_name='s,x,x,'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''

## ----------- ##
## confdefs.h. ##
## ----------- ##

#define CFG_FAULT "fault-win32.h"
#define CFG_HANDLER "handler-win32.c"
#define CFG_LEAVE "leave-none.c"
#define CFG_MACHFAULT "fault-none.h"
#define CFG_SIGNALS "signals.h"
#define CFG_STACKVMA "stackvma-none.c"
#define HAVE_DLFCN_H 1
#define HAVE_GETPAGESIZE 1
#define HAVE_GETRLIMIT 1
#define HAVE_INTTYPES_H 1
#define HAVE_MEMORY_H 1
#define HAVE_MMAP_ANON 1
#define HAVE_MMAP_ANONYMOUS 1
#define HAVE_MMAP_DEVZERO 1
#define HAVE_SETRLIMIT 1
#define HAVE_STDINT_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRINGS_H 1
#define HAVE_STRING_H 1
#define HAVE_SYSCONF_PAGESIZE 1
#define HAVE_SYS_SIGNAL_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_UNISTD_H 1
#define HAVE_UNISTD_H 1
#define PACKAGE "libsigsegv"
#define PACKAGE_BUGREPORT ""
#define PACKAGE_NAME ""
#define PACKAGE_STRING ""
#define PACKAGE_TARNAME ""
#define PACKAGE_VERSION ""
#define STACK_DIRECTION -1
#define STDC_HEADERS 1
#define VERSION "2.4"
#endif
#ifdef __cplusplus
extern "C" void std::exit (int) throw (); using std::exit;

configure: exit 0
