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

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

  $ ./configure --prefix=/usr/pkg --host=i386--netbsdelf --mandir=/usr/pkg/man

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

hostname = hiro.nih.at
uname -m = i386
uname -r = 3.99.16
uname -s = NetBSD
uname -v = NetBSD 3.99.16 (HIRO) #5: Fri Mar  3 00:21:56 CET 2006  wiz@hiro.nih.at:/disk/wd1a/archive/cvs/src/sys/arch/i386/compile/obj.i386/HIRO

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

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

PATH: /usr/obj/wip/libsigsegv/work.i386/.wrapper/bin
PATH: /usr/obj/wip/libsigsegv/work.i386/.buildlink/bin
PATH: /usr/obj/wip/libsigsegv/work.i386/.gcc/bin
PATH: /usr/obj/wip/libsigsegv/work.i386/.tools/bin
PATH: /usr/pkg/bin
PATH: /bin
PATH: /usr/bin
PATH: /usr/pkg/bin
PATH: /usr/X11R6/bin
PATH: /usr/local/bin
PATH: /sbin
PATH: /usr/sbin
PATH: /usr/pkg/sbin
PATH: /usr/local/sbin
PATH: /usr/games
PATH: /home/wiz/bin
PATH: /home/dillo/bin
PATH: /usr/X11R6/bin
PATH: /usr/pkg/bin
PATH: /usr/X11R6/bin


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

configure:1588: checking for a BSD-compatible install
configure:1643: result: /usr/bin/install -c -o root -g wheel
configure:1654: checking whether build environment is sane
configure:1697: result: yes
configure:1762: checking for gawk
configure:1788: result: /usr/bin/awk
configure:1798: checking whether make sets $(MAKE)
configure:1818: result: yes
configure:1894: checking for i386--netbsdelf-strip
configure:1923: result: no
configure:1932: checking for strip
configure:1948: found /usr/obj/wip/libsigsegv/work.i386/.tools/bin/strip
configure:1959: result: strip
configure:1997: checking for i386--netbsdelf-gcc
configure:2023: result: cc
configure:2305: checking for C compiler version
configure:2308: cc --version </dev/null >&5
gcc (GCC) 3.3.3 (NetBSD nb3 20040520)
Copyright (C) 2003 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: cc -v </dev/null >&5
Using built-in specs.
Configured with: /home/nick/work/netbsd/src/tools/gcc/../../gnu/dist/gcc/configure --enable-long-long --disable-multilib --enable-threads --disable-symvers --build=i386-unknown-netbsdelf2.0. --host=i386--netbsdelf --target=i386--netbsdelf
Thread model: posix
gcc version 3.3.3 (NetBSD nb3 20040520)
configure:2316: $? = 0
configure:2318: cc -V </dev/null >&5
gcc: couldn't run `/usr/bin/i386--netbsdelf-gcc--I/usr/obj/wip/libsigsegv/work.i386/.buildlink/include': No such file or directory
configure:2321: $? = 1
configure:2344: checking for C compiler default output file name
configure:2347: cc -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
configure:2350: $? = 0
configure:2396: result: a.out
configure:2401: checking whether the C compiler works
configure:2407: ./a.out
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: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
configure:2444: $? = 0
configure:2469: result: 
configure:2475: checking for suffix of object files
configure:2496: cc -c -O2  conftest.c >&5
configure:2499: $? = 0
configure:2521: result: o
configure:2525: checking whether we are using the GNU C compiler
configure:2549: cc -c -O2  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 cc accepts -g
configure:2608: cc -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 cc option to accept ANSI C
configure:2725: cc  -c -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: cc -c -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 cc
configure:3076: result: none
configure:3098: checking how to run the C preprocessor
configure:3133: cc -E  conftest.c
configure:3139: $? = 0
configure:3171: cc -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.2"
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:3216: result: cc -E
configure:3240: cc -E  conftest.c
configure:3246: $? = 0
configure:3278: cc -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.2"
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:3334: checking build system type
configure:3352: result: i386-unknown-netbsdelf3.99.16
configure:3360: checking host system type
configure:3374: result: i386--netbsdelf
configure:3382: checking host platform
configure:3401: result: i386--netbsdelf
configure:3419: checking for a BSD-compatible install
configure:3474: result: /usr/bin/install -c -o root -g wheel
configure:3559: checking for a sed that does not truncate output
configure:3613: result: /usr/obj/wip/libsigsegv/work.i386/.tools/bin/sed
configure:3616: checking for egrep
configure:3626: result: grep -E
configure:3642: checking for ld used by cc
configure:3709: result: /usr/obj/wip/libsigsegv/work.i386/.wrapper/bin/ld
configure:3718: checking if the linker (/usr/obj/wip/libsigsegv/work.i386/.wrapper/bin/ld) is GNU ld
configure:3733: result: yes
configure:3738: checking for /usr/obj/wip/libsigsegv/work.i386/.wrapper/bin/ld option to reload object files
configure:3745: result: -r
configure:3763: checking for BSD-compatible nm
configure:3805: result: nm
configure:3809: checking whether ln -s works
configure:3813: result: yes
configure:3820: checking how to recognise dependent libraries
configure:3992: result: match_pattern /lib[^/]+(\.so|_pic\.a)$
configure:4202: checking for ANSI C header files
configure:4227: cc -c -O2  conftest.c >&5
configure:4233: $? = 0
configure:4237: test -z 
			 || test ! -s conftest.err
configure:4240: $? = 0
configure:4243: test -s conftest.o
configure:4246: $? = 0
configure:4335: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
configure:4338: $? = 0
configure:4340: ./conftest
configure:4343: $? = 0
configure:4358: result: yes
configure:4382: checking for sys/types.h
configure:4398: cc -c -O2  conftest.c >&5
configure:4404: $? = 0
configure:4408: test -z 
			 || test ! -s conftest.err
configure:4411: $? = 0
configure:4414: test -s conftest.o
configure:4417: $? = 0
configure:4428: result: yes
configure:4382: checking for sys/stat.h
configure:4398: cc -c -O2  conftest.c >&5
configure:4404: $? = 0
configure:4408: test -z 
			 || test ! -s conftest.err
configure:4411: $? = 0
configure:4414: test -s conftest.o
configure:4417: $? = 0
configure:4428: result: yes
configure:4382: checking for stdlib.h
configure:4398: cc -c -O2  conftest.c >&5
configure:4404: $? = 0
configure:4408: test -z 
			 || test ! -s conftest.err
configure:4411: $? = 0
configure:4414: test -s conftest.o
configure:4417: $? = 0
configure:4428: result: yes
configure:4382: checking for string.h
configure:4398: cc -c -O2  conftest.c >&5
configure:4404: $? = 0
configure:4408: test -z 
			 || test ! -s conftest.err
