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 --host=i386-pc-mingw32

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

hostname = dom-comp
uname -m = i686
uname -r = 1.5.21(0.156/4/2)
uname -s = CYGWIN_NT-5.1
uname -v = 2006-07-30 14:21

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

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

PATH: /usr/X11R6/bin
PATH: /usr/local/bin
PATH: /usr/bin
PATH: /bin
PATH: /cygdrive/c/Program Files/clisp-2.30
PATH: /cygdrive/c/Program Files/ActivePerl/bin/
PATH: /cygdrive/c/Perl/bin/
PATH: /cygdrive/c/program files/Inprise/vbroker/bin
PATH: /cygdrive/c/WINDOWS/system32
PATH: /cygdrive/c/WINDOWS
PATH: /cygdrive/c/WINDOWS/System32/Wbem
PATH: /cygdrive/c/PROGRA~1/Aldec/ACTIVE~1.1/BIN
PATH: /cygdrive/c/PROGRA~1/Borland/Delphi6/Bin
PATH: /cygdrive/c/PROGRA~1/Borland/Delphi6/Projects/Bpl
PATH: /cygdrive/c/Utils/Arch
PATH: /cygdrive/c/Program Files/Rational/common
PATH: /cygdrive/c/program files/MSSQL7/BINN
PATH: /cygdrive/c/Program Files/ghc/ghc-6.2.2/bin
PATH: /cygdrive/c/Tools/Doxygen
PATH: /cygdrive/c/svn/svn-win32-1.1.3/bin
PATH: /cygdrive/c/Program Files/clisp-2.30
PATH: /cygdrive/c/Program Files/apache-ant-1.6.5/bin
PATH: /cygdrive/c/PROGRA~1/nino/perl/bin
PATH: /cygdrive/c/Program Files/Java/jdk1.5.0_02/bin
PATH: /cygdrive/c/Program Files/Java/SunAppServer/bin
PATH: /cygdrive/c/Program Files/Microsoft Visual Studio/Common/Tools/WinNT
PATH: /cygdrive/c/Program Files/Microsoft Visual Studio/Common/MSDev98/Bin
PATH: /cygdrive/c/Program Files/Microsoft Visual Studio/Common/Tools
PATH: /cygdrive/c/Program Files/Microsoft Visual Studio/VC98/bin


