This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by configure, which was generated by GNU Autoconf 2.59. Invocation command line was $ ./configure --prefix=/usr/local i386-unknown-gnu ## --------- ## ## Platform. ## ## --------- ## hostname = darwintel uname -m = x86 uname -r = 8.0.1 uname -s = Darwin uname -v = Darwin Kernel Version 8.0.1: Fri Apr 29 12:18:40 PDT 2005; root:xnu-792.obj/RELEASE_I386 /usr/bin/uname -p = i386 /bin/uname -X = unknown /bin/arch = unknown /usr/bin/arch -k = unknown /usr/convex/getsysinfo = unknown hostinfo = Mach kernel version: Darwin Kernel Version 8.0.1: Fri Apr 29 12:18:40 PDT 2005; root:xnu-792.obj/RELEASE_I386 Kernel configured for up to 4 processors. 4 processors are physically available. Processor type: pentpro (Intel Pentium Pro) Processors active: 0 1 2 3 Primary memory available: 1023.00 megabytes Default processor set: 117 tasks, 173 threads, 4 processors Load average: 2.39, Mach factor: 1.88 /bin/machine = unknown /usr/bin/oslevel = unknown /bin/universe = unknown PATH: /Users/proclus/usr/local/bin PATH: /Users/proclus/usr/bin PATH: /Users/proclus/usr/X11R6/bin PATH: /Users/proclus/gnu-darwin-func/admin PATH: /usr/local/bin PATH: /usr/X11R6/bin PATH: /sbin PATH: /usr/sbin PATH: /Users/proclus/usr/local/bin PATH: /Users/proclus/usr/bin PATH: /Users/proclus/usr/X11R6/bin PATH: /Users/proclus/gnu-darwin-func/admin PATH: /usr/local/bin PATH: /usr/X11R6/bin PATH: /sbin PATH: /usr/sbin PATH: /Users/proclus/usr/local/bin PATH: /Users/proclus/usr/bin PATH: /Users/proclus/usr/X11R6/bin PATH: /Users/proclus/gnu-darwin-func/admin PATH: /usr/local/bin PATH: /usr/X11R6/bin PATH: /sbin PATH: /usr/sbin PATH: /Users/proclus/usr/local/bin PATH: /Users/proclus/usr/bin PATH: /Users/proclus/usr/X11R6/bin PATH: /Users/proclus/gnu-darwin-func/admin PATH: /usr/local/bin PATH: /usr/X11R6/bin PATH: /sbin PATH: /usr/sbin PATH: /bin PATH: /sbin PATH: /usr/bin PATH: /usr/sbin 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:1778: found /usr/local/bin/gawk configure:1788: result: gawk configure:1798: checking whether make sets $(MAKE) configure:1818: result: yes configure:1997: checking for i386-unknown-gnu-gcc configure:2023: result: cc configure:2305: checking for C compiler version configure:2308: cc --version &5 cc (GCC) 3.3 20030304 (Apple Computer, Inc. build 1809) Copyright (C) 2002 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 &5 Reading specs from /usr/libexec/gcc/darwin/i386/3.3/specs Thread model: posix gcc version 3.3 20030304 (Apple Computer, Inc. build 1809) configure:2316: $? = 0 configure:2318: cc -V &5 cc: `-V' option must have argument configure:2321: $? = 1 configure:2344: checking for C compiler default output file name configure:2347: cc -fno-common 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 -fno-common conftest.c >&5 configure:2444: $? = 0 configure:2469: result: configure:2475: checking for suffix of object files configure:2496: cc -c -fno-common conftest.c >&5 configure:2499: $? = 0 configure:2521: result: configure:2525: checking whether we are using the GNU C compiler configure:2549: cc -c -fno-common conftest.c >&5 configure:2555: $? = 0 configure:2559: test -z || test ! -s conftest.err configure:2562: $? = 0 configure:2565: test -s conftest. configure:2568: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | /* end confdefs.h. */ | | int | main () | { | #ifndef __GNUC__ | choke me | #endif | | ; | return 0; | } configure:2581: result: no 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. configure:2627: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | /* end confdefs.h. */ | | int | main () | { | | ; | return 0; | } configure:2638: result: no configure:2655: checking for cc option to accept ANSI C configure:2725: cc -c -fno-common conftest.c >&5 In file included from /usr/include/sys/_endian.h:103, from /usr/include/i386/endian.h:92, from /usr/include/machine/endian.h:32, from /usr/include/sys/types.h:75, from conftest.c:13: /usr/local/include/stdint.h:162: error: conflicting types for `int8_t' /usr/include/i386/types.h:72: error: previous declaration of `int8_t' /usr/local/include/stdint.h:272: error: conflicting types for `uintptr_t' /usr/include/i386/types.h:99: error: previous declaration of `uintptr_t' configure:2731: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | /* end confdefs.h. */ | #include | #include | #include | #include | /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ | struct buf { int x; }; | FILE * (*rcsopen) (struct buf *, struct stat *, int); | static char *e (p, i) | char **p; | int i; | { | return p[i]; | } | static char *f (char * (*g) (char **, int), char **p, ...) | { | char *s; | va_list v; | va_start (v,p); | s = g (p, va_arg (v,int)); | va_end (v); | return s; | } | | /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has | function prototypes and stuff, but not '\xHH' hex character constants. | These don't provoke an error unfortunately, instead are silently treated | as 'x'. The following induces an error, until -std1 is added to get | proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an | array size at least. It's necessary to write '\x00'==0 to get something | that's true only with -std1. */ | int osf4_cc_array ['\x00' == 0 ? 1 : -1]; | | int test (int i, double x); | struct s1 {int (*f) (int a);}; | struct s2 {int (*f) (double a);}; | int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); | int argc; | char **argv; | int | main () | { | return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; | ; | return 0; | } configure:2725: cc -qlanglvl=ansi -c -fno-common conftest.c >&5 cc: unrecognized option `-qlanglvl=ansi' In file included from /usr/include/sys/_endian.h:103, from /usr/include/i386/endian.h:92, from /usr/include/machine/endian.h:32, from /usr/include/sys/types.h:75, from conftest.c:13: /usr/local/include/stdint.h:162: error: conflicting types for `int8_t' /usr/include/i386/types.h:72: error: previous declaration of `int8_t' /usr/local/include/stdint.h:272: error: conflicting types for `uintptr_t' /usr/include/i386/types.h:99: error: previous declaration of `uintptr_t' configure:2731: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | /* end confdefs.h. */ | #include | #include | #include | #include | /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ | struct buf { int x; }; | FILE * (*rcsopen) (struct buf *, struct stat *, int); | static char *e (p, i) | char **p; | int i; | { | return p[i]; | } | static char *f (char * (*g) (char **, int), char **p, ...) | { | char *s; | va_list v; | va_start (v,p); | s = g (p, va_arg (v,int)); | va_end (v); | return s; | } | | /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has | function prototypes and stuff, but not '\xHH' hex character constants. | These don't provoke an error unfortunately, instead are silently treated | as 'x'. The following induces an error, until -std1 is added to get | proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an | array size at least. It's necessary to write '\x00'==0 to get something | that's true only with -std1. */ | int osf4_cc_array ['\x00' == 0 ? 1 : -1]; | | int test (int i, double x); | struct s1 {int (*f) (int a);}; | struct s2 {int (*f) (double a);}; | int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); | int argc; | char **argv; | int | main () | { | return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; | ; | return 0; | } configure:2725: cc -std1 -c -fno-common conftest.c >&5 cc1: error: unrecognized option `-std1' configure:2731: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | /* end confdefs.h. */ | #include | #include | #include | #include | /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ | struct buf { int x; }; | FILE * (*rcsopen) (struct buf *, struct stat *, int); | static char *e (p, i) | char **p; | int i; | { | return p[i]; | } | static char *f (char * (*g) (char **, int), char **p, ...) | { | char *s; | va_list v; | va_start (v,p); | s = g (p, va_arg (v,int)); | va_end (v); | return s; | } | | /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has | function prototypes and stuff, but not '\xHH' hex character constants. | These don't provoke an error unfortunately, instead are silently treated | as 'x'. The following induces an error, until -std1 is added to get | proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an | array size at least. It's necessary to write '\x00'==0 to get something | that's true only with -std1. */ | int osf4_cc_array ['\x00' == 0 ? 1 : -1]; | | int test (int i, double x); | struct s1 {int (*f) (int a);}; | struct s2 {int (*f) (double a);}; | int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); | int argc; | char **argv; | int | main () | { | return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; | ; | return 0; | } configure:2725: cc -Ae -c -fno-common conftest.c >&5 :6:2: missing '(' after predicate In file included from /usr/include/sys/_endian.h:103, from /usr/include/i386/endian.h:92, from /usr/include/machine/endian.h:32, from /usr/include/sys/types.h:75, from conftest.c:13: /usr/local/include/stdint.h:162: error: conflicting types for `int8_t' /usr/include/i386/types.h:72: error: previous declaration of `int8_t' /usr/local/include/stdint.h:272: error: conflicting types for `uintptr_t' /usr/include/i386/types.h:99: error: previous declaration of `uintptr_t' configure:2731: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | /* end confdefs.h. */ | #include | #include | #include | #include | /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ | struct buf { int x; }; | FILE * (*rcsopen) (struct buf *, struct stat *, int); | static char *e (p, i) | char **p; | int i; | { | return p[i]; | } | static char *f (char * (*g) (char **, int), char **p, ...) | { | char *s; | va_list v; | va_start (v,p); | s = g (p, va_arg (v,int)); | va_end (v); | return s; | } | | /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has | function prototypes and stuff, but not '\xHH' hex character constants. | These don't provoke an error unfortunately, instead are silently treated | as 'x'. The following induces an error, until -std1 is added to get | proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an | array size at least. It's necessary to write '\x00'==0 to get something | that's true only with -std1. */ | int osf4_cc_array ['\x00' == 0 ? 1 : -1]; | | int test (int i, double x); | struct s1 {int (*f) (int a);}; | struct s2 {int (*f) (double a);}; | int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); | int argc; | char **argv; | int | main () | { | return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; | ; | return 0; | } configure:2725: cc -Aa -D_HPUX_SOURCE -c -fno-common conftest.c >&5 :6:2: missing '(' after predicate In file included from /usr/include/sys/_endian.h:103, from /usr/include/i386/endian.h:92, from /usr/include/machine/endian.h:32, from /usr/include/sys/types.h:75, from conftest.c:13: /usr/local/include/stdint.h:162: error: conflicting types for `int8_t' /usr/include/i386/types.h:72: error: previous declaration of `int8_t' /usr/local/include/stdint.h:272: error: conflicting types for `uintptr_t' /usr/include/i386/types.h:99: error: previous declaration of `uintptr_t' configure:2731: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | /* end confdefs.h. */ | #include | #include | #include | #include | /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ | struct buf { int x; }; | FILE * (*rcsopen) (struct buf *, struct stat *, int); | static char *e (p, i) | char **p; | int i; | { | return p[i]; | } | static char *f (char * (*g) (char **, int), char **p, ...) | { | char *s; | va_list v; | va_start (v,p); | s = g (p, va_arg (v,int)); | va_end (v); | return s; | } | | /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has | function prototypes and stuff, but not '\xHH' hex character constants. | These don't provoke an error unfortunately, instead are silently treated | as 'x'. The following induces an error, until -std1 is added to get | proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an | array size at least. It's necessary to write '\x00'==0 to get something | that's true only with -std1. */ | int osf4_cc_array ['\x00' == 0 ? 1 : -1]; | | int test (int i, double x); | struct s1 {int (*f) (int a);}; | struct s2 {int (*f) (double a);}; | int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); | int argc; | char **argv; | int | main () | { | return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; | ; | return 0; | } configure:2725: cc -Xc -D__EXTENSIONS__ -c -fno-common conftest.c >&5 cc: unrecognized option `-Xc' In file included from /usr/include/sys/_endian.h:103, from /usr/include/i386/endian.h:92, from /usr/include/machine/endian.h:32, from /usr/include/sys/types.h:75, from conftest.c:13: /usr/local/include/stdint.h:162: error: conflicting types for `int8_t' /usr/include/i386/types.h:72: error: previous declaration of `int8_t' /usr/local/include/stdint.h:272: error: conflicting types for `uintptr_t' /usr/include/i386/types.h:99: error: previous declaration of `uintptr_t' configure:2731: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | /* end confdefs.h. */ | #include | #include | #include | #include | /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ | struct buf { int x; }; | FILE * (*rcsopen) (struct buf *, struct stat *, int); | static char *e (p, i) | char **p; | int i; | { | return p[i]; | } | static char *f (char * (*g) (char **, int), char **p, ...) | { | char *s; | va_list v; | va_start (v,p); | s = g (p, va_arg (v,int)); | va_end (v); | return s; | } | | /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has | function prototypes and stuff, but not '\xHH' hex character constants. | These don't provoke an error unfortunately, instead are silently treated | as 'x'. The following induces an error, until -std1 is added to get | proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an | array size at least. It's necessary to write '\x00'==0 to get something | that's true only with -std1. */ | int osf4_cc_array ['\x00' == 0 ? 1 : -1]; | | int test (int i, double x); | struct s1 {int (*f) (int a);}; | struct s2 {int (*f) (double a);}; | int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); | int argc; | char **argv; | int | main () | { | return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; | ; | return 0; | } configure:2762: result: none needed configure:2780: cc -c -fno-common 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.4" | /* end confdefs.h. */ | #include 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.4" | /* end confdefs.h. */ | #include configure:3334: checking build system type configure:3352: result: i386-unknown-gnu configure:3360: checking host system type configure:3374: result: i386-unknown-gnu configure:3382: checking host platform configure:3401: result: i386-unknown-gnu 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/local/bin/sed configure:3616: checking for egrep configure:3626: result: grep -E configure:3675: checking for non-GNU ld configure:3709: result: /usr/bin/ld configure:3718: checking if the linker (/usr/bin/ld) is GNU ld configure:3733: result: no configure:3738: checking for /usr/bin/ld option to reload object files configure:3745: result: -r configure:3763: checking for BSD-compatible nm configure:3812: result: /usr/bin/nm -p configure:3816: checking whether ln -s works configure:3820: result: yes configure:3827: checking how to recognise dependent libraries configure:4003: result: pass_all configure:4236: checking for ANSI C header files configure:4261: cc -c -fno-common conftest.c >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.c:11: /usr/include/i386/types.h:72: error: conflicting types for `int8_t' /usr/local/include/stdint.h:162: error: previous declaration of `int8_t' /usr/include/i386/types.h:99: error: conflicting types for `uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration of `uintptr_t' configure:4267: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | /* end confdefs.h. */ | #include | #include | #include | #include | | int | main () | { | | ; | return 0; | } configure:4389: result: no configure:4413: checking for sys/types.h configure:4429: cc -c -fno-common conftest.c >&5 In file included from /usr/include/sys/_endian.h:103, from /usr/include/i386/endian.h:92, from /usr/include/machine/endian.h:32, from /usr/include/sys/types.h:75, from conftest.c:46: /usr/local/include/stdint.h:162: error: conflicting types for `int8_t' /usr/include/i386/types.h:72: error: previous declaration of `int8_t' /usr/local/include/stdint.h:272: error: conflicting types for `uintptr_t' /usr/include/i386/types.h:99: error: previous declaration of `uintptr_t' configure:4435: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | /* end confdefs.h. */ | #include | #if HAVE_SYS_TYPES_H | # include | #endif | #if HAVE_SYS_STAT_H | # include | #endif | #if STDC_HEADERS | # include | # include | #else | # if HAVE_STDLIB_H | # include | # endif | #endif | #if HAVE_STRING_H | # if !STDC_HEADERS && HAVE_MEMORY_H | # include | # endif | # include | #endif | #if HAVE_STRINGS_H | # include | #endif | #if HAVE_INTTYPES_H | # include | #else | # if HAVE_STDINT_H | # include | # endif | #endif | #if HAVE_UNISTD_H | # include | #endif | | #include configure:4459: result: no configure:4413: checking for sys/stat.h configure:4429: cc -c -fno-common conftest.c >&5 configure:4435: $? = 0 configure:4439: test -z || test ! -s conftest.err configure:4442: $? = 0 configure:4445: test -s conftest. configure:4448: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | /* end confdefs.h. */ | #include | #if HAVE_SYS_TYPES_H | # include | #endif | #if HAVE_SYS_STAT_H | # include | #endif | #if STDC_HEADERS | # include | # include | #else | # if HAVE_STDLIB_H | # include | # endif | #endif | #if HAVE_STRING_H | # if !STDC_HEADERS && HAVE_MEMORY_H | # include | # endif | # include | #endif | #if HAVE_STRINGS_H | # include | #endif | #if HAVE_INTTYPES_H | # include | #else | # if HAVE_STDINT_H | # include | # endif | #endif | #if HAVE_UNISTD_H | # include | #endif | | #include configure:4459: result: no configure:4413: checking for stdlib.h configure:4429: cc -c -fno-common conftest.c >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.c:46: /usr/include/i386/types.h:72: error: conflicting types for `int8_t' /usr/local/include/stdint.h:162: error: previous declaration of `int8_t' /usr/include/i386/types.h:99: error: conflicting types for `uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration of `uintptr_t' configure:4435: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | /* end confdefs.h. */ | #include | #if HAVE_SYS_TYPES_H | # include | #endif | #if HAVE_SYS_STAT_H | # include | #endif | #if STDC_HEADERS | # include | # include | #else | # if HAVE_STDLIB_H | # include | # endif | #endif | #if HAVE_STRING_H | # if !STDC_HEADERS && HAVE_MEMORY_H | # include | # endif | # include | #endif | #if HAVE_STRINGS_H | # include | #endif | #if HAVE_INTTYPES_H | # include | #else | # if HAVE_STDINT_H | # include | # endif | #endif | #if HAVE_UNISTD_H | # include | #endif | | #include configure:4459: result: no configure:4413: checking for string.h configure:4429: cc -c -fno-common conftest.c >&5 configure:4435: $? = 0 configure:4439: test -z || test ! -s conftest.err configure:4442: $? = 0 configure:4445: test -s conftest. configure:4448: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | /* end confdefs.h. */ | #include | #if HAVE_SYS_TYPES_H | # include | #endif | #if HAVE_SYS_STAT_H | # include | #endif | #if STDC_HEADERS | # include | # include | #else | # if HAVE_STDLIB_H | # include | # endif | #endif | #if HAVE_STRING_H | # if !STDC_HEADERS && HAVE_MEMORY_H | # include | # endif | # include | #endif | #if HAVE_STRINGS_H | # include | #endif | #if HAVE_INTTYPES_H | # include | #else | # if HAVE_STDINT_H | # include | # endif | #endif | #if HAVE_UNISTD_H | # include | #endif | | #include configure:4459: result: no configure:4413: checking for memory.h configure:4429: cc -c -fno-common conftest.c >&5 configure:4435: $? = 0 configure:4439: test -z || test ! -s conftest.err configure:4442: $? = 0 configure:4445: test -s conftest. configure:4448: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | /* end confdefs.h. */ | #include | #if HAVE_SYS_TYPES_H | # include | #endif | #if HAVE_SYS_STAT_H | # include | #endif | #if STDC_HEADERS | # include | # include | #else | # if HAVE_STDLIB_H | # include | # endif | #endif | #if HAVE_STRING_H | # if !STDC_HEADERS && HAVE_MEMORY_H | # include | # endif | # include | #endif | #if HAVE_STRINGS_H | # include | #endif | #if HAVE_INTTYPES_H | # include | #else | # if HAVE_STDINT_H | # include | # endif | #endif | #if HAVE_UNISTD_H | # include | #endif | | #include configure:4459: result: no configure:4413: checking for strings.h configure:4429: cc -c -fno-common conftest.c >&5 configure:4435: $? = 0 configure:4439: test -z || test ! -s conftest.err configure:4442: $? = 0 configure:4445: test -s conftest. configure:4448: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | /* end confdefs.h. */ | #include | #if HAVE_SYS_TYPES_H | # include | #endif | #if HAVE_SYS_STAT_H | # include | #endif | #if STDC_HEADERS | # include | # include | #else | # if HAVE_STDLIB_H | # include | # endif | #endif | #if HAVE_STRING_H | # if !STDC_HEADERS && HAVE_MEMORY_H | # include | # endif | # include | #endif | #if HAVE_STRINGS_H | # include | #endif | #if HAVE_INTTYPES_H | # include | #else | # if HAVE_STDINT_H | # include | # endif | #endif | #if HAVE_UNISTD_H | # include | #endif | | #include configure:4459: result: no configure:4413: checking for inttypes.h configure:4429: cc -c -fno-common conftest.c >&5 configure:4435: $? = 0 configure:4439: test -z || test ! -s conftest.err configure:4442: $? = 0 configure:4445: test -s conftest. configure:4448: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | /* end confdefs.h. */ | #include | #if HAVE_SYS_TYPES_H | # include | #endif | #if HAVE_SYS_STAT_H | # include | #endif | #if STDC_HEADERS | # include | # include | #else | # if HAVE_STDLIB_H | # include | # endif | #endif | #if HAVE_STRING_H | # if !STDC_HEADERS && HAVE_MEMORY_H | # include | # endif | # include | #endif | #if HAVE_STRINGS_H | # include | #endif | #if HAVE_INTTYPES_H | # include | #else | # if HAVE_STDINT_H | # include | # endif | #endif | #if HAVE_UNISTD_H | # include | #endif | | #include configure:4459: result: no configure:4413: checking for stdint.h configure:4429: cc -c -fno-common conftest.c >&5 configure:4435: $? = 0 configure:4439: test -z || test ! -s conftest.err configure:4442: $? = 0 configure:4445: test -s conftest. configure:4448: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | /* end confdefs.h. */ | #include | #if HAVE_SYS_TYPES_H | # include | #endif | #if HAVE_SYS_STAT_H | # include | #endif | #if STDC_HEADERS | # include | # include | #else | # if HAVE_STDLIB_H | # include | # endif | #endif | #if HAVE_STRING_H | # if !STDC_HEADERS && HAVE_MEMORY_H | # include | # endif | # include | #endif | #if HAVE_STRINGS_H | # include | #endif | #if HAVE_INTTYPES_H | # include | #else | # if HAVE_STDINT_H | # include | # endif | #endif | #if HAVE_UNISTD_H | # include | #endif | | #include configure:4459: result: no configure:4413: checking for unistd.h configure:4429: cc -c -fno-common conftest.c >&5 In file included from /usr/include/sys/_endian.h:103, from /usr/include/i386/endian.h:92, from /usr/include/machine/endian.h:32, from /usr/include/sys/types.h:75, from /usr/include/sys/select.h:144, from /usr/include/unistd.h:483, from conftest.c:46: /usr/local/include/stdint.h:162: error: conflicting types for `int8_t' /usr/include/i386/types.h:72: error: previous declaration of `int8_t' /usr/local/include/stdint.h:272: error: conflicting types for `uintptr_t' /usr/include/i386/types.h:99: error: previous declaration of `uintptr_t' configure:4435: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | /* end confdefs.h. */ | #include | #if HAVE_SYS_TYPES_H | # include | #endif | #if HAVE_SYS_STAT_H | # include | #endif | #if STDC_HEADERS | # include | # include | #else | # if HAVE_STDLIB_H | # include | # endif | #endif | #if HAVE_STRING_H | # if !STDC_HEADERS && HAVE_MEMORY_H | # include | # endif | # include | #endif | #if HAVE_STRINGS_H | # include | #endif | #if HAVE_INTTYPES_H | # include | #else | # if HAVE_STDINT_H | # include | # endif | #endif | #if HAVE_UNISTD_H | # include | #endif | | #include configure:4459: result: no configure:4485: checking dlfcn.h usability configure:4497: cc -c -fno-common conftest.c >&5 configure:4503: $? = 0 configure:4507: test -z || test ! -s conftest.err configure:4510: $? = 0 configure:4513: test -s conftest. configure:4516: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | /* end confdefs.h. */ | #include | #if HAVE_SYS_TYPES_H | # include | #endif | #if HAVE_SYS_STAT_H | # include | #endif | #if STDC_HEADERS | # include | # include | #else | # if HAVE_STDLIB_H | # include | # endif | #endif | #if HAVE_STRING_H | # if !STDC_HEADERS && HAVE_MEMORY_H | # include | # endif | # include | #endif | #if HAVE_STRINGS_H | # include | #endif | #if HAVE_INTTYPES_H | # include | #else | # if HAVE_STDINT_H | # include | # endif | #endif | #if HAVE_UNISTD_H | # include | #endif | #include configure:4526: result: no configure:4530: checking dlfcn.h presence configure:4540: cc -E conftest.c configure:4546: $? = 0 configure:4566: result: yes configure:4579: WARNING: dlfcn.h: present but cannot be compiled configure:4581: WARNING: dlfcn.h: check for missing prerequisite headers? configure:4583: WARNING: dlfcn.h: see the Autoconf documentation configure:4585: WARNING: dlfcn.h: section "Present But Cannot Be Compiled" configure:4587: WARNING: dlfcn.h: proceeding with the preprocessor's result configure:4589: WARNING: dlfcn.h: in the future, the compiler will take precedence configure:4601: checking for dlfcn.h configure:4608: result: yes configure:4631: checking for i386-unknown-gnu-g++ configure:4657: result: c++ configure:4715: checking for C++ compiler version configure:4718: c++ --version &5 c++ (GCC) 3.3 20030304 (Apple Computer, Inc. build 1809) Copyright (C) 2002 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:4721: $? = 0 configure:4723: c++ -v &5 Reading specs from /usr/libexec/gcc/darwin/i386/3.3/specs Thread model: posix gcc version 3.3 20030304 (Apple Computer, Inc. build 1809) configure:4726: $? = 0 configure:4728: c++ -V &5 c++: `-V' option must have argument configure:4731: $? = 1 configure:4734: checking whether we are using the GNU C++ compiler configure:4758: c++ -c -fno-common conftest.cc >&5 configure:4764: $? = 0 configure:4768: test -z || test ! -s conftest.err configure:4771: $? = 0 configure:4774: test -s conftest. configure:4777: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | /* end confdefs.h. */ | | int | main () | { | #ifndef __GNUC__ | choke me | #endif | | ; | return 0; | } configure:4790: result: no configure:4796: checking whether c++ accepts -g configure:4817: c++ -c -g conftest.cc >&5 configure:4823: $? = 0 configure:4827: test -z || test ! -s conftest.err configure:4830: $? = 0 configure:4833: test -s conftest. configure:4836: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | /* end confdefs.h. */ | | int | main () | { | | ; | return 0; | } configure:4847: result: no configure:4889: c++ -c -fno-common conftest.cc >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.cc:13: /usr/include/i386/types.h:72: error: conflicting types for `typedef signed char int8_t' /usr/local/include/stdint.h:162: error: previous declaration as `typedef char int8_t' /usr/include/i386/types.h:99: error: conflicting types for `typedef long int uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration as `typedef long unsigned int uintptr_t' configure:4895: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | /* end confdefs.h. */ | | #include | int | main () | { | exit (42); | ; | return 0; | } configure:4889: c++ -c -fno-common conftest.cc >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.cc:13: /usr/include/i386/types.h:72: error: conflicting types for `typedef signed char int8_t' /usr/local/include/stdint.h:162: error: previous declaration as `typedef char int8_t' /usr/include/i386/types.h:99: error: conflicting types for `typedef long int uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration as `typedef long unsigned int uintptr_t' configure:4895: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | /* end confdefs.h. */ | extern "C" void std::exit (int) throw (); using std::exit; | #include | int | main () | { | exit (42); | ; | return 0; | } configure:4889: c++ -c -fno-common conftest.cc >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.cc:13: /usr/include/i386/types.h:72: error: conflicting types for `typedef signed char int8_t' /usr/local/include/stdint.h:162: error: previous declaration as `typedef char int8_t' /usr/include/i386/types.h:99: error: conflicting types for `typedef long int uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration as `typedef long unsigned int uintptr_t' configure:4895: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | /* end confdefs.h. */ | extern "C" void std::exit (int); using std::exit; | #include | int | main () | { | exit (42); | ; | return 0; | } configure:4889: c++ -c -fno-common conftest.cc >&5 In file included from conftest.cc:13: /usr/include/stdlib.h:158: error: declaration of `void exit(int)' throws different exceptions conftest.cc:12: error: than previous declaration `void exit(int) throw ()' In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.cc:13: /usr/include/i386/types.h:72: error: conflicting types for `typedef signed char int8_t' /usr/local/include/stdint.h:162: error: previous declaration as `typedef char int8_t' /usr/include/i386/types.h:99: error: conflicting types for `typedef long int uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration as `typedef long unsigned int uintptr_t' configure:4895: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | /* end confdefs.h. */ | extern "C" void exit (int) throw (); | #include | int | main () | { | exit (42); | ; | return 0; | } configure:4889: c++ -c -fno-common conftest.cc >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.cc:13: /usr/include/i386/types.h:72: error: conflicting types for `typedef signed char int8_t' /usr/local/include/stdint.h:162: error: previous declaration as `typedef char int8_t' /usr/include/i386/types.h:99: error: conflicting types for `typedef long int uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration as `typedef long unsigned int uintptr_t' configure:4895: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | /* end confdefs.h. */ | extern "C" void exit (int); | #include | int | main () | { | exit (42); | ; | return 0; | } configure:4889: c++ -c -fno-common conftest.cc >&5 In file included from conftest.cc:13: conftest.cc:12: error: previous declaration of `void exit(int)' with C++ linkage /usr/include/stdlib.h:158: error: conflicts with new declaration with C linkage In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.cc:13: /usr/include/i386/types.h:72: error: conflicting types for `typedef signed char int8_t' /usr/local/include/stdint.h:162: error: previous declaration as `typedef char int8_t' /usr/include/i386/types.h:99: error: conflicting types for `typedef long int uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration as `typedef long unsigned int uintptr_t' configure:4895: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | /* end confdefs.h. */ | void exit (int); | #include | int | main () | { | exit (42); | ; | return 0; | } configure:4978: checking dependency style of c++ configure:5068: result: none configure:5095: checking how to run the C++ preprocessor configure:5126: c++ -E conftest.cc configure:5132: $? = 0 configure:5164: c++ -E conftest.cc conftest.cc:15:28: ac_nonexistent.h: No such file or directory configure:5170: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | /* end confdefs.h. */ | #include configure:5209: result: c++ -E configure:5233: c++ -E conftest.cc configure:5239: $? = 0 configure:5271: c++ -E conftest.cc conftest.cc:15:28: ac_nonexistent.h: No such file or directory configure:5277: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | /* end confdefs.h. */ | #include configure:5332: checking for i386-unknown-gnu-g77 configure:5361: result: no configure:5332: checking for i386-unknown-gnu-f77 configure:5361: result: no configure:5332: checking for i386-unknown-gnu-xlf configure:5361: result: no configure:5332: checking for i386-unknown-gnu-frt configure:5361: result: no configure:5332: checking for i386-unknown-gnu-pgf77 configure:5361: result: no configure:5332: checking for i386-unknown-gnu-fort77 configure:5361: result: no configure:5332: checking for i386-unknown-gnu-fl32 configure:5361: result: no configure:5332: checking for i386-unknown-gnu-af77 configure:5361: result: no configure:5332: checking for i386-unknown-gnu-f90 configure:5361: result: no configure:5332: checking for i386-unknown-gnu-xlf90 configure:5361: result: no configure:5332: checking for i386-unknown-gnu-pgf90 configure:5361: result: no configure:5332: checking for i386-unknown-gnu-epcf90 configure:5361: result: no configure:5332: checking for i386-unknown-gnu-f95 configure:5361: result: no configure:5332: checking for i386-unknown-gnu-fort configure:5361: result: no configure:5332: checking for i386-unknown-gnu-xlf95 configure:5361: result: no configure:5332: checking for i386-unknown-gnu-ifc configure:5361: result: no configure:5332: checking for i386-unknown-gnu-efc configure:5361: result: no configure:5332: checking for i386-unknown-gnu-pgf95 configure:5361: result: no configure:5332: checking for i386-unknown-gnu-lf95 configure:5361: result: no configure:5332: checking for i386-unknown-gnu-gfortran configure:5361: result: no configure:5374: checking for g77 configure:5390: found /usr/local/bin/g77 configure:5400: result: g77 configure:5418: checking for Fortran 77 compiler version configure:5418: g77 --version &5 sh: -c: line 1: syntax error near unexpected token `|' sh: -c: line 1: `/usr/local/bin/g77 -1 < | f2c -f | /usr/local/bin/g77 -2 > /tmp/' cc (GCC) 3.3 20030304 (Apple Computer, Inc. build 1809) Copyright (C) 2002 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:5421: $? = 0 configure:5423: g77 -v &5 sh: -c: line 1: syntax error near unexpected token `|' sh: -c: line 1: `/usr/local/bin/g77 -1 < | f2c -f | /usr/local/bin/g77 -2 > /tmp/' Reading specs from /usr/libexec/gcc/darwin/i386/3.3/specs Thread model: posix gcc version 3.3 20030304 (Apple Computer, Inc. build 1809) cc: /tmp/: linker input file unused because linking not done configure:5426: $? = 0 configure:5428: g77 -V &5 sh: -c: line 1: syntax error near unexpected token `|' sh: -c: line 1: `/usr/local/bin/g77 -1 < | f2c -f | /usr/local/bin/g77 -2 > /tmp/' cc: `-V' must come at the start of the command line configure:5431: $? = 0 configure:5439: checking whether we are using the GNU Fortran 77 compiler configure:5453: g77 -c conftest.F >&5 Error on line 2: Bad # line: "#ifndef __GNUC__" Error on line 4: Bad # line: "#endif" Error on line 3: unclassifiable statement (starts "chokeme") cc: /tmp/conftest.F: Fortran compiler not installed on this system configure:5459: $? = 0 configure:5463: test -z || test ! -s conftest.err configure:5466: $? = 0 configure:5469: test -s conftest. configure:5472: $? = 1 configure: failed program was: | program main | #ifndef __GNUC__ | choke me | #endif | | end configure:5485: result: no configure:5491: checking whether g77 accepts -g configure:5503: g77 -c -g conftest.f >&5 configure:5509: $? = 0 configure:5513: test -z || test ! -s conftest.err configure:5516: $? = 0 configure:5519: test -s conftest. configure:5522: $? = 1 configure: failed program was: | program main | | end configure:5534: result: no configure:5564: checking the maximum length of command line arguments configure:5673: result: configure:5684: checking command to parse /usr/bin/nm -p output from cc object configure:5789: cc -c -fno-common conftest.c >&5 configure:5792: $? = 0 configure:5796: /usr/bin/nm -p conftest. \| sed -n -e 's/^.*[ ]\([BCDEGRST][BCDEGRST]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' \> conftest.nm /usr/bin/nm: can't open file: conftest. (No such file or directory) configure:5799: $? = 0 cannot run sed -n -e 's/^.*[ ]\([BCDEGRST][BCDEGRST]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' configure:5789: cc -c -fno-common conftest.c >&5 configure:5792: $? = 0 configure:5796: /usr/bin/nm -p conftest. \| sed -n -e 's/^.*[ ]\([BCDEGRST][BCDEGRST]*\)[ ][ ]*_\([_A-Za-z][_A-Za-z0-9]*\)$/\1 _\2 \2/p' \> conftest.nm /usr/bin/nm: can't open file: conftest. (No such file or directory) configure:5799: $? = 0 cannot run sed -n -e 's/^.*[ ]\([BCDEGRST][BCDEGRST]*\)[ ][ ]*_\([_A-Za-z][_A-Za-z0-9]*\)$/\1 _\2 \2/p' configure:5889: result: failed configure:5896: checking for objdir configure:5911: result: .libs configure:5963: checking for i386-unknown-gnu-ar configure:5992: result: no configure:6001: checking for ar configure:6017: found /usr/bin/ar configure:6028: result: ar configure:6043: checking for i386-unknown-gnu-ranlib configure:6072: result: no configure:6081: checking for ranlib configure:6097: found /usr/bin/ranlib configure:6108: result: ranlib configure:6123: checking for i386-unknown-gnu-strip configure:6152: result: no configure:6161: checking for strip configure:6177: found /usr/bin/strip configure:6188: result: strip configure:6514: checking for cc option to produce PIC configure:6724: result: configure:6795: checking if cc static flag works configure:6823: result: yes configure:6833: checking if cc supports -c -o file.o configure:6857: cc -c -fno-common -o out/conftest2.o conftest.c >&5 configure:6861: $? = 0 configure:6880: result: yes configure:6906: checking whether the cc linker (/usr/bin/ld) supports shared libraries configure:7864: result: no configure:7931: checking dynamic linker characteristics configure:8519: result: gnu ld.so configure:8528: checking how to hardcode library paths into programs configure:8553: result: unsupported configure:8567: checking whether stripping libraries is possible configure:8588: result: no configure:9406: checking if libtool supports shared libraries configure:9408: result: no configure:9411: checking whether to build shared libraries configure:9432: result: no configure:9435: checking whether to build static libraries configure:9439: result: yes configure:9531: creating libtool configure:10261: checking whether the c++ linker (/usr/bin/ld) supports shared libraries configure:11199: result: yes configure:11221: c++ -c -fno-common conftest.cpp >&5 configure:11224: $? = 0 configure:11343: checking for c++ option to produce PIC configure:11617: result: configure:11688: checking if c++ static flag works configure:11716: result: yes configure:11726: checking if c++ supports -c -o file.o configure:11750: c++ -c -fno-common -o out/conftest2.o conftest.cpp >&5 configure:11754: $? = 0 configure:11773: result: yes configure:11799: checking whether the c++ linker (/usr/bin/ld) supports shared libraries configure:11824: result: yes configure:11891: checking dynamic linker characteristics configure:12479: result: gnu ld.so configure:12488: checking how to hardcode library paths into programs configure:12513: result: unsupported configure:13039: checking if libtool supports shared libraries configure:13041: result: no configure:13044: checking whether to build shared libraries configure:13064: result: no configure:13067: checking whether to build static libraries configure:13071: result: yes configure:13081: checking for g77 option to produce PIC configure:13291: result: configure:13362: checking if g77 static flag works configure:13390: result: yes configure:13400: checking if g77 supports -c -o file.o configure:13424: g77 -c -o out/conftest2.o conftest.f >&5 configure:13428: $? = 0 configure:13447: result: yes configure:13473: checking whether the g77 linker (/usr/bin/ld) supports shared libraries configure:14411: result: no configure:14478: checking dynamic linker characteristics configure:15066: result: gnu ld.so configure:15075: checking how to hardcode library paths into programs configure:15100: result: unsupported configure:18687: checking sys/signal.h usability configure:18699: cc -c -fno-common conftest.c >&5 configure:18705: $? = 0 configure:18709: test -z || test ! -s conftest.err configure:18712: $? = 0 configure:18715: test -s conftest.o configure:18718: $? = 0 configure:18728: result: yes configure:18732: checking sys/signal.h presence configure:18742: cc -E conftest.c configure:18748: $? = 0 configure:18768: result: yes configure:18803: checking for sys/signal.h configure:18810: result: yes configure:18851: checking for unistd.h configure:18856: result: no configure:18998: checking for getpagesize configure:19026: cc -o conftest -fno-common conftest.c >&5 configure:19032: $? = 0 configure:19036: test -z || test ! -s conftest.err configure:19039: $? = 0 configure:19042: test -s conftest configure:19045: $? = 0 configure:19057: result: yes configure:19068: checking for sysconf(_SC_PAGESIZE) configure:19096: cc -o conftest -fno-common conftest.c >&5 conftest.c: In function `main': conftest.c:28: error: `_SC_PAGESIZE' undeclared (first use in this function) conftest.c:28: error: (Each undeclared identifier is reported only once conftest.c:28: error: for each function it appears in.) configure:19102: $? = 1 configure: failed program was: | | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | /* end confdefs.h. */ | | #if HAVE_UNISTD_H | #include | #include | #endif | | int | main () | { | int pgsz = sysconf (_SC_PAGESIZE); | ; | return 0; | } configure:19127: result: no configure:19138: checking for PAGESIZE in limits.h configure:19161: cc -o conftest -fno-common conftest.c >&5 conftest.c: In function `main': conftest.c:23: error: `PAGESIZE' undeclared (first use in this function) conftest.c:23: error: (Each undeclared identifier is reported only once conftest.c:23: error: for each function it appears in.) configure:19167: $? = 1 configure: failed program was: | | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | /* end confdefs.h. */ | #include | int | main () | { | int pgsz = PAGESIZE; | ; | return 0; | } configure:19192: result: no configure:19212: checking for mmap with MAP_ANON configure:19295: cc -o conftest -fno-common conftest.c >&5 In file included from /usr/include/sys/_endian.h:103, from /usr/include/i386/endian.h:92, from /usr/include/machine/endian.h:32, from /usr/include/sys/types.h:75, from conftest.c:20: /usr/local/include/stdint.h:162: error: conflicting types for `int8_t' /usr/include/i386/types.h:72: error: previous declaration of `int8_t' /usr/local/include/stdint.h:272: error: conflicting types for `uintptr_t' /usr/include/i386/types.h:99: error: previous declaration of `uintptr_t' configure:19298: $? = 1 configure: program exited with status 1 configure: failed program was: | | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | /* end confdefs.h. */ | | #include | #include | int main () | { | void *p = mmap (0, 0x10000, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE, -1, 0); | return (p == (void *)(-1)); | } configure:19318: result: no configure:19329: checking for mmap with MAP_ANONYMOUS configure:19412: cc -o conftest -fno-common conftest.c >&5 In file included from /usr/include/sys/_endian.h:103, from /usr/include/i386/endian.h:92, from /usr/include/machine/endian.h:32, from /usr/include/sys/types.h:75, from conftest.c:20: /usr/local/include/stdint.h:162: error: conflicting types for `int8_t' /usr/include/i386/types.h:72: error: previous declaration of `int8_t' /usr/local/include/stdint.h:272: error: conflicting types for `uintptr_t' /usr/include/i386/types.h:99: error: previous declaration of `uintptr_t' conftest.c: In function `main': conftest.c:24: error: `MAP_ANONYMOUS' undeclared (first use in this function) conftest.c:24: error: (Each undeclared identifier is reported only once conftest.c:24: error: for each function it appears in.) configure:19415: $? = 1 configure: program exited with status 1 configure: failed program was: | | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | /* end confdefs.h. */ | | #include | #include | int main () | { | void *p = mmap (0, 0x10000, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0); | return (p == (void *)(-1)); | } configure:19435: result: no configure:19446: checking for mmap of /dev/zero configure:19540: cc -o conftest -fno-common conftest.c >&5 In file included from /usr/include/sys/_endian.h:103, from /usr/include/i386/endian.h:92, from /usr/include/machine/endian.h:32, from /usr/include/sys/types.h:75, from conftest.c:20: /usr/local/include/stdint.h:162: error: conflicting types for `int8_t' /usr/include/i386/types.h:72: error: previous declaration of `int8_t' /usr/local/include/stdint.h:272: error: conflicting types for `uintptr_t' /usr/include/i386/types.h:99: error: previous declaration of `uintptr_t' configure:19543: $? = 1 configure: program exited with status 1 configure: failed program was: | | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | /* end confdefs.h. */ | | #include | #include | #include | #ifndef MAP_FILE | #define MAP_FILE 0 | #endif | int main () | { | int fd; | void *p; | fd = open ("/dev/zero", O_RDONLY, 0666); | if (fd < 0) return 1; | p = mmap (0, 0x10000, PROT_READ | PROT_WRITE, MAP_FILE | MAP_PRIVATE, fd, 0); | return (p == (void *)(-1)); | } configure:19563: result: no configure:19587: checking whether a fault handler according to POSIX works configure:19749: cc -o conftest -fno-common conftest.c >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.c:20: /usr/include/i386/types.h:72: error: conflicting types for `int8_t' /usr/local/include/stdint.h:162: error: previous declaration of `int8_t' /usr/include/i386/types.h:99: error: conflicting types for `uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration of `uintptr_t' conftest.c: In function `main': conftest.c:78: error: `map_flags' undeclared (first use in this function) conftest.c:78: error: (Each undeclared identifier is reported only once conftest.c:78: error: for each function it appears in.) conftest.c:78: error: `zero_fd' undeclared (first use in this function) configure:19752: $? = 1 configure: program exited with status 1 configure: failed program was: | | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | /* end confdefs.h. */ | | #include | #include | #if HAVE_SYS_SIGNAL_H | # include | #endif | | #include | #include | #if HAVE_MMAP_DEVZERO | # include | # ifndef MAP_FILE | # define MAP_FILE 0 | # endif | #endif | #ifndef PROT_NONE | # define PROT_NONE 0 | #endif | #if HAVE_MMAP_ANON | # define zero_fd -1 | # define map_flags MAP_ANON | MAP_PRIVATE | #elif HAVE_MMAP_ANONYMOUS | # define zero_fd -1 | # define map_flags MAP_ANONYMOUS | MAP_PRIVATE | #elif HAVE_MMAP_DEVZERO | static int zero_fd; | # define map_flags MAP_FILE | MAP_PRIVATE | #endif | unsigned long page; | int handler_called = 0; | void sigsegv_handler (int sig, siginfo_t *sip, void *ucp) | { | void *fault_address = (void *) (sip->si_addr); | handler_called++; | if (handler_called == 10) | exit (4); | if (fault_address != (void*)(page + 0x678)) | exit (3); | if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0) | exit (2); | } | void crasher (unsigned long p) | { | *(int *) (p + 0x678) = 42; | } | int main () | { | void *p; | struct sigaction action; | /* Preparations. */ | #if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO | zero_fd = open ("/dev/zero", O_RDONLY, 0644); | #endif | /* Setup some mmaped memory. */ | #ifdef __hpux | /* HP-UX 10 mmap() often fails when given a hint. So give the OS complete | freedom about the address range. */ | p = mmap ((void *) 0, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0); | #else | p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0); | #endif | if (p == (void *)(-1)) | exit (2); | page = (unsigned long) p; | /* Make it read-only. */ | if (mprotect ((void *) page, 0x10000, PROT_READ) < 0) | exit (2); | /* Install the SIGSEGV handler. */ | sigemptyset(&action.sa_mask); | action.sa_sigaction = &sigsegv_handler; | action.sa_flags = SA_SIGINFO; | sigaction (SIGSEGV, &action, (struct sigaction *) NULL); | sigaction (SIGBUS, &action, (struct sigaction *) NULL); | /* The first write access should invoke the handler and then complete. */ | crasher (page); | /* The second write access should not invoke the handler. */ | crasher (page); | /* Check that the handler was called only once. */ | if (handler_called != 1) | exit (1); | /* Test passed! */ | return 0; | } configure:19772: result: no configure:19780: checking whether a fault handler according to Linux/i386 works configure:19943: cc -o conftest -fno-common conftest.c >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.c:20: /usr/include/i386/types.h:72: error: conflicting types for `int8_t' /usr/local/include/stdint.h:162: error: previous declaration of `int8_t' /usr/include/i386/types.h:99: error: conflicting types for `uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration of `uintptr_t' conftest.c:25:28: asm/sigcontext.h: No such file or directory conftest.c: In function `sigsegv_handler': conftest.c:51: error: structure has no member named `cr2' conftest.c: In function `main': conftest.c:78: error: `map_flags' undeclared (first use in this function) conftest.c:78: error: (Each undeclared identifier is reported only once conftest.c:78: error: for each function it appears in.) conftest.c:78: error: `zero_fd' undeclared (first use in this function) configure:19946: $? = 1 configure: program exited with status 1 configure: failed program was: | | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | /* end confdefs.h. */ | | #include | #include | #if HAVE_SYS_SIGNAL_H | # include | #endif | #include | #include | #include | #if HAVE_MMAP_DEVZERO | # include | # 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:19966: result: no configure:19974: checking whether a fault handler according to old Linux/i386 works configure:20137: cc -o conftest -fno-common conftest.c >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.c:20: /usr/include/i386/types.h:72: error: conflicting types for `int8_t' /usr/local/include/stdint.h:162: error: previous declaration of `int8_t' /usr/include/i386/types.h:99: error: conflicting types for `uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration of `uintptr_t' conftest.c: In function `main': conftest.c:78: error: `map_flags' undeclared (first use in this function) conftest.c:78: error: (Each undeclared identifier is reported only once conftest.c:78: error: for each function it appears in.) conftest.c:78: error: `zero_fd' undeclared (first use in this function) configure:20140: $? = 1 configure: program exited with status 1 configure: failed program was: | | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | /* end confdefs.h. */ | | #include | #include | #if HAVE_SYS_SIGNAL_H | # include | #endif | | #include | #include | #if HAVE_MMAP_DEVZERO | # include | # 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:20160: result: no configure:20168: checking whether a fault handler according to Linux/m68k works configure:20333: cc -o conftest -fno-common conftest.c >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.c:20: /usr/include/i386/types.h:72: error: conflicting types for `int8_t' /usr/local/include/stdint.h:162: error: previous declaration of `int8_t' /usr/include/i386/types.h:99: error: conflicting types for `uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration of `uintptr_t' conftest.c:25:28: asm/sigcontext.h: No such file or directory In file included from conftest.c:26: src/fault-linux-m68k.c: In function `get_fault_addr': src/fault-linux-m68k.c:22: error: structure has no member named `sc_formatvec' conftest.c: In function `main': conftest.c:79: error: `map_flags' undeclared (first use in this function) conftest.c:79: error: (Each undeclared identifier is reported only once conftest.c:79: error: for each function it appears in.) conftest.c:79: error: `zero_fd' undeclared (first use in this function) configure:20336: $? = 1 configure: program exited with status 1 configure: failed program was: | | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | /* end confdefs.h. */ | | #include | #include | #if HAVE_SYS_SIGNAL_H | # include | #endif | #include | #include "./src/fault-linux-m68k.c" | #include | #include | #if HAVE_MMAP_DEVZERO | # include | # 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:20356: result: no configure:20364: checking whether a fault handler according to Linux/PowerPC works configure:20527: cc -o conftest -fno-common conftest.c >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.c:20: /usr/include/i386/types.h:72: error: conflicting types for `int8_t' /usr/local/include/stdint.h:162: error: previous declaration of `int8_t' /usr/include/i386/types.h:99: error: conflicting types for `uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration of `uintptr_t' conftest.c:25:28: asm/sigcontext.h: No such file or directory conftest.c: In function `sigsegv_handler': conftest.c:51: error: structure has no member named `regs' conftest.c: In function `main': conftest.c:78: error: `map_flags' undeclared (first use in this function) conftest.c:78: error: (Each undeclared identifier is reported only once conftest.c:78: error: for each function it appears in.) conftest.c:78: error: `zero_fd' undeclared (first use in this function) configure:20530: $? = 1 configure: program exited with status 1 configure: failed program was: | | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | /* end confdefs.h. */ | | #include | #include | #if HAVE_SYS_SIGNAL_H | # include | #endif | #include | #include | #include | #if HAVE_MMAP_DEVZERO | # include | # 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:20550: result: no configure:20558: checking whether a fault handler according to Linux/HPPA works configure:20720: cc -o conftest -fno-common conftest.c >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.c:20: /usr/include/i386/types.h:72: error: conflicting types for `int8_t' /usr/local/include/stdint.h:162: error: previous declaration of `int8_t' /usr/include/i386/types.h:99: error: conflicting types for `uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration of `uintptr_t' conftest.c: In function `sigsegv_handler': conftest.c:51: error: structure has no member named `si_ptr' conftest.c: In function `main': conftest.c:78: error: `map_flags' undeclared (first use in this function) conftest.c:78: error: (Each undeclared identifier is reported only once conftest.c:78: error: for each function it appears in.) conftest.c:78: error: `zero_fd' undeclared (first use in this function) configure:20723: $? = 1 configure: program exited with status 1 configure: failed program was: | | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | /* end confdefs.h. */ | | #include | #include | #if HAVE_SYS_SIGNAL_H | # include | #endif | | #include | #include | #if HAVE_MMAP_DEVZERO | # include | # 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:20743: result: no configure:20751: checking whether a fault handler according to BSD works configure:20914: cc -o conftest -fno-common conftest.c >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.c:20: /usr/include/i386/types.h:72: error: conflicting types for `int8_t' /usr/local/include/stdint.h:162: error: previous declaration of `int8_t' /usr/include/i386/types.h:99: error: conflicting types for `uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration of `uintptr_t' conftest.c: In function `main': conftest.c:78: error: `map_flags' undeclared (first use in this function) conftest.c:78: error: (Each undeclared identifier is reported only once conftest.c:78: error: for each function it appears in.) conftest.c:78: error: `zero_fd' undeclared (first use in this function) configure:20917: $? = 1 configure: program exited with status 1 configure: failed program was: | | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | /* end confdefs.h. */ | | #include | #include | #if HAVE_SYS_SIGNAL_H | # include | #endif | | #include | #include | #if HAVE_MMAP_DEVZERO | # include | # 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:20937: result: no configure:20945: checking whether a fault handler according to IRIX works configure:21108: cc -o conftest -fno-common conftest.c >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.c:20: /usr/include/i386/types.h:72: error: conflicting types for `int8_t' /usr/local/include/stdint.h:162: error: previous declaration of `int8_t' /usr/include/i386/types.h:99: error: conflicting types for `uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration of `uintptr_t' conftest.c: In function `sigsegv_handler': conftest.c:51: error: structure has no member named `sc_badvaddr' conftest.c: In function `main': conftest.c:78: error: `map_flags' undeclared (first use in this function) conftest.c:78: error: (Each undeclared identifier is reported only once conftest.c:78: error: for each function it appears in.) conftest.c:78: error: `zero_fd' undeclared (first use in this function) configure:21111: $? = 1 configure: program exited with status 1 configure: failed program was: | | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | /* end confdefs.h. */ | | #include | #include | #if HAVE_SYS_SIGNAL_H | # include | #endif | | #include | #include | #if HAVE_MMAP_DEVZERO | # include | # 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:21131: result: no configure:21139: checking whether a fault handler according to HP-UX HPPA works configure:21308: cc -o conftest -fno-common conftest.c >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.c:20: /usr/include/i386/types.h:72: error: conflicting types for `int8_t' /usr/local/include/stdint.h:162: error: previous declaration of `int8_t' /usr/include/i386/types.h:99: error: conflicting types for `uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration of `uintptr_t' conftest.c: In function `sigsegv_handler': conftest.c:54: error: structure has no member named `sc_sl' conftest.c:54: error: `SS_WIDEREGS' undeclared (first use in this function) conftest.c:54: error: (Each undeclared identifier is reported only once conftest.c:54: error: for each function it appears in.) conftest.c:54: error: structure has no member named `sc_sl' conftest.c:54: error: `SS_NARROWISINVALID' undeclared (first use in this function) conftest.c:54: error: structure has no member named `sc_sl' conftest.c:54: error: structure has no member named `sc_sl' conftest.c: In function `main': conftest.c:81: error: `map_flags' undeclared (first use in this function) conftest.c:81: error: `zero_fd' undeclared (first use in this function) configure:21311: $? = 1 configure: program exited with status 1 configure: failed program was: | | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | /* end confdefs.h. */ | | #include | #include | #if HAVE_SYS_SIGNAL_H | # include | #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 | #include | #if HAVE_MMAP_DEVZERO | # include | # 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:21331: result: no configure:21339: checking whether a fault handler according to OSF/1 Alpha works configure:21502: cc -o conftest -fno-common conftest.c >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.c:20: /usr/include/i386/types.h:72: error: conflicting types for `int8_t' /usr/local/include/stdint.h:162: error: previous declaration of `int8_t' /usr/include/i386/types.h:99: error: conflicting types for `uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration of `uintptr_t' conftest.c: In function `sigsegv_handler': conftest.c:51: error: structure has no member named `sc_traparg_a0' conftest.c: In function `main': conftest.c:78: error: `map_flags' undeclared (first use in this function) conftest.c:78: error: (Each undeclared identifier is reported only once conftest.c:78: error: for each function it appears in.) conftest.c:78: error: `zero_fd' undeclared (first use in this function) configure:21505: $? = 1 configure: program exited with status 1 configure: failed program was: | | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | /* end confdefs.h. */ | | #include | #include | #if HAVE_SYS_SIGNAL_H | # include | #endif | | #include | #include | #if HAVE_MMAP_DEVZERO | # include | # 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:21525: result: no configure:21533: checking whether a fault handler according to NetBSD Alpha works configure:21696: cc -o conftest -fno-common conftest.c >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.c:20: /usr/include/i386/types.h:72: error: conflicting types for `int8_t' /usr/local/include/stdint.h:162: error: previous declaration of `int8_t' /usr/include/i386/types.h:99: error: conflicting types for `uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration of `uintptr_t' In file included from conftest.c:25: src/fault-netbsd-alpha.c: In function `get_fault_addr': src/fault-netbsd-alpha.c:25: error: structure has no member named `sc_pc' src/fault-netbsd-alpha.c:36: error: structure has no member named `sc_regs' conftest.c: In function `main': conftest.c:78: error: `map_flags' undeclared (first use in this function) conftest.c:78: error: (Each undeclared identifier is reported only once conftest.c:78: error: for each function it appears in.) conftest.c:78: error: `zero_fd' undeclared (first use in this function) configure:21699: $? = 1 configure: program exited with status 1 configure: failed program was: | | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | /* end confdefs.h. */ | | #include | #include | #if HAVE_SYS_SIGNAL_H | # include | #endif | #include "./src/fault-netbsd-alpha.c" | #include | #include | #if HAVE_MMAP_DEVZERO | # include | # 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:21719: result: no configure:21727: checking whether a fault handler according to AIX works configure:21890: cc -o conftest -fno-common conftest.c >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.c:20: /usr/include/i386/types.h:72: error: conflicting types for `int8_t' /usr/local/include/stdint.h:162: error: previous declaration of `int8_t' /usr/include/i386/types.h:99: error: conflicting types for `uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration of `uintptr_t' conftest.c: In function `sigsegv_handler': conftest.c:51: error: structure has no member named `sc_jmpbuf' conftest.c: In function `main': conftest.c:78: error: `map_flags' undeclared (first use in this function) conftest.c:78: error: (Each undeclared identifier is reported only once conftest.c:78: error: for each function it appears in.) conftest.c:78: error: `zero_fd' undeclared (first use in this function) configure:21893: $? = 1 configure: program exited with status 1 configure: failed program was: | | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | /* end confdefs.h. */ | | #include | #include | #if HAVE_SYS_SIGNAL_H | # include | #endif | | #include | #include | #if HAVE_MMAP_DEVZERO | # include | # 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:21913: result: no configure:21921: checking whether a fault handler according to MacOSX/Darwin7 PowerPC works configure:22083: cc -o conftest -fno-common conftest.c >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.c:20: /usr/include/i386/types.h:72: error: conflicting types for `int8_t' /usr/local/include/stdint.h:162: error: previous declaration of `int8_t' /usr/include/i386/types.h:99: error: conflicting types for `uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration of `uintptr_t' In file included from conftest.c:25: src/fault-macosdarwin7-powerpc.c: In function `get_fault_addr': src/fault-macosdarwin7-powerpc.c:39: error: structure has no member named `ss' conftest.c: In function `main': conftest.c:78: error: `map_flags' undeclared (first use in this function) conftest.c:78: error: (Each undeclared identifier is reported only once conftest.c:78: error: for each function it appears in.) conftest.c:78: error: `zero_fd' undeclared (first use in this function) conftest.c:88: warning: assignment from incompatible pointer 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.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | /* end confdefs.h. */ | | #include | #include | #if HAVE_SYS_SIGNAL_H | # include | #endif | #include "./src/fault-macosdarwin7-powerpc.c" | #include | #include | #if HAVE_MMAP_DEVZERO | # include | # 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:22106: result: no configure:22115: checking whether a fault handler according to MacOSX/Darwin5 PowerPC works configure:22278: cc -o conftest -fno-common conftest.c >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.c:20: /usr/include/i386/types.h:72: error: conflicting types for `int8_t' /usr/local/include/stdint.h:162: error: previous declaration of `int8_t' /usr/include/i386/types.h:99: error: conflicting types for `uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration of `uintptr_t' In file included from conftest.c:25: src/fault-macosdarwin5-powerpc.c: In function `get_fault_addr': src/fault-macosdarwin5-powerpc.c:36: error: structure has no member named `sc_ir' src/fault-macosdarwin5-powerpc.c:37: error: structure has no member named `sc_regs' conftest.c: In function `main': conftest.c:78: error: `map_flags' undeclared (first use in this function) conftest.c:78: error: (Each undeclared identifier is reported only once conftest.c:78: error: for each function it appears in.) conftest.c:78: error: `zero_fd' undeclared (first use in this function) configure:22281: $? = 1 configure: program exited with status 1 configure: failed program was: | | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | /* end confdefs.h. */ | | #include | #include | #if HAVE_SYS_SIGNAL_H | # include | #endif | #include "./src/fault-macosdarwin5-powerpc.c" | #include | #include | #if HAVE_MMAP_DEVZERO | # include | # 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:22301: result: no configure:22310: checking whether a fault handler according to Hurd works configure:22473: cc -o conftest -fno-common conftest.c >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.c:20: /usr/include/i386/types.h:72: error: conflicting types for `int8_t' /usr/local/include/stdint.h:162: error: previous declaration of `int8_t' /usr/include/i386/types.h:99: error: conflicting types for `uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration of `uintptr_t' conftest.c: In function `main': conftest.c:78: error: `map_flags' undeclared (first use in this function) conftest.c:78: error: (Each undeclared identifier is reported only once conftest.c:78: error: for each function it appears in.) conftest.c:78: error: `zero_fd' undeclared (first use in this function) configure:22476: $? = 1 configure: program exited with status 1 configure: failed program was: | | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | /* end confdefs.h. */ | | #include | #include | #if HAVE_SYS_SIGNAL_H | # include | #endif | | #include | #include | #if HAVE_MMAP_DEVZERO | # include | # 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:22496: result: no configure:22754: checking for the fault handler specifics configure:22765: result: none configure:22787: checking if the system supports catching SIGSEGV configure:22789: result: no configure:22799: checking for stack direction configure:22896: result: grows down configure:22904: checking for PIOCMAP in sys/procfs.h configure:22926: cc -o conftest -fno-common conftest.c >&5 conftest.c:21:24: sys/procfs.h: No such file or directory conftest.c: In function `main': conftest.c:25: error: `PIOCNMAP' undeclared (first use in this function) conftest.c:25: error: (Each undeclared identifier is reported only once conftest.c:25: error: for each function it appears in.) conftest.c:25: error: `PIOCMAP' undeclared (first use in this function) conftest.c:25: error: `prmap_t' undeclared (first use in this function) conftest.c:25: error: parse error before "y" configure:22932: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | #define CFG_FAULT "fault-none.h" | #define CFG_MACHFAULT "fault-none.h" | #define STACK_DIRECTION -1 | /* end confdefs.h. */ | #include | int | main () | { | int x = PIOCNMAP + PIOCMAP; prmap_t y; | ; | return 0; | } configure:22958: result: no configure:22964: checking for mincore configure:23021: cc -o conftest -fno-common conftest.c >&5 configure:23027: $? = 0 configure:23031: test -z || test ! -s conftest.err configure:23034: $? = 0 configure:23037: test -s conftest configure:23040: $? = 0 configure:23052: result: yes configure:23097: checking for getrlimit configure:23154: cc -o conftest -fno-common conftest.c >&5 configure:23160: $? = 0 configure:23164: test -z || test ! -s conftest.err configure:23167: $? = 0 configure:23170: test -s conftest configure:23173: $? = 0 configure:23185: result: yes configure:23097: checking for setrlimit configure:23154: cc -o conftest -fno-common conftest.c >&5 configure:23160: $? = 0 configure:23164: test -z || test ! -s conftest.err configure:23167: $? = 0 configure:23170: test -s conftest configure:23173: $? = 0 configure:23185: result: yes configure:23204: checking for sigaltstack configure:23261: cc -o conftest -fno-common conftest.c >&5 configure:23267: $? = 0 configure:23271: test -z || test ! -s conftest.err configure:23274: $? = 0 configure:23277: test -s conftest configure:23280: $? = 0 configure:23292: result: yes configure:23304: checking for stack_t configure:23334: cc -c -fno-common conftest.c >&5 configure:23340: $? = 0 configure:23344: test -z || test ! -s conftest.err configure:23347: $? = 0 configure:23350: test -s conftest.o configure:23353: $? = 0 configure:23364: result: yes configure:23379: checking for working sigaltstack configure:23560: cc -o conftest -fno-common conftest.c >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.c:29: /usr/include/i386/types.h:72: error: conflicting types for `int8_t' /usr/local/include/stdint.h:162: error: previous declaration of `int8_t' /usr/include/i386/types.h:99: error: conflicting types for `uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration of `uintptr_t' configure:23563: $? = 1 configure: program exited with status 1 configure: failed program was: | | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | #define CFG_FAULT "fault-none.h" | #define CFG_MACHFAULT "fault-none.h" | #define STACK_DIRECTION -1 | #define HAVE_MINCORE 1 | #define HAVE_STACKVMA 1 | #define CFG_STACKVMA "stackvma-mincore.c" | #define HAVE_GETRLIMIT 1 | #define HAVE_SETRLIMIT 1 | #define HAVE_SIGALTSTACK 1 | /* end confdefs.h. */ | | #include | #include | #if HAVE_SYS_SIGNAL_H | # include | #endif | #if HAVE_SETRLIMIT | # include | # include | # include | #endif | void stackoverflow_handler (int sig) | { | /* If we get here, the stack overflow was caught. */ | exit (0); | } | volatile int * recurse_1 (volatile int n, volatile int *p) | { | if (n >= 0) | *recurse_1 (n + 1, p) += n; | return p; | } | volatile int recurse (volatile int n) | { | int sum = 0; | return *recurse_1 (n, &sum); | } | int main () | { | char mystack[16384]; | stack_t altstack; | struct sigaction action; | #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 a stack overflow. */ | recurse (0); | exit (2); | } configure:23588: result: no configure:23599: checking if the system supports catching stack overflow configure:23686: result: no configure:23709: checking whether a signal handler can be left through longjmp configure:23799: cc -o conftest -fno-common conftest.c >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.c:29: /usr/include/i386/types.h:72: error: conflicting types for `int8_t' /usr/local/include/stdint.h:162: error: previous declaration of `int8_t' /usr/include/i386/types.h:99: error: conflicting types for `uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration of `uintptr_t' configure:23802: $? = 1 configure: program exited with status 1 configure: failed program was: | | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | #define CFG_FAULT "fault-none.h" | #define CFG_MACHFAULT "fault-none.h" | #define STACK_DIRECTION -1 | #define HAVE_MINCORE 1 | #define HAVE_STACKVMA 1 | #define CFG_STACKVMA "stackvma-mincore.c" | #define HAVE_GETRLIMIT 1 | #define HAVE_SETRLIMIT 1 | #define HAVE_SIGALTSTACK 1 | /* end confdefs.h. */ | | #include | #include | #include | | #if HAVE_SETRLIMIT | # include | # include | # include | #endif | jmp_buf mainloop; | sigset_t mainsigset; | int pass = 0; | void stackoverflow_handler (int sig) | { | pass++; | sigprocmask (SIG_SETMASK, &mainsigset, NULL); | { } | longjmp (mainloop, pass); | } | volatile int * recurse_1 (volatile int n, volatile int *p) | { | if (n >= 0) | *recurse_1 (n + 1, p) += n; | return p; | } | volatile int recurse (volatile int n) | { | int sum = 0; | return *recurse_1 (n, &sum); | } | int main () | { | char mystack[16384]; | stack_t altstack; | struct sigaction action; | sigset_t emptyset; | #if defined HAVE_SETRLIMIT && defined RLIMIT_STACK | /* Before starting the endless recursion, try to be friendly to the user's | machine. On some Linux 2.2.x systems, there is no stack limit for user | processes at all. We don't want to kill such systems. */ | struct rlimit rl; | rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */ | setrlimit (RLIMIT_STACK, &rl); | #endif | /* Install the alternate stack. */ | altstack.ss_sp = mystack; | altstack.ss_size = sizeof (mystack); | altstack.ss_flags = 0; /* no SS_DISABLE */ | if (sigaltstack (&altstack, NULL) < 0) | exit (1); | /* Install the SIGSEGV handler. */ | sigemptyset (&action.sa_mask); | action.sa_handler = &stackoverflow_handler; | action.sa_flags = SA_ONSTACK; | sigaction (SIGSEGV, &action, (struct sigaction *) NULL); | sigaction (SIGBUS, &action, (struct sigaction *) NULL); | /* Save the current signal mask. */ | sigemptyset (&emptyset); | sigprocmask (SIG_BLOCK, &emptyset, &mainsigset); | /* Provoke two stack overflows in a row. */ | if (setjmp (mainloop) < 2) | { | recurse (0); | exit (2); | } | exit (0); | } configure:23822: result: no configure:23830: checking whether a signal handler can be left through longjmp and sigaltstack configure:23930: cc -o conftest -fno-common conftest.c >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.c:29: /usr/include/i386/types.h:72: error: conflicting types for `int8_t' /usr/local/include/stdint.h:162: error: previous declaration of `int8_t' /usr/include/i386/types.h:99: error: conflicting types for `uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration of `uintptr_t' configure:23933: $? = 1 configure: program exited with status 1 configure: failed program was: | | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | #define CFG_FAULT "fault-none.h" | #define CFG_MACHFAULT "fault-none.h" | #define STACK_DIRECTION -1 | #define HAVE_MINCORE 1 | #define HAVE_STACKVMA 1 | #define CFG_STACKVMA "stackvma-mincore.c" | #define HAVE_GETRLIMIT 1 | #define HAVE_SETRLIMIT 1 | #define HAVE_SIGALTSTACK 1 | /* end confdefs.h. */ | | #include | #include | #include | | #ifndef SS_ONSTACK | #define SS_ONSTACK SA_ONSTACK | #endif | | #if HAVE_SETRLIMIT | # include | # include | # include | #endif | jmp_buf mainloop; | sigset_t mainsigset; | int pass = 0; | void stackoverflow_handler (int sig) | { | pass++; | sigprocmask (SIG_SETMASK, &mainsigset, NULL); | { stack_t ss; | if (sigaltstack (NULL, &ss) >= 0) | { | ss.ss_flags &= ~SS_ONSTACK; | sigaltstack (&ss, NULL); | } | } | longjmp (mainloop, pass); | } | volatile int * recurse_1 (volatile int n, volatile int *p) | { | if (n >= 0) | *recurse_1 (n + 1, p) += n; | return p; | } | volatile int recurse (volatile int n) | { | int sum = 0; | return *recurse_1 (n, &sum); | } | int main () | { | char mystack[16384]; | stack_t altstack; | struct sigaction action; | sigset_t emptyset; | #if defined HAVE_SETRLIMIT && defined RLIMIT_STACK | /* Before starting the endless recursion, try to be friendly to the user's | machine. On some Linux 2.2.x systems, there is no stack limit for user | processes at all. We don't want to kill such systems. */ | struct rlimit rl; | rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */ | setrlimit (RLIMIT_STACK, &rl); | #endif | /* Install the alternate stack. */ | altstack.ss_sp = mystack; | altstack.ss_size = sizeof (mystack); | altstack.ss_flags = 0; /* no SS_DISABLE */ | if (sigaltstack (&altstack, NULL) < 0) | exit (1); | /* Install the SIGSEGV handler. */ | sigemptyset (&action.sa_mask); | action.sa_handler = &stackoverflow_handler; | action.sa_flags = SA_ONSTACK; | sigaction (SIGSEGV, &action, (struct sigaction *) NULL); | sigaction (SIGBUS, &action, (struct sigaction *) NULL); | /* Save the current signal mask. */ | sigemptyset (&emptyset); | sigprocmask (SIG_BLOCK, &emptyset, &mainsigset); | /* Provoke two stack overflows in a row. */ | if (setjmp (mainloop) < 2) | { | recurse (0); | exit (2); | } | exit (0); | } configure:23953: result: no configure:23961: checking whether a signal handler can be left through longjmp and setcontext configure:24066: cc -o conftest -fno-common conftest.c >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.c:29: /usr/include/i386/types.h:72: error: conflicting types for `int8_t' /usr/local/include/stdint.h:162: error: previous declaration of `int8_t' /usr/include/i386/types.h:99: error: conflicting types for `uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration of `uintptr_t' configure:24069: $? = 1 configure: program exited with status 1 configure: failed program was: | | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | #define CFG_FAULT "fault-none.h" | #define CFG_MACHFAULT "fault-none.h" | #define STACK_DIRECTION -1 | #define HAVE_MINCORE 1 | #define HAVE_STACKVMA 1 | #define CFG_STACKVMA "stackvma-mincore.c" | #define HAVE_GETRLIMIT 1 | #define HAVE_SETRLIMIT 1 | #define HAVE_SIGALTSTACK 1 | /* end confdefs.h. */ | | #include | #include | #include | #include | #ifndef SS_ONSTACK | #define SS_ONSTACK SA_ONSTACK | #endif | | #if HAVE_SETRLIMIT | # include | # include | # include | #endif | jmp_buf mainloop; | sigset_t mainsigset; | int pass = 0; | void stackoverflow_handler (int sig) | { | pass++; | sigprocmask (SIG_SETMASK, &mainsigset, NULL); | { static int fl; | static ucontext_t uc; | fl = 0; | if (getcontext (&uc) >= 0) | if (fl == 0) | if (uc.uc_stack.ss_flags & SS_ONSTACK) | { | uc.uc_stack.ss_flags &= ~SS_ONSTACK; | fl = 1; | setcontext (&uc); | } | } | longjmp (mainloop, pass); | } | volatile int * recurse_1 (volatile int n, volatile int *p) | { | if (n >= 0) | *recurse_1 (n + 1, p) += n; | return p; | } | volatile int recurse (volatile int n) | { | int sum = 0; | return *recurse_1 (n, &sum); | } | int main () | { | char mystack[16384]; | stack_t altstack; | struct sigaction action; | sigset_t emptyset; | #if defined HAVE_SETRLIMIT && defined RLIMIT_STACK | /* Before starting the endless recursion, try to be friendly to the user's | machine. On some Linux 2.2.x systems, there is no stack limit for user | processes at all. We don't want to kill such systems. */ | struct rlimit rl; | rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */ | setrlimit (RLIMIT_STACK, &rl); | #endif | /* Install the alternate stack. */ | altstack.ss_sp = mystack; | altstack.ss_size = sizeof (mystack); | altstack.ss_flags = 0; /* no SS_DISABLE */ | if (sigaltstack (&altstack, NULL) < 0) | exit (1); | /* Install the SIGSEGV handler. */ | sigemptyset (&action.sa_mask); | action.sa_handler = &stackoverflow_handler; | action.sa_flags = SA_ONSTACK; | sigaction (SIGSEGV, &action, (struct sigaction *) NULL); | sigaction (SIGBUS, &action, (struct sigaction *) NULL); | /* Save the current signal mask. */ | sigemptyset (&emptyset); | sigprocmask (SIG_BLOCK, &emptyset, &mainsigset); | /* Provoke two stack overflows in a row. */ | if (setjmp (mainloop) < 2) | { | recurse (0); | exit (2); | } | exit (0); | } configure:24089: result: no configure:24111: checking whether a signal handler can be left through siglongjmp configure:24199: cc -o conftest -fno-common conftest.c >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.c:29: /usr/include/i386/types.h:72: error: conflicting types for `int8_t' /usr/local/include/stdint.h:162: error: previous declaration of `int8_t' /usr/include/i386/types.h:99: error: conflicting types for `uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration of `uintptr_t' configure:24202: $? = 1 configure: program exited with status 1 configure: failed program was: | | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | #define CFG_FAULT "fault-none.h" | #define CFG_MACHFAULT "fault-none.h" | #define STACK_DIRECTION -1 | #define HAVE_MINCORE 1 | #define HAVE_STACKVMA 1 | #define CFG_STACKVMA "stackvma-mincore.c" | #define HAVE_GETRLIMIT 1 | #define HAVE_SETRLIMIT 1 | #define HAVE_SIGALTSTACK 1 | /* end confdefs.h. */ | | #include | #include | #include | | #if HAVE_SETRLIMIT | # include | # include | # include | #endif | sigjmp_buf mainloop; | int pass = 0; | void stackoverflow_handler (int sig) | { | pass++; | { } | siglongjmp (mainloop, pass); | } | volatile int * recurse_1 (volatile int n, volatile int *p) | { | if (n >= 0) | *recurse_1 (n + 1, p) += n; | return p; | } | volatile int recurse (volatile int n) | { | int sum = 0; | return *recurse_1 (n, &sum); | } | int main () | { | char mystack[16384]; | stack_t altstack; | struct sigaction action; | #ifdef __BEOS__ | /* On BeOS, this would hang, burning CPU time. Better fail than hang. */ | exit (1); | #endif | #if defined HAVE_SETRLIMIT && defined RLIMIT_STACK | /* Before starting the endless recursion, try to be friendly to the user's | machine. On some Linux 2.2.x systems, there is no stack limit for user | processes at all. We don't want to kill such systems. */ | struct rlimit rl; | rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */ | setrlimit (RLIMIT_STACK, &rl); | #endif | /* Install the alternate stack. */ | altstack.ss_sp = mystack; | altstack.ss_size = sizeof (mystack); | altstack.ss_flags = 0; /* no SS_DISABLE */ | if (sigaltstack (&altstack, NULL) < 0) | exit (1); | /* Install the SIGSEGV handler. */ | sigemptyset (&action.sa_mask); | action.sa_handler = &stackoverflow_handler; | action.sa_flags = SA_ONSTACK; | sigaction (SIGSEGV, &action, (struct sigaction *) NULL); | sigaction (SIGBUS, &action, (struct sigaction *) NULL); | /* Provoke two stack overflows in a row. */ | if (sigsetjmp (mainloop, 1) < 2) | { | recurse (0); | exit (2); | } | exit (0); | } configure:24222: result: no configure:24230: checking whether a signal handler can be left through siglongjmp and sigaltstack configure:24328: cc -o conftest -fno-common conftest.c >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.c:29: /usr/include/i386/types.h:72: error: conflicting types for `int8_t' /usr/local/include/stdint.h:162: error: previous declaration of `int8_t' /usr/include/i386/types.h:99: error: conflicting types for `uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration of `uintptr_t' configure:24331: $? = 1 configure: program exited with status 1 configure: failed program was: | | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | #define CFG_FAULT "fault-none.h" | #define CFG_MACHFAULT "fault-none.h" | #define STACK_DIRECTION -1 | #define HAVE_MINCORE 1 | #define HAVE_STACKVMA 1 | #define CFG_STACKVMA "stackvma-mincore.c" | #define HAVE_GETRLIMIT 1 | #define HAVE_SETRLIMIT 1 | #define HAVE_SIGALTSTACK 1 | /* end confdefs.h. */ | | #include | #include | #include | | #ifndef SS_ONSTACK | #define SS_ONSTACK SA_ONSTACK | #endif | | #if HAVE_SETRLIMIT | # include | # include | # include | #endif | sigjmp_buf mainloop; | int pass = 0; | void stackoverflow_handler (int sig) | { | pass++; | { stack_t ss; | if (sigaltstack (NULL, &ss) >= 0) | { | ss.ss_flags &= ~SS_ONSTACK; | sigaltstack (&ss, NULL); | } | } | siglongjmp (mainloop, pass); | } | volatile int * recurse_1 (volatile int n, volatile int *p) | { | if (n >= 0) | *recurse_1 (n + 1, p) += n; | return p; | } | volatile int recurse (volatile int n) | { | int sum = 0; | return *recurse_1 (n, &sum); | } | int main () | { | char mystack[16384]; | stack_t altstack; | struct sigaction action; | #ifdef __BEOS__ | /* On BeOS, this would hang, burning CPU time. Better fail than hang. */ | exit (1); | #endif | #if defined HAVE_SETRLIMIT && defined RLIMIT_STACK | /* Before starting the endless recursion, try to be friendly to the user's | machine. On some Linux 2.2.x systems, there is no stack limit for user | processes at all. We don't want to kill such systems. */ | struct rlimit rl; | rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */ | setrlimit (RLIMIT_STACK, &rl); | #endif | /* Install the alternate stack. */ | altstack.ss_sp = mystack; | altstack.ss_size = sizeof (mystack); | altstack.ss_flags = 0; /* no SS_DISABLE */ | if (sigaltstack (&altstack, NULL) < 0) | exit (1); | /* Install the SIGSEGV handler. */ | sigemptyset (&action.sa_mask); | action.sa_handler = &stackoverflow_handler; | action.sa_flags = SA_ONSTACK; | sigaction (SIGSEGV, &action, (struct sigaction *) NULL); | sigaction (SIGBUS, &action, (struct sigaction *) NULL); | /* Provoke two stack overflows in a row. */ | if (sigsetjmp (mainloop, 1) < 2) | { | recurse (0); | exit (2); | } | exit (0); | } configure:24351: result: no configure:24359: checking whether a signal handler can be left through siglongjmp and setcontext configure:24462: cc -o conftest -fno-common conftest.c >&5 In file included from /usr/include/machine/types.h:32, from /usr/include/stdlib.h:248, from conftest.c:29: /usr/include/i386/types.h:72: error: conflicting types for `int8_t' /usr/local/include/stdint.h:162: error: previous declaration of `int8_t' /usr/include/i386/types.h:99: error: conflicting types for `uintptr_t' /usr/local/include/stdint.h:272: error: previous declaration of `uintptr_t' configure:24465: $? = 1 configure: program exited with status 1 configure: failed program was: | | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "libsigsegv" | #define VERSION "2.4" | #define HAVE_DLFCN_H 1 | #ifdef __cplusplus | void exit (int); | #endif | #define HAVE_SYS_SIGNAL_H 1 | #define CFG_SIGNALS "signals-hurd.h" | #define HAVE_GETPAGESIZE 1 | #define CFG_FAULT "fault-none.h" | #define CFG_MACHFAULT "fault-none.h" | #define STACK_DIRECTION -1 | #define HAVE_MINCORE 1 | #define HAVE_STACKVMA 1 | #define CFG_STACKVMA "stackvma-mincore.c" | #define HAVE_GETRLIMIT 1 | #define HAVE_SETRLIMIT 1 | #define HAVE_SIGALTSTACK 1 | /* end confdefs.h. */ | | #include | #include | #include | #include | #ifndef SS_ONSTACK | #define SS_ONSTACK SA_ONSTACK | #endif | | #if HAVE_SETRLIMIT | # include | # include | # include | #endif | sigjmp_buf mainloop; | int pass = 0; | void stackoverflow_handler (int sig) | { | pass++; | { static int fl; | static ucontext_t uc; | fl = 0; | if (getcontext(&uc) >= 0) | if (fl == 0) | if (uc.uc_stack.ss_flags & SS_ONSTACK) | { | uc.uc_stack.ss_flags &= ~SS_ONSTACK; | fl = 1; | setcontext(&uc); | } | } | siglongjmp (mainloop, pass); | } | volatile int * recurse_1 (volatile int n, volatile int *p) | { | if (n >= 0) | *recurse_1 (n + 1, p) += n; | return p; | } | volatile int recurse (volatile int n) | { | int sum = 0; | return *recurse_1 (n, &sum); | } | int main () | { | char mystack[16384]; | stack_t altstack; | struct sigaction action; | #ifdef __BEOS__ | /* On BeOS, this would hang, burning CPU time. Better fail than hang. */ | exit (1); | #endif | #if defined HAVE_SETRLIMIT && defined RLIMIT_STACK | /* Before starting the endless recursion, try to be friendly to the user's | machine. On some Linux 2.2.x systems, there is no stack limit for user | processes at all. We don't want to kill such systems. */ | struct rlimit rl; | rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */ | setrlimit (RLIMIT_STACK, &rl); | #endif | /* Install the alternate stack. */ | altstack.ss_sp = mystack; | altstack.ss_size = sizeof (mystack); | altstack.ss_flags = 0; /* no SS_DISABLE */ | if (sigaltstack (&altstack, NULL) < 0) | exit (1); | /* Install the SIGSEGV handler. */ | sigemptyset (&action.sa_mask); | action.sa_handler = &stackoverflow_handler; | action.sa_flags = SA_ONSTACK; | sigaction (SIGSEGV, &action, (struct sigaction *) NULL); | sigaction (SIGBUS, &action, (struct sigaction *) NULL); | /* Provoke two stack overflows in a row. */ | if (sigsetjmp (mainloop, 1) < 2) | { | recurse (0); | exit (2); | } | exit (0); | } configure:24485: result: no configure:24544: checking whether to activate relocatable installation configure:24559: result: no configure:24682: 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 darwintel config.status:727: creating Makefile config.status:727: creating src/Makefile config.status:727: creating src/sigsegv.h config.status:727: creating tests/Makefile config.status:831: creating config.h config.status:1127: executing depfiles commands ## ---------------- ## ## Cache variables. ## ## ---------------- ## ac_cv_build=i386-unknown-gnu ac_cv_build_alias=i386-unknown-gnu ac_cv_c_compiler_gnu=no ac_cv_cxx_compiler_gnu=no ac_cv_env_CC_set=set ac_cv_env_CC_value=cc ac_cv_env_CFLAGS_set=set ac_cv_env_CFLAGS_value=-fno-common ac_cv_env_CPPFLAGS_set= ac_cv_env_CPPFLAGS_value= ac_cv_env_CPP_set= ac_cv_env_CPP_value= ac_cv_env_CXXCPP_set= ac_cv_env_CXXCPP_value= ac_cv_env_CXXFLAGS_set=set ac_cv_env_CXXFLAGS_value=-fno-common ac_cv_env_CXX_set=set ac_cv_env_CXX_value=c++ ac_cv_env_F77_set= ac_cv_env_F77_value= ac_cv_env_FFLAGS_set= ac_cv_env_FFLAGS_value= ac_cv_env_LDFLAGS_set= ac_cv_env_LDFLAGS_value= ac_cv_env_build_alias_set=set ac_cv_env_build_alias_value=i386-unknown-gnu ac_cv_env_host_alias_set=set ac_cv_env_host_alias_value=i386-unknown-gnu ac_cv_env_target_alias_set=set ac_cv_env_target_alias_value=i386-unknown-gnu ac_cv_exeext= ac_cv_f77_compiler_gnu=no ac_cv_func_getrlimit=yes ac_cv_func_mincore=yes ac_cv_func_setrlimit=yes ac_cv_func_sigaltstack=yes ac_cv_header_dlfcn_h=yes ac_cv_header_inttypes_h=no ac_cv_header_memory_h=no ac_cv_header_stdc=no ac_cv_header_stdint_h=no ac_cv_header_stdlib_h=no ac_cv_header_string_h=no ac_cv_header_strings_h=no ac_cv_header_sys_signal_h=yes ac_cv_header_sys_stat_h=no ac_cv_header_sys_types_h=no ac_cv_header_unistd_h=no ac_cv_host=i386-unknown-gnu ac_cv_host_alias=i386-unknown-gnu ac_cv_objext= ac_cv_prog_AWK=gawk 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_ac_ct_AR=ar ac_cv_prog_ac_ct_F77=g77 ac_cv_prog_ac_ct_RANLIB=ranlib ac_cv_prog_ac_ct_STRIP=strip ac_cv_prog_cc_g=no ac_cv_prog_cc_stdc=no ac_cv_prog_cxx_g=no ac_cv_prog_egrep='grep -E' ac_cv_prog_f77_g=no 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=pass_all 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/bin/ld lt_cv_path_LDCXX= lt_cv_path_NM='/usr/bin/nm -p' lt_cv_path_SED=/usr/local/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_gnu_ld=no lt_cv_prog_gnu_ldcxx= lt_cv_sys_global_symbol_pipe= 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= lt_cv_sys_max_cmd_len= 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='""' 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='""' 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=none sv_cv_fault_irix=no sv_cv_fault_linux_hppa=no sv_cv_fault_linux_i386=no sv_cv_fault_linux_i386_old=no sv_cv_fault_linux_m68k=no sv_cv_fault_linux_powerpc=no sv_cv_fault_macosdarwin5_ppc=no sv_cv_fault_macosdarwin7_ppc=no sv_cv_fault_netbsd_alpha=no sv_cv_fault_osf_alpha=no sv_cv_fault_posix=no sv_cv_func_getpagesize=yes sv_cv_func_mmap_anon=no sv_cv_func_mmap_anonymous=no sv_cv_func_mmap_devzero=no sv_cv_func_sysconf_pagesize=no sv_cv_have_sigsegv_recovery=no sv_cv_have_stack_overflow_recovery=no sv_cv_host=i386-unknown-gnu sv_cv_leave_handler_longjmp=no sv_cv_leave_handler_longjmp_setcontext=no sv_cv_leave_handler_longjmp_sigaltstack=no sv_cv_leave_handler_siglongjmp=no sv_cv_leave_handler_siglongjmp_setcontext=no sv_cv_leave_handler_siglongjmp_sigaltstack=no sv_cv_macro_pagesize=no sv_cv_procfsvma=no sv_cv_sigaltstack=no sv_cv_stack_direction=-1 sv_cv_stack_direction_msg='grows down' ## ----------------- ## ## Output variables. ## ## ----------------- ## ACLOCAL='${SHELL} /mnt/gmirror/ports/devel/libsigsegv/work/libsigsegv-2.4/build-aux/missing --run aclocal-1.9' AMDEPBACKSLASH='\' AMDEP_FALSE='#' AMDEP_TRUE='' AMTAR='${SHELL} /mnt/gmirror/ports/devel/libsigsegv/work/libsigsegv-2.4/build-aux/missing --run tar' AR='ar' AUTOCONF='${SHELL} /mnt/gmirror/ports/devel/libsigsegv/work/libsigsegv-2.4/build-aux/missing --run autoconf' AUTOHEADER='${SHELL} /mnt/gmirror/ports/devel/libsigsegv/work/libsigsegv-2.4/build-aux/missing --run autoheader' AUTOMAKE='${SHELL} /mnt/gmirror/ports/devel/libsigsegv/work/libsigsegv-2.4/build-aux/missing --run automake-1.9' AWK='gawk' CC='cc' CCDEPMODE='depmode=none' CFG_HANDLER='handler-none.c' CFG_LEAVE='leave-none.c' CFG_STACKVMA='stackvma-mincore.c' CFLAGS='-fno-common' CPP='cc -E' CPPFLAGS='' CXX='c++' CXXCPP='c++ -E' CXXDEPMODE='depmode=none' CXXFLAGS='-fno-common' CYGPATH_W='echo' DEFS='-DHAVE_CONFIG_H' DEPDIR='.deps' ECHO='echo' ECHO_C='' ECHO_N='-n' ECHO_T='' EGREP='grep -E' EXEEXT='' F77='g77' FAULT_CONTEXT='void' FAULT_CONTEXT_INCLUDE2='' FAULT_CONTEXT_INCLUDE='' FFLAGS='' HAVE_SIGSEGV_RECOVERY='0' HAVE_STACK_OVERFLOW_RECOVERY='0' INSTALL_DATA='install -o root -g wheel -m 444' INSTALL_PROGRAM='install -s -o root -g wheel -m 555' INSTALL_SCRIPT='install -o root -g wheel -m 555' INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s' LDFLAGS='' LIBOBJS='' LIBS='' LIBTOOL='$(SHELL) $(top_builddir)/libtool' LN_S='ln -s' LTLIBOBJS='' MAKEINFO='${SHELL} /mnt/gmirror/ports/devel/libsigsegv/work/libsigsegv-2.4/build-aux/missing --run makeinfo' OBJEXT='' PACKAGE='libsigsegv' PACKAGE_BUGREPORT='' PACKAGE_NAME='' PACKAGE_STRING='' PACKAGE_TARNAME='' PACKAGE_VERSION='' PATH_SEPARATOR=':' PLATFORM='i386-unknown-gnu' RANLIB='ranlib' RELOCATABLE='no' SET_MAKE='' SHELL='/bin/sh' STRIP='strip' VERSION='2.4' ac_ct_AR='ar' ac_ct_CC='' ac_ct_CXX='' ac_ct_F77='g77' ac_ct_RANLIB='ranlib' ac_ct_STRIP='strip' am__fastdepCC_FALSE='' am__fastdepCC_TRUE='#' am__fastdepCXX_FALSE='' am__fastdepCXX_TRUE='#' am__include='include' am__leading_dot='.' am__quote='' am__tar='${AMTAR} chof - "$$tardir"' am__untar='${AMTAR} xf -' bindir='${exec_prefix}/bin' build='i386-unknown-gnu' build_alias='i386-unknown-gnu' build_cpu='i386' build_os='gnu' build_vendor='unknown' datadir='${prefix}/share' exec_prefix='${prefix}' host='i386-unknown-gnu' host_alias='i386-unknown-gnu' host_cpu='i386' host_os='gnu' host_vendor='unknown' includedir='${prefix}/include' infodir='${prefix}/info' install_sh='/mnt/gmirror/ports/devel/libsigsegv/work/libsigsegv-2.4/build-aux/install-sh' libdir='${exec_prefix}/lib' libexecdir='${exec_prefix}/libexec' localstatedir='${prefix}/var' mandir='${prefix}/man' mkdir_p='mkdir -p --' oldincludedir='/usr/include' prefix='' program_transform_name='s,x,x,' sbindir='${exec_prefix}/sbin' sharedstatedir='${prefix}/com' sysconfdir='${prefix}/etc' target_alias='i386-unknown-gnu' ## ----------- ## ## confdefs.h. ## ## ----------- ## #define CFG_FAULT "fault-none.h" #define CFG_HANDLER "handler-none.c" #define CFG_LEAVE "leave-none.c" #define CFG_MACHFAULT "fault-none.h" #define CFG_SIGNALS "signals-hurd.h" #define CFG_STACKVMA "stackvma-mincore.c" #define HAVE_DLFCN_H 1 #define HAVE_GETPAGESIZE 1 #define HAVE_GETRLIMIT 1 #define HAVE_MINCORE 1 #define HAVE_SETRLIMIT 1 #define HAVE_SIGALTSTACK 1 #define HAVE_STACKVMA 1 #define HAVE_SYS_SIGNAL_H 1 #define PACKAGE "libsigsegv" #define PACKAGE_BUGREPORT "" #define PACKAGE_NAME "" #define PACKAGE_STRING "" #define PACKAGE_TARNAME "" #define PACKAGE_VERSION "" #define STACK_DIRECTION -1 #define VERSION "2.4" #endif #ifdef __cplusplus void exit (int); configure: exit 0