configure:4411: $? = 0
configure:4414: test -s conftest.o
configure:4417: $? = 0
configure:4428: result: yes
configure:4382: checking for memory.h
configure:4398: cc -c -O2  conftest.c >&5
configure:4404: $? = 0
configure:4408: test -z 
			 || test ! -s conftest.err
configure:4411: $? = 0
configure:4414: test -s conftest.o
configure:4417: $? = 0
configure:4428: result: yes
configure:4382: checking for strings.h
configure:4398: cc -c -O2  conftest.c >&5
configure:4404: $? = 0
configure:4408: test -z 
			 || test ! -s conftest.err
configure:4411: $? = 0
configure:4414: test -s conftest.o
configure:4417: $? = 0
configure:4428: result: yes
configure:4382: checking for inttypes.h
configure:4398: cc -c -O2  conftest.c >&5
configure:4404: $? = 0
configure:4408: test -z 
			 || test ! -s conftest.err
configure:4411: $? = 0
configure:4414: test -s conftest.o
configure:4417: $? = 0
configure:4428: result: yes
configure:4382: checking for stdint.h
configure:4398: cc -c -O2  conftest.c >&5
configure:4404: $? = 0
configure:4408: test -z 
			 || test ! -s conftest.err
configure:4411: $? = 0
configure:4414: test -s conftest.o
configure:4417: $? = 0
configure:4428: result: yes
configure:4382: checking for unistd.h
configure:4398: cc -c -O2  conftest.c >&5
configure:4404: $? = 0
configure:4408: test -z 
			 || test ! -s conftest.err
configure:4411: $? = 0
configure:4414: test -s conftest.o
configure:4417: $? = 0
configure:4428: result: yes
configure:4454: checking dlfcn.h usability
configure:4466: cc -c -O2  conftest.c >&5
configure:4472: $? = 0
configure:4476: test -z 
			 || test ! -s conftest.err
configure:4479: $? = 0
configure:4482: test -s conftest.o
configure:4485: $? = 0
configure:4495: result: yes
configure:4499: checking dlfcn.h presence
configure:4509: cc -E  conftest.c
configure:4515: $? = 0
configure:4535: result: yes
configure:4570: checking for dlfcn.h
configure:4577: result: yes
configure:4600: checking for i386--netbsdelf-g++
configure:4626: result: c++
configure:4684: checking for C++ compiler version
configure:4687: c++ --version </dev/null >&5
g++ (GCC) 3.3.3 (NetBSD nb3 20040520)
Copyright (C) 2003 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:4690: $? = 0
configure:4692: c++ -v </dev/null >&5
Using built-in specs.
Configured with: /home/nick/work/netbsd/src/tools/gcc/../../gnu/dist/gcc/configure --enable-long-long --disable-multilib --enable-threads --disable-symvers --build=i386-unknown-netbsdelf2.0. --host=i386--netbsdelf --target=i386--netbsdelf
Thread model: posix
gcc version 3.3.3 (NetBSD nb3 20040520)
configure:4695: $? = 0
configure:4697: c++ -V </dev/null >&5
g++: couldn't run `/usr/bin/i386--netbsdelf-gcc--I/usr/obj/wip/libsigsegv/work.i386/.buildlink/include': No such file or directory
configure:4700: $? = 1
configure:4703: checking whether we are using the GNU C++ compiler
configure:4727: c++ -c -O2  conftest.cc >&5
configure:4733: $? = 0
configure:4737: test -z 
			 || test ! -s conftest.err
configure:4740: $? = 0
configure:4743: test -s conftest.o
configure:4746: $? = 0
configure:4759: result: yes
configure:4765: checking whether c++ accepts -g
configure:4786: c++ -c -g  conftest.cc >&5
configure:4792: $? = 0
configure:4796: test -z 
			 || test ! -s conftest.err
configure:4799: $? = 0
configure:4802: test -s conftest.o
configure:4805: $? = 0
configure:4816: result: yes
configure:4858: c++ -c -O2  conftest.cc >&5
configure:4864: $? = 0
configure:4868: test -z 
			 || test ! -s conftest.err
configure:4871: $? = 0
configure:4874: test -s conftest.o
configure:4877: $? = 0
configure:4903: c++ -c -O2  conftest.cc >&5
conftest.cc: In function `int main()':
conftest.cc:26: error: `exit' undeclared (first use this function)
conftest.cc:26: error: (Each undeclared identifier is reported only once for 
   each function it appears in.)
configure:4909: $? = 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.2"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| exit (42);
|   ;
|   return 0;
| }
configure:4858: c++ -c -O2  conftest.cc >&5
configure:4864: $? = 0
configure:4868: test -z 
			 || test ! -s conftest.err
configure:4871: $? = 0
configure:4874: test -s conftest.o
configure:4877: $? = 0
configure:4903: c++ -c -O2  conftest.cc >&5
configure:4909: $? = 0
configure:4913: test -z 
			 || test ! -s conftest.err
configure:4916: $? = 0
configure:4919: test -s conftest.o
configure:4922: $? = 0
configure:4947: checking dependency style of c++
configure:5037: result: none
configure:5064: checking how to run the C++ preprocessor
configure:5095: c++ -E  conftest.cc
configure:5101: $? = 0
configure:5133: c++ -E  conftest.cc
conftest.cc:25:28: ac_nonexistent.h: No such file or directory
configure:5139: $? = 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.2"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:5178: result: c++ -E
configure:5202: c++ -E  conftest.cc
configure:5208: $? = 0
configure:5240: c++ -E  conftest.cc
conftest.cc:25:28: ac_nonexistent.h: No such file or directory
configure:5246: $? = 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.2"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:5301: checking for i386--netbsdelf-g77
configure:5327: result: f77
configure:5384: checking for Fortran 77 compiler version
configure:5387: f77 --version </dev/null >&5
GNU Fortran (GCC) 3.3.3 (NetBSD nb3 20040520)
Copyright (C) 2002 Free Software Foundation, Inc.

GNU Fortran comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of GNU Fortran
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING
or type the command `info -f g77 Copying'.
configure:5390: $? = 0
configure:5392: f77 -v </dev/null >&5
Using built-in specs.
Configured with: /home/nick/work/netbsd/src/tools/gcc/../../gnu/dist/gcc/configure --enable-long-long --disable-multilib --enable-threads --disable-symvers --build=i386-unknown-netbsdelf2.0. --host=i386--netbsdelf --target=i386--netbsdelf
Thread model: posix
gcc version 3.3.3 (NetBSD nb3 20040520)
configure:5395: $? = 0
configure:5397: f77 -V </dev/null >&5
g77: couldn't run `/usr/bin/i386--netbsdelf-gcc--I/usr/obj/wip/libsigsegv/work.i386/.buildlink/include': No such file or directory
configure:5400: $? = 1
configure:5408: checking whether we are using the GNU Fortran 77 compiler
configure:5422: f77 -c -O conftest.F >&5
configure:5428: $? = 0
configure:5432: test -z 
			 || test ! -s conftest.err