## ----------- ##
## 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:1894: checking for i386-pc-mingw32-strip
configure:1923: result: no
configure:1932: checking for strip
configure:1948: found /usr/bin/strip
configure:1959: result: strip
configure:1997: checking for i386-pc-mingw32-gcc
configure:2023: result: gcc -mno-cygwin
configure:2305: checking for C compiler version
configure:2308: gcc -mno-cygwin --version </dev/null >&5
gcc (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:2311: $? = 0
configure:2313: gcc -mno-cygwin -v </dev/null >&5
Reading specs from /usr/lib/gcc/i686-pc-mingw32/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:2316: $? = 0
configure:2318: gcc -mno-cygwin -V </dev/null >&5
gcc: `-V' must come at the start of the command line
configure:2321: $? = 1
configure:2344: checking for C compiler default output file name
configure:2347: gcc -mno-cygwin    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 -mno-cygwin -o conftest.exe    conftest.c  >&5
configure:2444: $? = 0
configure:2469: result: .exe
configure:2475: checking for suffix of object files
configure:2496: gcc -mno-cygwin -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 -mno-cygwin -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 -mno-cygwin accepts -g
configure:2608: gcc -mno-cygwin -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 -mno-cygwin option to accept ANSI C
configure:2725: gcc -mno-cygwin  -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 -mno-cygwin -c -g -O2  conftest.c >&5
conftest.c:2: error: parse error 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 -mno-cygwin
configure:3076: result: none
configure:3098: checking how to run the C preprocessor
configure:3133: gcc -mno-cygwin -E  conftest.c
configure:3139: $? = 0
configure:3171: gcc -mno-cygwin -E  conftest.c
conftest.c:11:28: 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 -mno-cygwin -E
configure:3240: gcc -mno-cygwin -E  conftest.c
configure:3246: $? = 0
configure:3278: gcc -mno-cygwin -E  conftest.c
conftest.c:11:28: 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: i386-pc-mingw32
configure:3382: checking host platform
configure:3401: result: i386-pc-mingw32
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 -mno-cygwin
configure:3709: result: /usr/i686-pc-mingw32/bin/ld.exe
configure:3718: checking if the linker (/usr/i686-pc-mingw32/bin/ld.exe) is GNU ld
configure:3733: result: yes
configure:3738: checking for /usr/i686-pc-mingw32/bin/ld.exe option to reload object files
configure:3745: result: -r
configure:3763: checking for BSD-compatible nm
configure:3812: result: nm
configure:3816: checking whether ln -s works
configure:3820: result: yes
configure:3827: checking how to recognise dependent libraries
configure:4003: result: file_magic file format pei*-i386(.*architecture: i386)?
configure:4236: checking for ANSI C header files
configure:4261: gcc -mno-cygwin -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 -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
configure:4372: $? = 0
configure:4374: ./conftest.exe
configure:4377: $? = 0
configure:4392: result: yes
configure:4416: checking for sys/types.h
configure:4432: gcc -mno-cygwin -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 -mno-cygwin -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 -mno-cygwin -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 -mno-cygwin -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 -mno-cygwin -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 -mno-cygwin -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 -mno-cygwin -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 -mno-cygwin -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 -mno-cygwin -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 -mno-cygwin -c -g -O2  conftest.c >&5
conftest.c:55:19: dlfcn.h: No such file or directory
configure:4506: $? = 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
| /* end confdefs.h.  */
| #include <stdio.h>
| #if HAVE_SYS_TYPES_H
| # include <sys/types.h>
| #endif
| #if HAVE_SYS_STAT_H
| # include <sys/stat.h>
| #endif
| #if STDC_HEADERS
| # include <stdlib.h>
| # include <stddef.h>
| #else
| # if HAVE_STDLIB_H
| #  include <stdlib.h>
| # endif
| #endif
| #if HAVE_STRING_H
| # if !STDC_HEADERS && HAVE_MEMORY_H
| #  include <memory.h>
| # endif
| # include <string.h>
| #endif
| #if HAVE_STRINGS_H
| # include <strings.h>
| #endif
| #if HAVE_INTTYPES_H
| # include <inttypes.h>
| #else
| # if HAVE_STDINT_H
| #  include <stdint.h>
| # endif
| #endif
| #if HAVE_UNISTD_H
| # include <unistd.h>
| #endif
| #include <dlfcn.h>
configure:4529: result: no
configure:4533: checking dlfcn.h presence
configure:4543: gcc -mno-cygwin -E  conftest.c
conftest.c:21:19: dlfcn.h: No such file or directory
configure:4549: $? = 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
| /* end confdefs.h.  */
| #include <dlfcn.h>
configure:4569: result: no
configure:4604: checking for dlfcn.h
configure:4611: result: no
configure:4634: checking for i386-pc-mingw32-g++
configure:4663: result: no
configure:4634: checking for i386-pc-mingw32-c++
configure:4663: result: no
configure:4634: checking for i386-pc-mingw32-gpp
configure:4663: result: no
configure:4634: checking for i386-pc-mingw32-aCC
configure:4663: result: no
configure:4634: checking for i386-pc-mingw32-CC
configure:4663: result: no
configure:4634: checking for i386-pc-mingw32-cxx
configure:4663: result: no
configure:4634: checking for i386-pc-mingw32-cc++
configure:4663: result: no
configure:4634: checking for i386-pc-mingw32-cl
configure:4663: result: no
configure:4634: checking for i386-pc-mingw32-FCC
configure:4663: result: no
configure:4634: checking for i386-pc-mingw32-KCC
configure:4663: result: no
configure:4634: checking for i386-pc-mingw32-RCC
configure:4663: result: no
configure:4634: checking for i386-pc-mingw32-xlC_r
configure:4663: result: no
configure:4634: checking for i386-pc-mingw32-xlC
configure:4663: result: no
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:25: error: `exit' undeclared (first use this function)
conftest.cc:25: 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
| /* 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:24: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
| #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:24: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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:5335: checking for i386-pc-mingw32-g77
configure:5364: result: no
configure:5335: checking for i386-pc-mingw32-f77
configure:5364: result: no
configure:5335: checking for i386-pc-mingw32-xlf
configure:5364: result: no
configure:5335: checking for i386-pc-mingw32-frt
configure:5364: result: no
configure:5335: checking for i386-pc-mingw32-pgf77
configure:5364: result: no
configure:5335: checking for i386-pc-mingw32-fort77
configure:5364: result: no
configure:5335: checking for i386-pc-mingw32-fl32
configure:5364: result: no
configure:5335: checking for i386-pc-mingw32-af77
configure:5364: result: no
configure:5335: checking for i386-pc-mingw32-f90
configure:5364: result: no
configure:5335: checking for i386-pc-mingw32-xlf90
configure:5364: result: no
configure:5335: checking for i386-pc-mingw32-pgf90
configure:5364: result: no
configure:5335: checking for i386-pc-mingw32-epcf90
configure:5364: result: no
configure:5335: checking for i386-pc-mingw32-f95
configure:5364: result: no
configure:5335: checking for i386-pc-mingw32-fort
configure:5364: result: no
configure:5335: checking for i386-pc-mingw32-xlf95
configure:5364: result: no
configure:5335: checking for i386-pc-mingw32-ifc
configure:5364: result: no
configure:5335: checking for i386-pc-mingw32-efc
configure:5364: result: no
configure:5335: checking for i386-pc-mingw32-pgf95
configure:5364: result: no
configure:5335: checking for i386-pc-mingw32-lf95
configure:5364: result: no
configure:5335: checking for i386-pc-mingw32-gfortran
configure:5364: result: no
configure:5377: checking for g77
configure:5406: result: no
configure:5377: checking for f77
configure:5406: result: no
configure:5377: checking for xlf
configure:5406: result: no
configure:5377: checking for frt
configure:5406: result: no
configure:5377: checking for pgf77
configure:5406: result: no
configure:5377: checking for fort77
configure:5406: result: no
configure:5377: checking for fl32
configure:5406: result: no
configure:5377: checking for af77
configure:5406: result: no
configure:5377: checking for f90
configure:5406: result: no
configure:5377: checking for xlf90
configure:5406: result: no
configure:5377: checking for pgf90
configure:5406: result: no
configure:5377: checking for epcf90
configure:5406: result: no
configure:5377: checking for f95
configure:5406: result: no
configure:5377: checking for fort
configure:5406: result: no
configure:5377: checking for xlf95
configure:5406: result: no
configure:5377: checking for ifc
configure:5406: result: no
configure:5377: checking for efc
configure:5406: result: no
configure:5377: checking for pgf95
configure:5406: result: no
configure:5377: checking for lf95
configure:5406: result: no
configure:5377: checking for gfortran
configure:5406: result: no
configure:5418: checking for Fortran 77 compiler version
configure:5421:  --version </dev/null >&5
./configure: line 5422: --version: command not found
configure:5424: $? = 127
configure:5426:  -v </dev/null >&5
./configure: line 5427: -v: command not found
configure:5429: $? = 127
configure:5431:  -V </dev/null >&5
./configure: line 5432: -V: command not found
configure:5434: $? = 127
configure:5442: checking whether we are using the GNU Fortran 77 compiler
configure:5456:  -c  conftest.F >&5
./configure: line 5457: -c: command not found
configure:5462: $? = 127
configure: failed program was:
|       program main
| #ifndef __GNUC__
|        choke me
| #endif
| 
|       end
configure:5488: result: no
configure:5494: checking whether  accepts -g
configure:5506:  -c -g conftest.f >&5
./configure: line 5507: -c: command not found
configure:5512: $? = 127
configure: failed program was:
|       program main
| 
|       end
configure:5537: result: no
configure:5567: checking the maximum length of command line arguments
configure:5676: result: 8192
configure:5687: checking command to parse nm output from gcc -mno-cygwin object
configure:5792: gcc -mno-cygwin -c -g -O2  conftest.c >&5
configure:5795: $? = 0
configure:5799: nm 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 -mno-cygwin -c -g -O2  conftest.c >&5
configure:5795: $? = 0
configure:5799: nm 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 -mno-cygwin -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:5966: checking for i386-pc-mingw32-ar
configure:5995: result: no
configure:6004: checking for ar
configure:6020: found /usr/bin/ar
configure:6031: result: ar
configure:6046: checking for i386-pc-mingw32-ranlib
configure:6075: result: no
configure:6084: checking for ranlib
configure:6100: found /usr/bin/ranlib
configure:6111: result: ranlib
configure:6126: checking for i386-pc-mingw32-strip
configure:6152: result: strip
configure:6467: checking if gcc -mno-cygwin supports -fno-rtti -fno-exceptions
configure:6485: gcc -mno-cygwin -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 -mno-cygwin option to produce PIC
configure:6727: result: -DDLL_EXPORT
configure:6735: checking if gcc -mno-cygwin PIC flag -DDLL_EXPORT works
configure:6753: gcc -mno-cygwin -c -g -O2  -DDLL_EXPORT -DPIC conftest.c >&5
configure:6757: $? = 0
configure:6770: result: yes
configure:6798: checking if gcc -mno-cygwin static flag -static works
configure:6826: result: yes
configure:6836: checking if gcc -mno-cygwin supports -c -o file.o
configure:6857: gcc -mno-cygwin -c -g -O2  -o out/conftest2.o conftest.c >&5
configure:6861: $? = 0
configure:6883: result: yes
configure:6909: checking whether the gcc -mno-cygwin linker (/usr/i686-pc-mingw32/bin/ld.exe) 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/i686-pc-mingw32/bin/ld.exe
configure:10198: checking if the linker (/usr/i686-pc-mingw32/bin/ld.exe) is GNU ld
configure:10213: result: yes
configure:10264: checking whether the g++ linker (/usr/i686-pc-mingw32/bin/ld.exe) 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: -DDLL_EXPORT
configure:11628: checking if g++ PIC flag -DDLL_EXPORT works
configure:11646: g++ -c -g -O2  -DDLL_EXPORT -DPIC conftest.cpp >&5
configure:11650: $? = 0
configure:11663: result: yes
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/i686-pc-mingw32/bin/ld.exe) 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:18690: checking sys/signal.h usability
configure:18702: gcc -mno-cygwin -c -g -O2  conftest.c >&5
conftest.c:58:24: sys/signal.h: No such file or directory
configure:18708: $? = 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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| /* end confdefs.h.  */
| #include <stdio.h>
| #if HAVE_SYS_TYPES_H
| # include <sys/types.h>
| #endif
| #if HAVE_SYS_STAT_H
| # include <sys/stat.h>
| #endif
| #if STDC_HEADERS
| # include <stdlib.h>
| # include <stddef.h>
| #else
| # if HAVE_STDLIB_H
| #  include <stdlib.h>
| # endif
| #endif
| #if HAVE_STRING_H
| # if !STDC_HEADERS && HAVE_MEMORY_H
| #  include <memory.h>
| # endif
| # include <string.h>
| #endif
| #if HAVE_STRINGS_H
| # include <strings.h>
| #endif
| #if HAVE_INTTYPES_H
| # include <inttypes.h>
| #else
| # if HAVE_STDINT_H
| #  include <stdint.h>
| # endif
| #endif
| #if HAVE_UNISTD_H
| # include <unistd.h>
| #endif
| #include <sys/signal.h>
configure:18731: result: no
configure:18735: checking sys/signal.h presence
configure:18745: gcc -mno-cygwin -E  conftest.c
conftest.c:24:24: sys/signal.h: No such file or directory
configure:18751: $? = 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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| /* end confdefs.h.  */
| #include <sys/signal.h>
configure:18771: result: no
configure:18806: checking for sys/signal.h
configure:18813: result: no
configure:18854: checking for unistd.h
configure:18859: result: yes
configure:19001: checking for getpagesize
configure:19029: gcc -mno-cygwin -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 -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
conftest.c: In function `main':
conftest.c:37: error: `_SC_PAGESIZE' undeclared (first use in this function)
conftest.c:37: error: (Each undeclared identifier is reported only once
conftest.c:37: error: for each function it appears in.)
configure:19105: $? = 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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| /* end confdefs.h.  */
| 
| #if HAVE_UNISTD_H
| #include <sys/types.h>
| #include <unistd.h>
| #endif
| 
| int
| main ()
| {
| int pgsz = sysconf (_SC_PAGESIZE);
|   ;
|   return 0;
| }
configure:19130: result: no
configure:19141: checking for PAGESIZE in limits.h
configure:19164: gcc -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
conftest.c: In function `main':
conftest.c:32: error: `PAGESIZE' undeclared (first use in this function)
conftest.c:32: error: (Each undeclared identifier is reported only once
conftest.c:32: 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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 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 -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:30:22: sys/mman.h: No such file or directory
conftest.c: In function `main':
conftest.c:33: error: `PROT_READ' undeclared (first use in this function)
conftest.c:33: error: (Each undeclared identifier is reported only once
conftest.c:33: error: for each function it appears in.)
conftest.c:33: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c:33: error: `MAP_ANON' undeclared (first use in this function)
conftest.c:33: error: `MAP_PRIVATE' undeclared (first use in this function)
conftest.c:33: warning: initialization makes pointer from integer without a cast
configure:19301: $? = 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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| /* end confdefs.h.  */
| 
| #include <sys/types.h>
| #include <sys/mman.h>
| int main ()
| {
|   void *p = mmap (0, 0x10000, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE, -1, 0);
|   return (p == (void *)(-1));
| }
configure:19321: result: no
configure:19332: checking for mmap with MAP_ANONYMOUS
configure:19415: gcc -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:30:22: sys/mman.h: No such file or directory
conftest.c: In function `main':
conftest.c:33: error: `PROT_READ' undeclared (first use in this function)
conftest.c:33: error: (Each undeclared identifier is reported only once
conftest.c:33: error: for each function it appears in.)
conftest.c:33: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c:33: error: `MAP_ANONYMOUS' undeclared (first use in this function)
conftest.c:33: error: `MAP_PRIVATE' undeclared (first use in this function)
conftest.c:33: warning: initialization makes pointer from integer without a cast
configure:19418: $? = 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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| /* end confdefs.h.  */
| 
| #include <sys/types.h>
| #include <sys/mman.h>
| int main ()
| {
|   void *p = mmap (0, 0x10000, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
|   return (p == (void *)(-1));
| }
configure:19438: result: no
configure:19449: checking for mmap of /dev/zero
configure:19543: gcc -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:30:22: sys/mman.h: No such file or directory
conftest.c: In function `main':
conftest.c:41: error: `PROT_READ' undeclared (first use in this function)
conftest.c:41: error: (Each undeclared identifier is reported only once
conftest.c:41: error: for each function it appears in.)
conftest.c:41: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c:41: error: `MAP_PRIVATE' undeclared (first use in this function)
conftest.c:41: warning: assignment makes pointer from integer without a cast
configure:19546: $? = 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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| /* end confdefs.h.  */
| 
| #include <sys/types.h>
| #include <sys/mman.h>
| #include <fcntl.h>
| #ifndef MAP_FILE
| #define MAP_FILE 0
| #endif
| int main ()
| {
|   int fd;
|   void *p;
|   fd = open ("/dev/zero", O_RDONLY, 0666);
|   if (fd < 0) return 1;
|   p = mmap (0, 0x10000, PROT_READ | PROT_WRITE, MAP_FILE | MAP_PRIVATE, fd, 0);
|   return (p == (void *)(-1));
| }
configure:19566: result: no
configure:19590: checking whether a fault handler according to POSIX works
configure:19752: gcc -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:36:22: sys/mman.h: No such file or directory
conftest.c:58: error: parse error before "siginfo_t"
conftest.c: In function `sigsegv_handler':
conftest.c:60: error: `sip' 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:66: error: `PROT_READ' undeclared (first use in this function)
conftest.c:66: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c: In function `main':
conftest.c:76: error: storage size of 'action' isn't known
conftest.c:87: error: `PROT_READ' undeclared (first use in this function)
conftest.c:87: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c:87: error: `map_flags' undeclared (first use in this function)
conftest.c:87: error: `zero_fd' undeclared (first use in this function)
conftest.c:87: warning: assignment makes pointer from integer without a cast
conftest.c:98: error: `SA_SIGINFO' undeclared (first use in this function)
conftest.c:100: error: `SIGBUS' undeclared (first use in this function)
configure:19755: $? = 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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 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 -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:34:28: asm/sigcontext.h: No such file or directory
conftest.c:36:22: sys/mman.h: No such file or directory
conftest.c:58: warning: "struct sigcontext" declared inside parameter list
conftest.c:58: warning: its scope is only this definition or declaration, which is probably not what you want
conftest.c:59: error: parameter `sc' has incomplete type
conftest.c: In function `sigsegv_handler':
conftest.c:66: error: `PROT_READ' undeclared (first use in this function)
conftest.c:66: error: (Each undeclared identifier is reported only once
conftest.c:66: error: for each function it appears in.)
conftest.c:66: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c: In function `main':
conftest.c:76: error: storage size of 'action' isn't known
conftest.c:87: error: `PROT_READ' undeclared (first use in this function)
conftest.c:87: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c:87: error: `map_flags' undeclared (first use in this function)
conftest.c:87: error: `zero_fd' undeclared (first use in this function)
conftest.c:87: warning: assignment makes pointer from integer without a cast
conftest.c:102: error: `SIGBUS' undeclared (first use in this function)
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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 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 -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:36:22: sys/mman.h: No such file or directory
conftest.c: In function `sigsegv_handler':
conftest.c:66: error: `PROT_READ' undeclared (first use in this function)
conftest.c:66: error: (Each undeclared identifier is reported only once
conftest.c:66: error: for each function it appears in.)
conftest.c:66: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c: In function `main':
conftest.c:76: error: storage size of 'action' isn't known
conftest.c:87: error: `PROT_READ' undeclared (first use in this function)
conftest.c:87: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c:87: error: `map_flags' undeclared (first use in this function)
conftest.c:87: error: `zero_fd' undeclared (first use in this function)
conftest.c:87: warning: assignment makes pointer from integer without a cast
conftest.c:102: error: `SIGBUS' undeclared (first use in this function)
configure:20143: $? = 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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 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 -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:34:28: asm/sigcontext.h: No such file or directory
In file included from conftest.c:35:
./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:37:22: sys/mman.h: No such file or directory
conftest.c: At top level:
conftest.c:59: warning: "struct sigcontext" declared inside parameter list
conftest.c: In function `sigsegv_handler':
conftest.c:67: error: `PROT_READ' undeclared (first use in this function)
conftest.c:67: error: (Each undeclared identifier is reported only once
conftest.c:67: error: for each function it appears in.)
conftest.c:67: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c: In function `main':
conftest.c:77: error: storage size of 'action' isn't known
conftest.c:88: error: `PROT_READ' undeclared (first use in this function)
conftest.c:88: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c:88: error: `map_flags' undeclared (first use in this function)
conftest.c:88: error: `zero_fd' undeclared (first use in this function)
conftest.c:88: warning: assignment makes pointer from integer without a cast
conftest.c:103: error: `SIGBUS' undeclared (first use in this function)
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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 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 -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:34:28: asm/sigcontext.h: No such file or directory
conftest.c:36:22: sys/mman.h: No such file or directory
conftest.c:58: warning: "struct sigcontext" declared inside parameter list
conftest.c:58: warning: its scope is only this definition or declaration, which is probably not what you want
conftest.c: In function `sigsegv_handler':
conftest.c:60: error: dereferencing pointer to incomplete type
conftest.c:66: error: `PROT_READ' undeclared (first use in this function)
conftest.c:66: error: (Each undeclared identifier is reported only once
conftest.c:66: error: for each function it appears in.)
conftest.c:66: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c: In function `main':
conftest.c:76: error: storage size of 'action' isn't known
conftest.c:87: error: `PROT_READ' undeclared (first use in this function)
conftest.c:87: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c:87: error: `map_flags' undeclared (first use in this function)
conftest.c:87: error: `zero_fd' undeclared (first use in this function)
conftest.c:87: warning: assignment makes pointer from integer without a cast
conftest.c:102: error: `SIGBUS' undeclared (first use in this function)
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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 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 -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:36:22: sys/mman.h: No such file or directory
conftest.c:58: error: parse error before "siginfo_t"
conftest.c: In function `sigsegv_handler':
conftest.c:60: error: `sip' 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:66: error: `PROT_READ' undeclared (first use in this function)
conftest.c:66: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c: In function `main':
conftest.c:76: error: storage size of 'action' isn't known
conftest.c:87: error: `PROT_READ' undeclared (first use in this function)
conftest.c:87: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c:87: error: `map_flags' undeclared (first use in this function)
conftest.c:87: error: `zero_fd' undeclared (first use in this function)
conftest.c:87: warning: assignment makes pointer from integer without a cast
conftest.c:98: error: `SA_SIGINFO' undeclared (first use in this function)
conftest.c:100: error: `SIGBUS' undeclared (first use in this function)
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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 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 -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:36:22: sys/mman.h: No such file or directory
conftest.c:58: warning: "struct sigcontext" declared inside parameter list
conftest.c:58: 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: `PROT_READ' undeclared (first use in this function)
conftest.c:66: error: (Each undeclared identifier is reported only once
conftest.c:66: error: for each function it appears in.)
conftest.c:66: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c: In function `main':
conftest.c:76: error: storage size of 'action' isn't known
conftest.c:87: error: `PROT_READ' undeclared (first use in this function)
conftest.c:87: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c:87: error: `map_flags' undeclared (first use in this function)
conftest.c:87: error: `zero_fd' undeclared (first use in this function)
conftest.c:87: warning: assignment makes pointer from integer without a cast
conftest.c:102: error: `SIGBUS' undeclared (first use in this function)
configure:20920: $? = 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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 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 -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:36:22: sys/mman.h: No such file or directory
conftest.c:58: warning: "struct sigcontext" declared inside parameter list
conftest.c:58: warning: its scope is only this definition or declaration, which is probably not what you want
conftest.c: In function `sigsegv_handler':
conftest.c:60: error: dereferencing pointer to incomplete type
conftest.c:66: error: `PROT_READ' undeclared (first use in this function)
conftest.c:66: error: (Each undeclared identifier is reported only once
conftest.c:66: error: for each function it appears in.)
conftest.c:66: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c: In function `main':
conftest.c:76: error: storage size of 'action' isn't known
conftest.c:87: error: `PROT_READ' undeclared (first use in this function)
conftest.c:87: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c:87: error: `map_flags' undeclared (first use in this function)
conftest.c:87: error: `zero_fd' undeclared (first use in this function)
conftest.c:87: warning: assignment makes pointer from integer without a cast
conftest.c:102: error: `SIGBUS' undeclared (first use in this function)
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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 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 -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:39:22: sys/mman.h: No such file or directory
conftest.c:61: warning: "struct sigcontext" declared inside parameter list
conftest.c:61: warning: its scope is only this definition or declaration, which is probably not what you want
conftest.c: In function `sigsegv_handler':
conftest.c:63: error: dereferencing pointer to incomplete type
conftest.c:63: error: `SS_WIDEREGS' undeclared (first use in this function)
conftest.c:63: error: (Each undeclared identifier is reported only once
conftest.c:63: error: for each function it appears in.)
conftest.c:63: error: dereferencing pointer to incomplete type
conftest.c:63: error: `SS_NARROWISINVALID' undeclared (first use in this function)
conftest.c:63: error: dereferencing pointer to incomplete type
conftest.c:63: error: dereferencing pointer to incomplete type
conftest.c:69: error: `PROT_READ' undeclared (first use in this function)
conftest.c:69: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c: In function `main':
conftest.c:79: error: storage size of 'action' isn't known
conftest.c:90: error: `PROT_READ' undeclared (first use in this function)
conftest.c:90: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c:90: error: `map_flags' undeclared (first use in this function)
conftest.c:90: error: `zero_fd' undeclared (first use in this function)
conftest.c:90: warning: assignment makes pointer from integer without a cast
conftest.c:105: error: `SIGBUS' undeclared (first use in this function)
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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 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 -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:36:22: sys/mman.h: No such file or directory
conftest.c:58: warning: "struct sigcontext" declared inside parameter list
conftest.c:58: warning: its scope is only this definition or declaration, which is probably not what you want
conftest.c: In function `sigsegv_handler':
conftest.c:60: error: dereferencing pointer to incomplete type
conftest.c:66: error: `PROT_READ' undeclared (first use in this function)
conftest.c:66: error: (Each undeclared identifier is reported only once
conftest.c:66: error: for each function it appears in.)
conftest.c:66: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c: In function `main':
conftest.c:76: error: storage size of 'action' isn't known
conftest.c:87: error: `PROT_READ' undeclared (first use in this function)
conftest.c:87: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c:87: error: `map_flags' undeclared (first use in this function)
conftest.c:87: error: `zero_fd' undeclared (first use in this function)
conftest.c:87: warning: assignment makes pointer from integer without a cast
conftest.c:102: error: `SIGBUS' undeclared (first use in this function)
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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 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 -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
In file included from conftest.c:34:
./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:36:22: sys/mman.h: No such file or directory
conftest.c: At top level:
conftest.c:58: warning: "struct sigcontext" declared inside parameter list
conftest.c: In function `sigsegv_handler':
conftest.c:66: error: `PROT_READ' undeclared (first use in this function)
conftest.c:66: error: (Each undeclared identifier is reported only once
conftest.c:66: error: for each function it appears in.)
conftest.c:66: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c: In function `main':
conftest.c:76: error: storage size of 'action' isn't known
conftest.c:87: error: `PROT_READ' undeclared (first use in this function)
conftest.c:87: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c:87: error: `map_flags' undeclared (first use in this function)
conftest.c:87: error: `zero_fd' undeclared (first use in this function)
conftest.c:87: warning: assignment makes pointer from integer without a cast
conftest.c:102: error: `SIGBUS' undeclared (first use in this function)
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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 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 -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:36:22: sys/mman.h: No such file or directory
conftest.c:58: warning: "struct sigcontext" declared inside parameter list
conftest.c:58: warning: its scope is only this definition or declaration, which is probably not what you want
conftest.c: In function `sigsegv_handler':
conftest.c:60: error: dereferencing pointer to incomplete type
conftest.c:66: error: `PROT_READ' undeclared (first use in this function)
conftest.c:66: error: (Each undeclared identifier is reported only once
conftest.c:66: error: for each function it appears in.)
conftest.c:66: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c: In function `main':
conftest.c:76: error: storage size of 'action' isn't known
conftest.c:87: error: `PROT_READ' undeclared (first use in this function)
conftest.c:87: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c:87: error: `map_flags' undeclared (first use in this function)
conftest.c:87: error: `zero_fd' undeclared (first use in this function)
conftest.c:87: warning: assignment makes pointer from integer without a cast
conftest.c:102: error: `SIGBUS' undeclared (first use in this function)
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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 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 -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
In file included from conftest.c:34:
./src/fault-macosdarwin7-powerpc.c:19:22: ucontext.h: No such file or directory
In file included from conftest.c:34:
./src/fault-macosdarwin7-powerpc.c:36: error: parse error before '*' token
./src/fault-macosdarwin7-powerpc.c: In function `get_fault_addr':
./src/fault-macosdarwin7-powerpc.c:38: error: `sip' undeclared (first use in this function)
./src/fault-macosdarwin7-powerpc.c:38: error: (Each undeclared identifier is reported only once
./src/fault-macosdarwin7-powerpc.c:38: error: for each function it appears in.)
./src/fault-macosdarwin7-powerpc.c:39: error: `ucp' undeclared (first use in this function)
conftest.c:36:22: sys/mman.h: No such file or directory
conftest.c: At top level:
conftest.c:58: error: parse error before "siginfo_t"
conftest.c: In function `sigsegv_handler':
conftest.c:60: error: `sip' undeclared (first use in this function)
conftest.c:60: error: `ucp' undeclared (first use in this function)
conftest.c:66: error: `PROT_READ' undeclared (first use in this function)
conftest.c:66: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c: In function `main':
conftest.c:76: error: storage size of 'action' isn't known
conftest.c:87: error: `PROT_READ' undeclared (first use in this function)
conftest.c:87: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c:87: error: `map_flags' undeclared (first use in this function)
conftest.c:87: error: `zero_fd' undeclared (first use in this function)
conftest.c:87: warning: assignment makes pointer from integer without a cast
conftest.c:98: error: `SA_SIGINFO' undeclared (first use in this function)
conftest.c:100: error: `SIGBUS' undeclared (first use in this function)
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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 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 -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
In file included from conftest.c:34:
./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:36:22: sys/mman.h: No such file or directory
conftest.c: At top level:
conftest.c:58: warning: "struct sigcontext" declared inside parameter list
conftest.c: In function `sigsegv_handler':
conftest.c:66: error: `PROT_READ' undeclared (first use in this function)
conftest.c:66: error: (Each undeclared identifier is reported only once
conftest.c:66: error: for each function it appears in.)
conftest.c:66: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c: In function `main':
conftest.c:76: error: storage size of 'action' isn't known
conftest.c:87: error: `PROT_READ' undeclared (first use in this function)
conftest.c:87: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c:87: error: `map_flags' undeclared (first use in this function)
conftest.c:87: error: `zero_fd' undeclared (first use in this function)
conftest.c:87: warning: assignment makes pointer from integer without a cast
conftest.c:102: error: `SIGBUS' undeclared (first use in this function)
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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 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 -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:36:22: sys/mman.h: No such file or directory
conftest.c:58: warning: "struct sigcontext" declared inside parameter list
conftest.c:58: 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: `PROT_READ' undeclared (first use in this function)
conftest.c:66: error: (Each undeclared identifier is reported only once
conftest.c:66: error: for each function it appears in.)
conftest.c:66: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c: In function `main':
conftest.c:76: error: storage size of 'action' isn't known
conftest.c:87: error: `PROT_READ' undeclared (first use in this function)
conftest.c:87: error: `PROT_WRITE' undeclared (first use in this function)
conftest.c:87: error: `map_flags' undeclared (first use in this function)
conftest.c:87: error: `zero_fd' undeclared (first use in this function)
conftest.c:87: warning: assignment makes pointer from integer without a cast
conftest.c:102: error: `SIGBUS' undeclared (first use in this function)
configure:22483: $? = 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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 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 -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:30:24: sys/procfs.h: No such file or directory
conftest.c: In function `main':
conftest.c:34: error: `PIOCNMAP' undeclared (first use in this function)
conftest.c:34: error: (Each undeclared identifier is reported only once
conftest.c:34: error: for each function it appears in.)
conftest.c:34: error: `PIOCMAP' undeclared (first use in this function)
conftest.c:34: error: `prmap_t' undeclared (first use in this function)
conftest.c:34: error: parse error 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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 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 -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
/cygdrive/c/DOCUME~1/Anton/LOCALS~1/Temp/ccKLWnKp.o(.text+0x20): In function `main':
/cygdrive/c/projects/clisp-dev/libsigsegv-2.4/conftest.c:70: undefined reference to `_mincore'
/cygdrive/c/DOCUME~1/Anton/LOCALS~1/Temp/ccKLWnKp.o(.data+0x0):/cygdrive/c/projects/clisp-dev/libsigsegv-2.4/conftest.c:69: 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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 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 -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
/cygdrive/c/DOCUME~1/Anton/LOCALS~1/Temp/cce1n1w6.o(.text+0x20): In function `main':
/cygdrive/c/projects/clisp-dev/libsigsegv-2.4/conftest.c:71: undefined reference to `_getrlimit'
/cygdrive/c/DOCUME~1/Anton/LOCALS~1/Temp/cce1n1w6.o(.data+0x0):/cygdrive/c/projects/clisp-dev/libsigsegv-2.4/conftest.c:70: undefined reference to `_getrlimit'
collect2: ld returned 1 exit status
configure:23167: $? = 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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define CFG_FAULT "fault-win32.h"
| #define CFG_MACHFAULT "fault-none.h"
| #define STACK_DIRECTION -1
| #define CFG_STACKVMA "stackvma-none.c"
| /* end confdefs.h.  */
| /* Define getrlimit to an innocuous variant, in case <limits.h> declares getrlimit.
|    For example, HP-UX 11i <limits.h> declares gettimeofday.  */
| #define getrlimit innocuous_getrlimit
| 
| /* System header to define __stub macros and hopefully few prototypes,
|     which can conflict with char getrlimit (); 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 getrlimit
| 
| /* 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 getrlimit ();
| /* 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_getrlimit) || defined (__stub___getrlimit)
| choke me
| #else
| char (*f) () = getrlimit;
| #endif
| #ifdef __cplusplus
| }
| #endif
| 
| int
| main ()
| {
| return f != getrlimit;
|   ;
|   return 0;
| }
configure:23192: result: no
configure:23104: checking for setrlimit
configure:23161: gcc -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
/cygdrive/c/DOCUME~1/Anton/LOCALS~1/Temp/ccsVuNNX.o(.text+0x20): In function `main':
/cygdrive/c/projects/clisp-dev/libsigsegv-2.4/conftest.c:71: undefined reference to `_setrlimit'
/cygdrive/c/DOCUME~1/Anton/LOCALS~1/Temp/ccsVuNNX.o(.data+0x0):/cygdrive/c/projects/clisp-dev/libsigsegv-2.4/conftest.c:70: undefined reference to `_setrlimit'
collect2: ld returned 1 exit status
configure:23167: $? = 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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define CFG_FAULT "fault-win32.h"
| #define CFG_MACHFAULT "fault-none.h"
| #define STACK_DIRECTION -1
| #define CFG_STACKVMA "stackvma-none.c"
| /* end confdefs.h.  */
| /* Define setrlimit to an innocuous variant, in case <limits.h> declares setrlimit.
|    For example, HP-UX 11i <limits.h> declares gettimeofday.  */
| #define setrlimit innocuous_setrlimit
| 
| /* System header to define __stub macros and hopefully few prototypes,
|     which can conflict with char setrlimit (); 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 setrlimit
| 
| /* 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 setrlimit ();
| /* 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_setrlimit) || defined (__stub___setrlimit)
| choke me
| #else
| char (*f) () = setrlimit;
| #endif
| #ifdef __cplusplus
| }
| #endif
| 
| int
| main ()
| {
| return f != setrlimit;
|   ;
|   return 0;
| }
configure:23192: result: no
configure:23211: checking for sigaltstack
configure:23268: gcc -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
/cygdrive/c/DOCUME~1/Anton/LOCALS~1/Temp/ccP2B7fk.o(.text+0x20): In function `main':
/cygdrive/c/projects/clisp-dev/libsigsegv-2.4/conftest.c:71: undefined reference to `_sigaltstack'
/cygdrive/c/DOCUME~1/Anton/LOCALS~1/Temp/ccP2B7fk.o(.data+0x0):/cygdrive/c/projects/clisp-dev/libsigsegv-2.4/conftest.c:70: 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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define CFG_FAULT "fault-win32.h"
| #define CFG_MACHFAULT "fault-none.h"
| #define STACK_DIRECTION -1
| #define CFG_STACKVMA "stackvma-none.c"
| /* 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 -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:43: error: parse error before "mainsigset"
conftest.c:43: warning: data definition has no type or storage class
conftest.c: In function `stackoverflow_handler':
conftest.c:48: error: `SIG_SETMASK' undeclared (first use in this function)
conftest.c:48: error: (Each undeclared identifier is reported only once
conftest.c:48: error: for each function it appears in.)
conftest.c: In function `main':
conftest.c:66: error: `stack_t' undeclared (first use in this function)
conftest.c:66: error: parse error before "altstack"
conftest.c:67: error: storage size of 'action' isn't known
conftest.c:68: error: `sigset_t' undeclared (first use in this function)
conftest.c:68: error: parse error before "emptyset"
conftest.c:78: error: `altstack' undeclared (first use in this function)
conftest.c:86: error: `SA_ONSTACK' undeclared (first use in this function)
conftest.c:88: error: `SIGBUS' undeclared (first use in this function)
conftest.c:90: error: `emptyset' undeclared (first use in this function)
conftest.c:91: error: `SIG_BLOCK' 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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define CFG_FAULT "fault-win32.h"
| #define CFG_MACHFAULT "fault-none.h"
| #define STACK_DIRECTION -1
| #define CFG_STACKVMA "stackvma-none.c"
| /* 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 -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:47: error: parse error before "mainsigset"
conftest.c:47: warning: data definition has no type or storage class
conftest.c: In function `stackoverflow_handler':
conftest.c:52: error: `SIG_SETMASK' undeclared (first use in this function)
conftest.c:52: error: (Each undeclared identifier is reported only once
conftest.c:52: error: for each function it appears in.)
conftest.c:53: error: `stack_t' undeclared (first use in this function)
conftest.c:53: error: parse error before "ss"
conftest.c:54: error: `ss' undeclared (first use in this function)
conftest.c:56: error: `SA_ONSTACK' undeclared (first use in this function)
conftest.c: In function `main':
conftest.c:76: error: `stack_t' undeclared (first use in this function)
conftest.c:76: error: parse error before "altstack"
conftest.c:77: error: storage size of 'action' isn't known
conftest.c:78: error: `sigset_t' undeclared (first use in this function)
conftest.c:78: error: parse error before "emptyset"
conftest.c:88: error: `altstack' undeclared (first use in this function)
conftest.c:96: error: `SA_ONSTACK' undeclared (first use in this function)
conftest.c:98: error: `SIGBUS' undeclared (first use in this function)
conftest.c:100: error: `emptyset' undeclared (first use in this function)
conftest.c:101: error: `SIG_BLOCK' 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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define CFG_FAULT "fault-win32.h"
| #define CFG_MACHFAULT "fault-none.h"
| #define STACK_DIRECTION -1
| #define CFG_STACKVMA "stackvma-none.c"
| /* 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 -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:36:22: ucontext.h: No such file or directory
conftest.c:47: error: parse error before "mainsigset"
conftest.c:47: warning: data definition has no type or storage class
conftest.c: In function `stackoverflow_handler':
conftest.c:52: error: `SIG_SETMASK' undeclared (first use in this function)
conftest.c:52: error: (Each undeclared identifier is reported only once
conftest.c:52: error: for each function it appears in.)
conftest.c:54: error: syntax error before "uc"
conftest.c:56: error: `uc' undeclared (first use in this function)
conftest.c:58: error: `SA_ONSTACK' undeclared (first use in this function)
conftest.c: In function `main':
conftest.c:81: error: `stack_t' undeclared (first use in this function)
conftest.c:81: error: parse error before "altstack"
conftest.c:82: error: storage size of 'action' isn't known
conftest.c:83: error: `sigset_t' undeclared (first use in this function)
conftest.c:83: error: parse error before "emptyset"
conftest.c:93: error: `altstack' undeclared (first use in this function)
conftest.c:101: error: `SA_ONSTACK' undeclared (first use in this function)
conftest.c:103: error: `SIGBUS' undeclared (first use in this function)
conftest.c:105: error: `emptyset' undeclared (first use in this function)
conftest.c:106: error: `SIG_BLOCK' 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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define CFG_FAULT "fault-win32.h"
| #define CFG_MACHFAULT "fault-none.h"
| #define STACK_DIRECTION -1
| #define CFG_STACKVMA "stackvma-none.c"
| /* 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 -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:42: error: parse error before "mainloop"
conftest.c:42: warning: data definition has no type or storage class
conftest.c: In function `main':
conftest.c:64: error: `stack_t' undeclared (first use in this function)
conftest.c:64: error: (Each undeclared identifier is reported only once
conftest.c:64: error: for each function it appears in.)
conftest.c:64: error: parse error before "altstack"
conftest.c:65: error: storage size of 'action' isn't known
conftest.c:79: error: `altstack' undeclared (first use in this function)
conftest.c:87: error: `SA_ONSTACK' undeclared (first use in this function)
conftest.c:89: error: `SIGBUS' 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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define CFG_FAULT "fault-win32.h"
| #define CFG_MACHFAULT "fault-none.h"
| #define STACK_DIRECTION -1
| #define CFG_STACKVMA "stackvma-none.c"
| /* 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 -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:46: error: parse error before "mainloop"
conftest.c:46: warning: data definition has no type or storage class
conftest.c: In function `stackoverflow_handler':
conftest.c:51: error: `stack_t' undeclared (first use in this function)
conftest.c:51: error: (Each undeclared identifier is reported only once
conftest.c:51: error: for each function it appears in.)
conftest.c:51: error: parse error before "ss"
conftest.c:52: error: `ss' undeclared (first use in this function)
conftest.c:54: error: `SA_ONSTACK' undeclared (first use in this function)
conftest.c: In function `main':
conftest.c:74: error: `stack_t' undeclared (first use in this function)
conftest.c:74: error: parse error before "altstack"
conftest.c:75: error: storage size of 'action' isn't known
conftest.c:89: error: `altstack' undeclared (first use in this function)
conftest.c:97: error: `SA_ONSTACK' undeclared (first use in this function)
conftest.c:99: error: `SIGBUS' 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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define CFG_FAULT "fault-win32.h"
| #define CFG_MACHFAULT "fault-none.h"
| #define STACK_DIRECTION -1
| #define CFG_STACKVMA "stackvma-none.c"
| /* 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 -mno-cygwin -o conftest.exe -g -O2   conftest.c  >&5
conftest.c:36:22: ucontext.h: No such file or directory
conftest.c:46: error: parse error before "mainloop"
conftest.c:46: warning: data definition has no type or storage class
conftest.c: In function `stackoverflow_handler':
conftest.c:52: error: syntax error before "uc"
conftest.c:54: error: `uc' undeclared (first use in this function)
conftest.c:54: error: (Each undeclared identifier is reported only once
conftest.c:54: error: for each function it appears in.)
conftest.c:56: error: `SA_ONSTACK' undeclared (first use in this function)
conftest.c: In function `main':
conftest.c:79: error: `stack_t' undeclared (first use in this function)
conftest.c:79: error: parse error before "altstack"
conftest.c:80: error: storage size of 'action' isn't known
conftest.c:94: error: `altstack' undeclared (first use in this function)
conftest.c:102: error: `SA_ONSTACK' undeclared (first use in this function)
conftest.c:104: error: `SIGBUS' 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
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define CFG_SIGNALS "signals.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define CFG_FAULT "fault-win32.h"
| #define CFG_MACHFAULT "fault-none.h"
| #define STACK_DIRECTION -1
| #define CFG_STACKVMA "stackvma-none.c"
| /* 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 dom-comp

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:1135: 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=set
ac_cv_env_CC_value='gcc -mno-cygwin'
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=set
ac_cv_env_host_alias_value=i386-pc-mingw32
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_exeext=.exe
ac_cv_f77_compiler_gnu=no
ac_cv_func_getrlimit=no
ac_cv_func_mincore=no
ac_cv_func_setrlimit=no
ac_cv_func_sigaltstack=no
ac_cv_header_dlfcn_h=no
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=no
ac_cv_header_sys_stat_h=yes
ac_cv_header_sys_types_h=yes
ac_cv_header_unistd_h=yes
ac_cv_host=i386-pc-mingw32
ac_cv_host_alias=i386-pc-mingw32
ac_cv_objext=o
ac_cv_path_install='/usr/bin/install -c'
ac_cv_prog_AWK=gawk
ac_cv_prog_CC='gcc -mno-cygwin'
ac_cv_prog_CPP='gcc -mno-cygwin -E'
ac_cv_prog_CXXCPP='g++ -E'
ac_cv_prog_STRIP=strip
ac_cv_prog_ac_ct_AR=ar
ac_cv_prog_ac_ct_CXX=g++
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=no
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 file format pei*-i386(.*architecture: i386)?'
lt_cv_file_magic_cmd='$OBJDUMP -f'
lt_cv_file_magic_test_file=
lt_cv_ld_reload_flag=-r
lt_cv_objdir=.libs
lt_cv_path_LD=/usr/i686-pc-mingw32/bin/ld.exe
lt_cv_path_LDCXX=/usr/i686-pc-mingw32/bin/ld.exe
lt_cv_path_NM=nm
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_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_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=no
sv_cv_func_mmap_anonymous=no
sv_cv_func_mmap_devzero=no
sv_cv_func_sysconf_pagesize=no
sv_cv_have_sigsegv_recovery=yes
sv_cv_have_stack_overflow_recovery=yes
sv_cv_host=i386-pc-mingw32
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} /cygdrive/c/projects/clisp-dev/libsigsegv-2.4/build-aux/missing --run aclocal-1.9'
AMDEPBACKSLASH='\'
AMDEP_FALSE='#'
AMDEP_TRUE=''
AMTAR='${SHELL} /cygdrive/c/projects/clisp-dev/libsigsegv-2.4/build-aux/missing --run tar'
AR='ar'
AUTOCONF='${SHELL} /cygdrive/c/projects/clisp-dev/libsigsegv-2.4/build-aux/missing --run autoconf'
AUTOHEADER='${SHELL} /cygdrive/c/projects/clisp-dev/libsigsegv-2.4/build-aux/missing --run autoheader'
AUTOMAKE='${SHELL} /cygdrive/c/projects/clisp-dev/libsigsegv-2.4/build-aux/missing --run automake-1.9'
AWK='gawk'
CC='gcc -mno-cygwin'
CCDEPMODE='depmode=none'
CFG_HANDLER='handler-win32.c'
CFG_LEAVE='leave-none.c'
CFG_STACKVMA='stackvma-none.c'
CFLAGS='-g -O2'
CPP='gcc -mno-cygwin -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=''
FAULT_CONTEXT='CONTEXT'
FAULT_CONTEXT_INCLUDE2=''
FAULT_CONTEXT_INCLUDE='#include <windows.h>'
FFLAGS=''
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} /cygdrive/c/projects/clisp-dev/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='i386-pc-mingw32'
RANLIB='ranlib'
RELOCATABLE='no'
SET_MAKE=''
SHELL='/bin/sh'
STRIP='strip'
VERSION='2.4'
ac_ct_AR='ar'
ac_ct_CC=''
ac_ct_CXX='g++'
ac_ct_F77=''
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='i386-pc-mingw32'
host_alias='i386-pc-mingw32'
host_cpu='i386'
host_os='mingw32'
host_vendor='pc'
includedir='${prefix}/include'
infodir='${prefix}/info'
install_sh='/cygdrive/c/projects/clisp-dev/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_GETPAGESIZE 1
#define HAVE_INTTYPES_H 1
#define HAVE_MEMORY_H 1
#define HAVE_STDINT_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRINGS_H 1
#define HAVE_STRING_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