configure:5435: $? = 0
configure:5438: test -s conftest.o
configure:5441: $? = 0
configure:5454: result: yes
configure:5460: checking whether f77 accepts -g
configure:5472: f77 -c -g conftest.f >&5
configure:5478: $? = 0
configure:5482: test -z 
			 || test ! -s conftest.err
configure:5485: $? = 0
configure:5488: test -s conftest.o
configure:5491: $? = 0
configure:5503: result: yes
configure:5533: checking the maximum length of command line arguments
configure:5624: result: 65536
configure:5635: checking command to parse nm output from cc object
configure:5731: cc -c -O2  conftest.c >&5
configure:5734: $? = 0
configure:5738: nm conftest.o \| sed -n -e 's/^.*[ 	]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ 	][ 	]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' \> conftest.nm
configure:5741: $? = 0
configure:5793: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c conftstm.o >&5
configure:5796: $? = 0
configure:5834: result: ok
configure:5838: checking for objdir
configure:5853: result: .libs
configure:5905: checking for i386--netbsdelf-ar
configure:5934: result: no
configure:5943: checking for ar
configure:5959: found /usr/bin/ar
configure:5970: result: ar
configure:5985: checking for i386--netbsdelf-ranlib
configure:6014: result: no
configure:6023: checking for ranlib
configure:6039: found /usr/bin/ranlib
configure:6050: result: ranlib
configure:6065: checking for i386--netbsdelf-strip
configure:6091: result: strip
configure:6394: checking if cc static flag  works
configure:6417: result: yes
configure:6439: checking if cc supports -fno-rtti -fno-exceptions
configure:6457: cc -c -O2  -fno-rtti -fno-exceptions conftest.c >&5
cc1: warning: "-fno-rtti" is valid for C++ but not for C/ObjC
configure:6461: $? = 0
configure:6472: result: no
configure:6487: checking for cc option to produce PIC
configure:6689: result: -fPIC
configure:6697: checking if cc PIC flag -fPIC works
configure:6715: cc -c -O2  -fPIC -DPIC conftest.c >&5
configure:6719: $? = 0
configure:6730: result: yes
configure:6754: checking if cc supports -c -o file.o
configure:6775: cc -c -O2  -o out/conftest2.o conftest.c >&5
configure:6779: $? = 0
configure:6799: result: yes
configure:6825: checking whether the cc linker (/usr/obj/wip/libsigsegv/work.i386/.wrapper/bin/ld) supports shared libraries
configure:7687: result: yes
configure:7758: checking dynamic linker characteristics
configure:8300: result: NetBSD ld.elf_so
configure:8304: checking how to hardcode library paths into programs
configure:8329: result: immediate
configure:8343: checking whether stripping libraries is possible
configure:8348: result: yes
configure:9178: checking if libtool supports shared libraries
configure:9180: result: yes
configure:9183: checking whether to build shared libraries
configure:9204: result: no
configure:9207: checking whether to build static libraries
configure:9211: result: yes
configure:9303: creating libtool
configure:9858: checking for ld used by c++
configure:9925: result: /usr/obj/wip/libsigsegv/work.i386/.wrapper/bin/ld
configure:9934: checking if the linker (/usr/obj/wip/libsigsegv/work.i386/.wrapper/bin/ld) is GNU ld
configure:9949: result: yes
configure:10000: checking whether the c++ linker (/usr/obj/wip/libsigsegv/work.i386/.wrapper/bin/ld) supports shared libraries
configure:10882: result: yes
configure:10904: c++ -c -O2  conftest.cc >&5
configure:10907: $? = 0
configure:11003: checking for c++ option to produce PIC
configure:11271: result: -fPIC
configure:11279: checking if c++ PIC flag -fPIC works
configure:11297: c++ -c -O2  -fPIC -DPIC conftest.cc >&5
configure:11301: $? = 0
configure:11312: result: yes
configure:11336: checking if c++ supports -c -o file.o
configure:11357: c++ -c -O2  -o out/conftest2.o conftest.cc >&5
configure:11361: $? = 0
configure:11381: result: yes
configure:11407: checking whether the c++ linker (/usr/obj/wip/libsigsegv/work.i386/.wrapper/bin/ld) supports shared libraries
configure:11432: result: yes
configure:11503: checking dynamic linker characteristics
configure:12045: result: NetBSD ld.elf_so
configure:12049: checking how to hardcode library paths into programs
configure:12074: result: immediate
configure:12088: checking whether stripping libraries is possible
configure:12093: result: yes
configure:13406: checking if libtool supports shared libraries
configure:13408: result: yes
configure:13411: checking whether to build shared libraries
configure:13429: result: no
configure:13432: checking whether to build static libraries
configure:13436: result: yes
configure:13448: checking for f77 option to produce PIC
configure:13650: result: -fPIC
configure:13658: checking if f77 PIC flag -fPIC works
configure:13676: f77 -c -O -fPIC conftest.f >&5
configure:13680: $? = 0
configure:13691: result: yes
configure:13715: checking if f77 supports -c -o file.o
configure:13736: f77 -c -O -o out/conftest2.o conftest.f >&5
configure:13740: $? = 0
configure:13760: result: yes
configure:13786: checking whether the f77 linker (/usr/obj/wip/libsigsegv/work.i386/.wrapper/bin/ld) supports shared libraries
configure:14628: result: yes
configure:14699: checking dynamic linker characteristics
configure:15241: result: NetBSD ld.elf_so
configure:15245: checking how to hardcode library paths into programs
configure:15270: result: immediate
configure:15284: checking whether stripping libraries is possible
configure:15289: result: yes
configure:19458: checking sys/signal.h usability
configure:19470: cc -c -O2  conftest.c >&5
configure:19476: $? = 0
configure:19480: test -z 
			 || test ! -s conftest.err
configure:19483: $? = 0
configure:19486: test -s conftest.o
configure:19489: $? = 0
configure:19499: result: yes
configure:19503: checking sys/signal.h presence
configure:19513: cc -E  conftest.c
configure:19519: $? = 0
configure:19539: result: yes
configure:19574: checking for sys/signal.h
configure:19581: result: yes
configure:19622: checking for unistd.h
configure:19627: result: yes
configure:19769: checking for getpagesize
configure:19797: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
configure:19803: $? = 0
configure:19807: test -z 
			 || test ! -s conftest.err
configure:19810: $? = 0
configure:19813: test -s conftest
configure:19816: $? = 0
configure:19828: result: yes
configure:19839: checking for sysconf(_SC_PAGESIZE)
configure:19867: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
configure:19873: $? = 0
configure:19877: test -z 
			 || test ! -s conftest.err
configure:19880: $? = 0
configure:19883: test -s conftest
configure:19886: $? = 0
configure:19898: result: yes
configure:19909: checking for PAGESIZE in limits.h
configure:19932: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
conftest.c: In function `main':
conftest.c:35: error: `PAGESIZE' undeclared (first use in this function)
conftest.c:35: error: (Each undeclared identifier is reported only once
conftest.c:35: error: for each function it appears in.)
configure:19938: $? = 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.2"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals-bsd.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| /* end confdefs.h.  */
| #include <limits.h>
| int
| main ()
| {
| int pgsz = PAGESIZE;
|   ;
|   return 0;
| }
configure:19963: result: no
configure:19983: checking for mmap with MAP_ANON
configure:20066: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
configure:20069: $? = 0
configure:20071: ./conftest
configure:20074: $? = 0
configure:20089: result: yes
configure:20100: checking for mmap with MAP_ANONYMOUS
configure:20183: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
conftest.c: In function `main':
conftest.c:37: error: `MAP_ANONYMOUS' 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:20186: $? = 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.2"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals-bsd.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 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:20206: result: no
configure:20217: checking for mmap of /dev/zero
configure:20311: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
configure:20314: $? = 0
configure:20316: ./conftest
configure:20319: $? = 0
configure:20334: result: yes
configure:20358: checking whether a fault handler according to POSIX works
configure:20520: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
configure:20523: $? = 0
configure:20525: ./conftest
configure:20528: $? = 0
configure:20543: result: yes
configure:20551: checking whether a fault handler according to Linux/i386 works
configure:20714: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
conftest.c:39:28: asm/sigcontext.h: No such file or directory
conftest.c:63: warning: `struct sigcontext' declared inside parameter list
conftest.c:63: warning: its scope is only this definition or declaration, which is probably not what you want
conftest.c:64: error: parameter `sc' has incomplete type
configure:20717: $? = 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.2"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals-bsd.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| #include <asm/sigcontext.h>
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, struct sigcontext sc)
| {
|   void *fault_address = (void *) (sc.cr2);
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| 
|   action.sa_handler = (void (*) (int)) &sigsegv_handler;
|   action.sa_flags = 0;
| 
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:20737: result: no
configure:20745: checking whether a fault handler according to old Linux/i386 works
configure:20908: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
configure:20911: $? = 0
configure:20913: ./conftest
configure:20916: $? = 3
configure: program exited with status 3
configure: failed program was:
| 
|       /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.2"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals-bsd.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| 
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, unsigned int more)
| {
|   void *fault_address = (void *) (((unsigned long *) &more) [21]);
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| 
|   action.sa_handler = (void (*) (int)) &sigsegv_handler;
|   action.sa_flags = 0;
| 
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:20931: result: no
configure:20939: checking whether a fault handler according to Linux/m68k works
configure:21104: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
conftest.c:39:28: asm/sigcontext.h: No such file or directory
In file included from conftest.c:40:
src/fault-linux-m68k.c:20: warning: `struct sigcontext' declared inside parameter list
src/fault-linux-m68k.c:20: warning: its scope is only this definition or declaration, which is probably not what you want
src/fault-linux-m68k.c: In function `get_fault_addr':
src/fault-linux-m68k.c:22: error: dereferencing pointer to incomplete type
src/fault-linux-m68k.c:23: error: invalid use of undefined type `struct sigcontext'
conftest.c: At top level:
conftest.c:64: warning: `struct sigcontext' declared inside parameter list
conftest.c: In function `sigsegv_handler':
conftest.c:66: warning: passing arg 1 of `get_fault_addr' from incompatible pointer type
configure:21107: $? = 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.2"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals-bsd.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| #include <asm/sigcontext.h>
| #include "./src/fault-linux-m68k.c"
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, int code, struct sigcontext *scp)
| {
|   void *fault_address = (void *) (get_fault_addr (scp));
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| 
|   action.sa_handler = (void (*) (int)) &sigsegv_handler;
|   action.sa_flags = 0;
| 
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:21127: result: no
configure:21135: checking whether a fault handler according to Linux/PowerPC works
configure:21298: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
conftest.c:39:28: asm/sigcontext.h: No such file or directory
conftest.c:63: warning: `struct sigcontext' declared inside parameter list
conftest.c:63: warning: its scope is only this definition or declaration, which is probably not what you want
conftest.c: In function `sigsegv_handler':
conftest.c:65: error: dereferencing pointer to incomplete type
configure:21301: $? = 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.2"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals-bsd.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| #include <asm/sigcontext.h>
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, struct sigcontext *scp)
| {
|   void *fault_address = (void *) (scp->regs->dar);
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| 
|   action.sa_handler = (void (*) (int)) &sigsegv_handler;
|   action.sa_flags = 0;
| 
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:21321: result: no
configure:21329: checking whether a fault handler according to Linux/HPPA works
configure:21491: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
conftest.c: In function `sigsegv_handler':
conftest.c:65: error: union has no member named `si_ptr'
configure:21494: $? = 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.2"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals-bsd.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| 
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, siginfo_t *sip, void *ucp)
| {
|   void *fault_address = (void *) (sip->si_ptr);
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| action.sa_sigaction = &sigsegv_handler;
|    action.sa_flags = SA_SIGINFO;
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:21514: result: no
configure:21522: checking whether a fault handler according to BSD works
configure:21685: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
conftest.c:63: warning: `struct sigcontext' declared inside parameter list
conftest.c:63: warning: its scope is only this definition or declaration, which is probably not what you want
configure:21688: $? = 0
configure:21690: ./conftest
configure:21693: $? = 3
configure: program exited with status 3
configure: failed program was:
| 
|       /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.2"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals-bsd.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| 
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, int code, struct sigcontext *scp, void *addr)
| {
|   void *fault_address = (void *) (addr);
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| 
|   action.sa_handler = (void (*) (int)) &sigsegv_handler;
|   action.sa_flags = 0;
| 
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:21708: result: no
configure:21716: checking whether a fault handler according to IRIX works
configure:21879: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
conftest.c:63: warning: `struct sigcontext' declared inside parameter list
conftest.c:63: warning: its scope is only this definition or declaration, which is probably not what you want
conftest.c: In function `sigsegv_handler':
conftest.c:65: error: dereferencing pointer to incomplete type
configure:21882: $? = 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.2"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals-bsd.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| 
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, int code, struct sigcontext *scp)
| {
|   void *fault_address = (void *) ((unsigned long) scp->sc_badvaddr);
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| 
|   action.sa_handler = (void (*) (int)) &sigsegv_handler;
|   action.sa_flags = 0;
| 
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:21902: result: no
configure:21910: checking whether a fault handler according to HP-UX HPPA works
configure:22083: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
conftest.c:66: warning: `struct sigcontext' declared inside parameter list
conftest.c:66: warning: its scope is only this definition or declaration, which is probably not what you want
conftest.c: In function `sigsegv_handler':
conftest.c:68: error: dereferencing pointer to incomplete type
conftest.c:68: error: `SS_WIDEREGS' undeclared (first use in this function)
conftest.c:68: error: (Each undeclared identifier is reported only once
conftest.c:68: error: for each function it appears in.)
conftest.c:68: error: dereferencing pointer to incomplete type
conftest.c:68: error: `SS_NARROWISINVALID' undeclared (first use in this function)
conftest.c:68: error: dereferencing pointer to incomplete type
conftest.c:68: error: dereferencing pointer to incomplete type
configure:22086: $? = 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.2"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals-bsd.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| 
| #define USE_64BIT_REGS(mc)   (((mc).ss_flags & SS_WIDEREGS) && ((mc).ss_flags & SS_NARROWISINVALID))
| #define GET_CR21(mc)   (USE_64BIT_REGS(mc) ? (mc).ss_wide.ss_64.ss_cr21 : (mc).ss_narrow.ss_cr21)
| 
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, int code, struct sigcontext *scp)
| {
|   void *fault_address = (void *) (GET_CR21 (scp->sc_sl.sl_ss));
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| 
|   action.sa_handler = (void (*) (int)) &sigsegv_handler;
|   action.sa_flags = 0;
| 
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:22106: result: no
configure:22114: checking whether a fault handler according to OSF/1 Alpha works
configure:22277: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
conftest.c:63: warning: `struct sigcontext' declared inside parameter list
conftest.c:63: warning: its scope is only this definition or declaration, which is probably not what you want
conftest.c: In function `sigsegv_handler':
conftest.c:65: error: dereferencing pointer to incomplete type
configure:22280: $? = 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.2"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals-bsd.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| 
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, int code, struct sigcontext *scp)
| {
|   void *fault_address = (void *) (scp->sc_traparg_a0);
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| 
|   action.sa_handler = (void (*) (int)) &sigsegv_handler;
|   action.sa_flags = 0;
| 
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:22300: result: no
configure:22308: checking whether a fault handler according to NetBSD Alpha works
configure:22471: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
In file included from conftest.c:39:
src/fault-netbsd-alpha.c:23: warning: `struct sigcontext' declared inside parameter list
src/fault-netbsd-alpha.c:23: warning: its scope is only this definition or declaration, which is probably not what you want
src/fault-netbsd-alpha.c: In function `get_fault_addr':
src/fault-netbsd-alpha.c:25: error: dereferencing pointer to incomplete type
src/fault-netbsd-alpha.c:36: error: dereferencing pointer to incomplete type
conftest.c: At top level:
conftest.c:63: warning: `struct sigcontext' declared inside parameter list
conftest.c: In function `sigsegv_handler':
conftest.c:65: warning: passing arg 1 of `get_fault_addr' from incompatible pointer type
configure:22474: $? = 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.2"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals-bsd.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| #include "./src/fault-netbsd-alpha.c"
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, int code, struct sigcontext *scp)
| {
|   void *fault_address = (void *) (get_fault_addr (scp));
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| 
|   action.sa_handler = (void (*) (int)) &sigsegv_handler;
|   action.sa_flags = 0;
| 
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:22494: result: no
configure:22502: checking whether a fault handler according to AIX works
configure:22665: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
conftest.c:63: warning: `struct sigcontext' declared inside parameter list
conftest.c:63: warning: its scope is only this definition or declaration, which is probably not what you want
conftest.c: In function `sigsegv_handler':
conftest.c:65: error: dereferencing pointer to incomplete type
configure:22668: $? = 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.2"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals-bsd.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| 
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, int code, struct sigcontext *scp)
| {
|   void *fault_address = (void *) (scp->sc_jmpbuf.jmp_context.o_vaddr);
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| 
|   action.sa_handler = (void (*) (int)) &sigsegv_handler;
|   action.sa_flags = 0;
| 
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:22688: result: no
configure:22696: checking whether a fault handler according to MacOSX/Darwin7 PowerPC works
configure:22858: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
In file included from conftest.c:39:
src/fault-macosdarwin7-powerpc.c: In function `get_fault_addr':
src/fault-macosdarwin7-powerpc.c:39: error: invalid type argument of `->'
conftest.c: In function `main':
conftest.c:102: warning: assignment from incompatible pointer type
configure:22861: $? = 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.2"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals-bsd.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| #include "./src/fault-macosdarwin7-powerpc.c"
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, siginfo_t *sip, ucontext_t *ucp)
| {
|   void *fault_address = (void *) (get_fault_addr (sip, ucp));
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| action.sa_sigaction = &sigsegv_handler;
|    action.sa_flags = SA_SIGINFO;
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:22881: result: no
configure:22890: checking whether a fault handler according to MacOSX/Darwin5 PowerPC works
configure:23053: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
In file included from conftest.c:39:
src/fault-macosdarwin5-powerpc.c:34: warning: `struct sigcontext' declared inside parameter list
src/fault-macosdarwin5-powerpc.c:34: warning: its scope is only this definition or declaration, which is probably not what you want
src/fault-macosdarwin5-powerpc.c: In function `get_fault_addr':
src/fault-macosdarwin5-powerpc.c:36: error: dereferencing pointer to incomplete type
src/fault-macosdarwin5-powerpc.c:37: error: dereferencing pointer to incomplete type
conftest.c: At top level:
conftest.c:63: warning: `struct sigcontext' declared inside parameter list
conftest.c: In function `sigsegv_handler':
conftest.c:65: warning: passing arg 1 of `get_fault_addr' from incompatible pointer type
configure:23056: $? = 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.2"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals-bsd.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| #include "./src/fault-macosdarwin5-powerpc.c"
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, int code, struct sigcontext *scp)
| {
|   void *fault_address = (void *) (get_fault_addr (scp));
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| 
|   action.sa_handler = (void (*) (int)) &sigsegv_handler;
|   action.sa_flags = 0;
| 
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:23076: result: no
configure:23085: checking whether a fault handler according to Hurd works
configure:23248: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
conftest.c:63: warning: `struct sigcontext' declared inside parameter list
conftest.c:63: warning: its scope is only this definition or declaration, which is probably not what you want
configure:23251: $? = 0
configure:23253: ./conftest
configure:23256: $? = 3
configure: program exited with status 3
configure: failed program was:
| 
|       /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libsigsegv"
| #define VERSION "2.2"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals-bsd.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_DEVZERO 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #if HAVE_SYS_SIGNAL_H
| # include <sys/signal.h>
| #endif
| 
| #include <sys/types.h>
| #include <sys/mman.h>
| #if HAVE_MMAP_DEVZERO
| # include <fcntl.h>
| # ifndef MAP_FILE
| #  define MAP_FILE 0
| # endif
| #endif
| #ifndef PROT_NONE
| # define PROT_NONE 0
| #endif
| #if HAVE_MMAP_ANON
| # define zero_fd -1
| # define map_flags MAP_ANON | MAP_PRIVATE
| #elif HAVE_MMAP_ANONYMOUS
| # define zero_fd -1
| # define map_flags MAP_ANONYMOUS | MAP_PRIVATE
| #elif HAVE_MMAP_DEVZERO
| static int zero_fd;
| # define map_flags MAP_FILE | MAP_PRIVATE
| #endif
| unsigned long page;
| int handler_called = 0;
| void sigsegv_handler (int sig, int code, struct sigcontext *scp)
| {
|   void *fault_address = (void *) (code);
|   handler_called++;
|   if (handler_called == 10)
|     exit (4);
|   if (fault_address != (void*)(page + 0x678))
|     exit (3);
|   if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
|     exit (2);
| }
| void crasher (unsigned long p)
| {
|   *(int *) (p + 0x678) = 42;
| }
| int main ()
| {
|   void *p;
|   struct sigaction action;
|   /* Preparations.  */
| #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
|   zero_fd = open ("/dev/zero", O_RDONLY, 0644);
| #endif
|   /* Setup some mmaped memory.  */
| #ifdef __hpux
|   /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
|      freedom about the address range.  */
|   p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #else
|   p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
| #endif
|   if (p == (void *)(-1))
|     exit (2);
|   page = (unsigned long) p;
|   /* Make it read-only.  */
|   if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
|     exit (2);
|   /* Install the SIGSEGV handler.  */
|   sigemptyset(&action.sa_mask);
| 
|   action.sa_handler = (void (*) (int)) &sigsegv_handler;
|   action.sa_flags = 0;
| 
|   sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
|   sigaction (SIGBUS, &action, (struct sigaction *) NULL);
|   /* The first write access should invoke the handler and then complete.  */
|   crasher (page);
|   /* The second write access should not invoke the handler.  */
|   crasher (page);
|   /* Check that the handler was called only once.  */
|   if (handler_called != 1)
|     exit (1);
|   /* Test passed!  */
|   return 0;
| }
configure:23271: result: no
configure:23526: checking for the fault handler specifics
configure:23537: result: fault-posix.h
configure:23559: checking if the system supports catching SIGSEGV
configure:23561: result: yes
configure:23571: checking for stack direction
configure:23668: result: grows down
configure:23676: checking for PIOCMAP in sys/procfs.h
configure:23698: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
conftest.c:35:24: sys/procfs.h: No such file or directory
conftest.c: In function `main':
conftest.c:39: error: `PIOCNMAP' undeclared (first use in this function)
conftest.c:39: error: (Each undeclared identifier is reported only once
conftest.c:39: error: for each function it appears in.)
conftest.c:39: error: `PIOCMAP' undeclared (first use in this function)
conftest.c:39: error: `prmap_t' undeclared (first use in this function)
conftest.c:39: error: parse error before "y"
configure:23704: $? = 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.2"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals-bsd.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_DEVZERO 1
| #define CFG_FAULT "fault-posix.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:23730: result: no
configure:23764: checking for getrlimit
configure:23821: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
configure:23827: $? = 0
configure:23831: test -z 
			 || test ! -s conftest.err
configure:23834: $? = 0
configure:23837: test -s conftest
configure:23840: $? = 0
configure:23852: result: yes
configure:23764: checking for setrlimit
configure:23821: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
configure:23827: $? = 0
configure:23831: test -z 
			 || test ! -s conftest.err
configure:23834: $? = 0
configure:23837: test -s conftest
configure:23840: $? = 0
configure:23852: result: yes
configure:23871: checking for sigaltstack
configure:23928: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
configure:23934: $? = 0
configure:23938: test -z 
			 || test ! -s conftest.err
configure:23941: $? = 0
configure:23944: test -s conftest
configure:23947: $? = 0
configure:23959: result: yes
configure:23971: checking for stack_t
configure:24001: cc -c -O2  conftest.c >&5
configure:24007: $? = 0
configure:24011: test -z 
			 || test ! -s conftest.err
configure:24014: $? = 0
configure:24017: test -s conftest.o
configure:24020: $? = 0
configure:24031: result: yes
configure:24046: checking for working sigaltstack
configure:24223: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
configure:24226: $? = 0
configure:24228: ./conftest
configure:24231: $? = 0
configure:24251: result: yes
configure:24262: checking if the system supports catching stack overflow
configure:24349: result: no
configure:24372: checking whether a signal handler can be left through longjmp
configure:24458: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
configure:24461: $? = 0
configure:24463: ./conftest
[1]   Illegal instruction     ./conftest${ac_e...
configure:24466: $? = 132
configure: program exited with status 132
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.2"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals-bsd.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_DEVZERO 1
| #define CFG_FAULT "fault-posix.h"
| #define CFG_MACHFAULT "fault-none.h"
| #define STACK_DIRECTION -1
| #define CFG_STACKVMA "stackvma-none.c"
| #define HAVE_GETRLIMIT 1
| #define HAVE_SETRLIMIT 1
| #define HAVE_SIGALTSTACK 1
| #define HAVE_WORKING_SIGALTSTACK 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #include <setjmp.h>
| 
| #if HAVE_SETRLIMIT
| # include <sys/types.h>
| # include <sys/time.h>
| # include <sys/resource.h>
| #endif
| jmp_buf mainloop;
| sigset_t mainsigset;
| int pass = 0;
| void stackoverflow_handler (int sig)
| {
|   pass++;
|   sigprocmask (SIG_SETMASK, &mainsigset, NULL);
|   {  }
|   longjmp (mainloop, pass);
| }
| int recurse (int n)
| {
|   if (n >= 0)
|     return n + recurse (n + 1);
|   else
|     return 0;
| }
| 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:24481: result: no
configure:24489: checking whether a signal handler can be left through longjmp and sigaltstack
configure:24585: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
configure:24588: $? = 0
configure:24590: ./conftest
configure:24593: $? = 0
configure:24608: result: yes
configure:24616: checking whether a signal handler can be left through longjmp and setcontext
configure:24717: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
configure:24720: $? = 0
configure:24722: ./conftest
configure:24725: $? = 0
configure:24740: result: yes
configure:24762: checking whether a signal handler can be left through siglongjmp
configure:24846: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
configure:24849: $? = 0
configure:24851: ./conftest
[1]   Illegal instruction     ./conftest${ac_e...
configure:24854: $? = 132
configure: program exited with status 132
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.2"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define HAVE_SYS_SIGNAL_H 1
| #define CFG_SIGNALS "signals-bsd.h"
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SYSCONF_PAGESIZE 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_DEVZERO 1
| #define CFG_FAULT "fault-posix.h"
| #define CFG_MACHFAULT "fault-none.h"
| #define STACK_DIRECTION -1
| #define CFG_STACKVMA "stackvma-none.c"
| #define HAVE_GETRLIMIT 1
| #define HAVE_SETRLIMIT 1
| #define HAVE_SIGALTSTACK 1
| #define HAVE_WORKING_SIGALTSTACK 1
| /* end confdefs.h.  */
| 
| #include <stdlib.h>
| #include <signal.h>
| #include <setjmp.h>
| 
| #if HAVE_SETRLIMIT
| # include <sys/types.h>
| # include <sys/time.h>
| # include <sys/resource.h>
| #endif
| sigjmp_buf mainloop;
| int pass = 0;
| void stackoverflow_handler (int sig)
| {
|   pass++;
|   {  }
|   siglongjmp (mainloop, pass);
| }
| int recurse (int n)
| {
|   if (n >= 0)
|     return n + recurse (n + 1);
|   else
|     return 0;
| }
| 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:24869: result: no
configure:24877: checking whether a signal handler can be left through siglongjmp and sigaltstack
configure:24971: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
configure:24974: $? = 0
configure:24976: ./conftest
configure:24979: $? = 0
configure:24994: result: yes
configure:25002: checking whether a signal handler can be left through siglongjmp and setcontext
configure:25101: cc -o conftest -O2  -Wl,-R/usr/pkg/lib conftest.c  >&5
configure:25104: $? = 0
configure:25106: ./conftest
configure:25109: $? = 0
configure:25124: result: yes
configure:25183: checking whether to activate relocatable installation
configure:25198: result: no
configure:25321: 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 hiro.nih.at

config.status:26098: creating Makefile
config.status:26098: creating src/Makefile
config.status:26098: creating src/sigsegv.h
config.status:26098: creating tests/Makefile
config.status:26201: creating config.h
config.status:26525: executing depfiles commands

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

ac_cv_build=i386-unknown-netbsdelf3.99.16
ac_cv_build_alias=i386-unknown-netbsdelf3.99.16
ac_cv_c_compiler_gnu=yes
ac_cv_cxx_compiler_gnu=yes
ac_cv_env_CC_set=set
ac_cv_env_CC_value=cc
ac_cv_env_CFLAGS_set=set
ac_cv_env_CFLAGS_value=-O2
ac_cv_env_CPPFLAGS_set=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=set
ac_cv_env_CXXFLAGS_value=-O2
ac_cv_env_CXX_set=set
ac_cv_env_CXX_value=c++
ac_cv_env_F77_set=set
ac_cv_env_F77_value=f77
ac_cv_env_FFLAGS_set=set
ac_cv_env_FFLAGS_value=-O
ac_cv_env_LDFLAGS_set=set
ac_cv_env_LDFLAGS_value=-Wl,-R/usr/pkg/lib
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--netbsdelf
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_exeext=
ac_cv_f77_compiler_gnu=yes
ac_cv_func_getrlimit=yes
ac_cv_func_setrlimit=yes
ac_cv_func_sigaltstack=yes
ac_cv_header_dlfcn_h=yes
ac_cv_header_inttypes_h=yes
ac_cv_header_memory_h=yes
ac_cv_header_stdc=yes
ac_cv_header_stdint_h=yes
ac_cv_header_stdlib_h=yes
ac_cv_header_string_h=yes
ac_cv_header_strings_h=yes
ac_cv_header_sys_signal_h=yes
ac_cv_header_sys_stat_h=yes
ac_cv_header_sys_types_h=yes
ac_cv_header_unistd_h=yes
ac_cv_host=i386--netbsdelf
ac_cv_host_alias=i386--netbsdelf
ac_cv_objext=o
ac_cv_path_ECHO=echo
ac_cv_path_EGREP=/usr/bin/egrep
ac_cv_path_ENV=/usr/bin/env
ac_cv_path_FALSE=false
ac_cv_path_GREP=/usr/bin/grep
ac_cv_path_TEST=test
ac_cv_path_TRUE=true
ac_cv_prog_AWK=/usr/bin/awk
ac_cv_prog_CC=cc
ac_cv_prog_CPP='cc -E'
ac_cv_prog_CXX=c++
ac_cv_prog_CXXCPP='c++ -E'
ac_cv_prog_F77=f77
ac_cv_prog_STRIP=strip
ac_cv_prog_ac_ct_AR=ar
ac_cv_prog_ac_ct_RANLIB=ranlib
ac_cv_prog_ac_ct_STRIP=strip
ac_cv_prog_cc_g=yes
ac_cv_prog_cc_stdc=
ac_cv_prog_cxx_g=yes
ac_cv_prog_egrep='grep -E'
ac_cv_prog_f77_g=yes
ac_cv_prog_make_make_set=yes
ac_cv_type_stack_t=yes
am_cv_CC_dependencies_compiler_type=none
am_cv_CXX_dependencies_compiler_type=none
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
lt_cv_file_magic_cmd='$MAGIC_CMD'
lt_cv_file_magic_test_file=
lt_cv_ld_reload_flag=-r
lt_cv_objdir=.libs
lt_cv_path_LD=/usr/obj/wip/libsigsegv/work.i386/.wrapper/bin/ld
lt_cv_path_LDCXX=/usr/obj/wip/libsigsegv/work.i386/.wrapper/bin/ld
lt_cv_path_NM=nm
lt_cv_path_SED=/usr/obj/wip/libsigsegv/work.i386/.tools/bin/sed
lt_cv_prog_compiler_c_o=yes
lt_cv_prog_compiler_c_o_CXX=yes
lt_cv_prog_compiler_c_o_F77=yes
lt_cv_prog_compiler_rtti_exceptions=no
lt_cv_prog_gnu_ld=yes
lt_cv_prog_gnu_ldcxx=yes
lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ 	]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ 	][ 	]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'
lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\) $/  {\"\1\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \([^ ]*\) \([^ ]*\)$/  {"\2", (lt_ptr) \&\2},/p'\'
lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^. .* \(.*\)$/extern int \1;/p'\'
lt_cv_sys_max_cmd_len=65536
lt_lt_cv_prog_compiler_c_o='"yes"'
lt_lt_cv_prog_compiler_c_o_CXX='"yes"'
lt_lt_cv_prog_compiler_c_o_F77='"yes"'
lt_lt_cv_sys_global_symbol_pipe='"sed -n -e '\''s/^.*[ 	]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ 	][ 	]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'\''"'
lt_lt_cv_sys_global_symbol_to_c_name_address='"sed -n -e '\''s/^: \\([^ ]*\\) \$/  {\\\"\\1\\\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/  {\"\\2\", (lt_ptr) \\&\\2},/p'\''"'
lt_lt_cv_sys_global_symbol_to_cdecl='"sed -n -e '\''s/^. .* \\(.*\\)\$/extern int \\1;/p'\''"'
sv_cv_fault_aix=no
sv_cv_fault_bsd=no
sv_cv_fault_hpux_hppa=no
sv_cv_fault_hurd=no
sv_cv_fault_include=fault-posix.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=yes
sv_cv_func_getpagesize=yes
sv_cv_func_mmap_anon=yes
sv_cv_func_mmap_anonymous=no
sv_cv_func_mmap_devzero=yes
sv_cv_func_sysconf_pagesize=yes
sv_cv_have_sigsegv_recovery=yes
sv_cv_have_stack_overflow_recovery=no
sv_cv_host=i386--netbsdelf
sv_cv_leave_handler_longjmp=no
sv_cv_leave_handler_longjmp_setcontext=yes
sv_cv_leave_handler_longjmp_sigaltstack=yes
sv_cv_leave_handler_siglongjmp=no
sv_cv_leave_handler_siglongjmp_setcontext=yes
sv_cv_leave_handler_siglongjmp_sigaltstack=yes
sv_cv_macro_pagesize=no
sv_cv_procfsvma=no
sv_cv_sigaltstack=yes
sv_cv_stack_direction=-1
sv_cv_stack_direction_msg='grows down'

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

ACLOCAL='${SHELL} /usr/obj/wip/libsigsegv/work.i386/libsigsegv-2.2/autoconf/missing --run aclocal-1.9'
AMDEPBACKSLASH='\'
AMDEP_FALSE='#'
AMDEP_TRUE=''
AMTAR='${SHELL} /usr/obj/wip/libsigsegv/work.i386/libsigsegv-2.2/autoconf/missing --run tar'
AR='ar'
AUTOCONF='${SHELL} /usr/obj/wip/libsigsegv/work.i386/libsigsegv-2.2/autoconf/missing --run autoconf'
AUTOHEADER='${SHELL} /usr/obj/wip/libsigsegv/work.i386/libsigsegv-2.2/autoconf/missing --run autoheader'
AUTOMAKE='${SHELL} /usr/obj/wip/libsigsegv/work.i386/libsigsegv-2.2/autoconf/missing --run automake-1.9'
AWK='/usr/bin/awk'
CC='cc'
CCDEPMODE='depmode=none'
CFG_HANDLER='handler-unix.c'
CFG_LEAVE='leave-sigaltstack.c'
CFG_STACKVMA='stackvma-none.c'
CFLAGS='-O2'
CPP='cc -E'
CPPFLAGS=''
CXX='c++'
CXXCPP='c++ -E'
CXXDEPMODE='depmode=none'
CXXFLAGS='-O2'
CYGPATH_W='echo'
DEFS='-DHAVE_CONFIG_H'
DEPDIR='.deps'
ECHO='echo'
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP='grep -E'
EXEEXT=''
F77='f77'
FAULT_CONTEXT='ucontext_t'
FAULT_CONTEXT_INCLUDE2=''
FAULT_CONTEXT_INCLUDE='#include <ucontext.h>'
FFLAGS='-O'
HAVE_SIGSEGV_RECOVERY='1'
HAVE_STACK_OVERFLOW_RECOVERY='0'
INSTALL_DATA='/usr/bin/install -c -o root -g wheel -m 444'
INSTALL_PROGRAM='/usr/bin/install -c -s -o root -g wheel -m 555'
INSTALL_SCRIPT='/usr/bin/install -c -o root -g wheel -m 555'
INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s'
LDFLAGS='-Wl,-R/usr/pkg/lib'
LIBOBJS=''
LIBS=''
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
LN_S='ln -s'
LTLIBOBJS=''
MAKEINFO='/usr/obj/wip/libsigsegv/work.i386/.tools/bin/makeinfo'
OBJEXT='o'
PACKAGE='libsigsegv'
PACKAGE_BUGREPORT=''
PACKAGE_NAME=''
PACKAGE_STRING=''
PACKAGE_TARNAME=''
PACKAGE_VERSION=''
PATH_SEPARATOR=':'
PLATFORM='i386--netbsdelf'
RANLIB='ranlib'
RELOCATABLE='no'
SET_MAKE=''
SHELL='/bin/sh'
STRIP='strip'
VERSION='2.2'
ac_ct_AR='ar'
ac_ct_CC=''
ac_ct_CXX=''
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='i386-unknown-netbsdelf3.99.16'
build_alias=''
build_cpu='i386'
build_os='netbsdelf3.99.16'
build_vendor='unknown'
datadir='${prefix}/share'
exec_prefix='${prefix}'
host='i386--netbsdelf'
host_alias='i386--netbsdelf'
host_cpu='i386'
host_os='netbsdelf'
host_vendor=''
includedir='${prefix}/include'
infodir='${prefix}/info'
install_sh='/usr/bin/install'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localstatedir='${prefix}/var'
mandir='/usr/pkg/man'
mkdir_p='$(install_sh) -d'
oldincludedir='/usr/include'
prefix='/usr/pkg'
program_transform_name='s,x,x,'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''

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

#define CFG_FAULT "fault-posix.h"
#define CFG_HANDLER "handler-unix.c"
#define CFG_LEAVE "leave-sigaltstack.c"
#define CFG_MACHFAULT "fault-none.h"
#define CFG_SIGNALS "signals-bsd.h"
#define CFG_STACKVMA "stackvma-none.c"
#define HAVE_DLFCN_H 1
#define HAVE_GETPAGESIZE 1
#define HAVE_GETRLIMIT 1
#define HAVE_INTTYPES_H 1
#define HAVE_MEMORY_H 1
#define HAVE_MMAP_ANON 1
#define HAVE_MMAP_DEVZERO 1
#define HAVE_SETRLIMIT 1
#define HAVE_SIGALTSTACK 1
#define HAVE_STDINT_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRINGS_H 1
#define HAVE_STRING_H 1
#define HAVE_SYSCONF_PAGESIZE 1
#define HAVE_SYS_SIGNAL_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_UNISTD_H 1
#define HAVE_UNISTD_H 1
#define HAVE_WORKING_SIGALTSTACK 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.2"
#endif
#ifdef __cplusplus
extern "C" void std::exit (int) throw (); using std::exit;

configure: exit 0