Scott Vokes [2007-06-04, 12:24:40]: > Actually, here's a quick update. > > Please test and commit. > > Scott > > On 6/4/07, Scott Vokes <[EMAIL PROTECTED]> wrote: > >Porting this seems to be the first step to updating lang/clisp. > > > > From the DESCR: > >"This is a library for handling page faults in user mode. A page fault > >occurs when a program tries to access to a region of memory that is > >currently not available. Catching and handling a page fault is a useful > >technique for implementing: > > * pageable virtual memory, > > * memory-mapped access to persistent databases, > > * generational garbage collectors, > > * stack overflow handlers, > > * distributed shared memory, > > * ..." > > > >Tested on i386, the regression tests passed. Please test and commit.
Can you make it work on other architectures? Below is the build output on amd64. +++ Mon Jun 4 21:39:12 CEST 2007 ===> Checking files for libsigsegv-2.4 `/a/distfiles/libsigsegv-2.4.tar.gz' is up to date. >> (SHA256) libsigsegv-2.4.tar.gz: OK ===> Extracting for libsigsegv-2.4 ===> Patching for libsigsegv-2.4 ===> Configuring for libsigsegv-2.4 configure: loading site script /usr/ports/infrastructure/db/config.site Build Tools: checking for a BSD-compatible install... /usr/bin/install -c -o root -g bin checking whether build environment is sane... yes checking for gawk... (cached) nawk checking whether make sets $(MAKE)... (cached) yes checking for gcc... cc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... (cached) o checking whether we are using the GNU C compiler... (cached) yes checking whether cc accepts -g... (cached) yes checking for cc option to accept ANSI C... none needed checking for style of include used by make... GNU checking dependency style of cc... none checking how to run the C preprocessor... cc -E checking build system type... x86_64-unknown-openbsd4.1 checking host system type... x86_64-unknown-openbsd4.1 checking host platform... x86_64-unknown-openbsd4.1 checking for a BSD-compatible install... /usr/bin/install -c -o root -g bin checking for a sed that does not truncate output... /usr/bin/sed checking for egrep... (cached) grep -E checking for ld used by cc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for /usr/bin/ld option to reload object files... -r checking for BSD-compatible nm... /usr/bin/nm -B checking whether ln -s works... yes checking how to recognise dependent libraries... match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$ checking for ANSI C header files... (cached) yes checking for sys/types.h... (cached) yes checking for sys/stat.h... (cached) yes checking for stdlib.h... (cached) yes checking for string.h... (cached) yes checking for memory.h... (cached) yes checking for strings.h... (cached) yes checking for inttypes.h... (cached) yes checking for stdint.h... (cached) yes checking for unistd.h... (cached) yes checking for dlfcn.h... (cached) yes checking whether we are using the GNU C++ compiler... (cached) yes checking whether c++ accepts -g... (cached) yes checking dependency style of c++... none checking how to run the C++ preprocessor... c++ -E checking for g77... g77 checking whether we are using the GNU Fortran 77 compiler... (cached) yes checking whether g77 accepts -g... (cached) yes checking the maximum length of command line arguments... (cached) 131072 checking command to parse /usr/bin/nm -B output from cc object... ok checking for objdir... .libs checking for ar... (cached) ar checking for ranlib... (cached) ranlib checking for strip... (cached) strip checking if cc supports -fno-rtti -fno-exceptions... no checking for cc option to produce PIC... -fPIC checking if cc PIC flag -fPIC works... yes checking if cc static flag -static works... yes checking if cc supports -c -o file.o... yes checking whether the cc linker (/usr/bin/ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... yes checking dynamic linker characteristics... openbsd4.1 ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes configure: creating libtool appending configuration tag "CXX" to libtool checking for ld used by c++... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking whether the c++ linker (/usr/bin/ld) supports shared libraries... yes checking for c++ option to produce PIC... -fPIC checking if c++ PIC flag -fPIC works... yes checking if c++ static flag -static works... yes checking if c++ supports -c -o file.o... yes checking whether the c++ linker (/usr/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... openbsd4.1 ld.so checking how to hardcode library paths into programs... immediate appending configuration tag "F77" to libtool checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking for g77 option to produce PIC... -fPIC checking if g77 PIC flag -fPIC works... yes checking if g77 static flag -static works... no checking if g77 supports -c -o file.o... yes checking whether the g77 linker (/usr/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... openbsd4.1 ld.so checking how to hardcode library paths into programs... immediate Optional Platform Environment: checking for sys/signal.h... (cached) yes checking for unistd.h... (cached) yes checking for getpagesize... yes checking for sysconf(_SC_PAGESIZE)... yes checking for PAGESIZE in limits.h... no checking for mmap with MAP_ANON... yes checking for mmap with MAP_ANONYMOUS... no checking for mmap of /dev/zero... yes checking whether a fault handler according to POSIX works... yes checking whether a fault handler according to Linux/i386 works... no checking whether a fault handler according to old Linux/i386 works... no checking whether a fault handler according to Linux/m68k works... no checking whether a fault handler according to Linux/PowerPC works... no checking whether a fault handler according to Linux/HPPA works... no checking whether a fault handler according to BSD works... no checking whether a fault handler according to IRIX works... no checking whether a fault handler according to HP-UX HPPA works... no checking whether a fault handler according to OSF/1 Alpha works... no checking whether a fault handler according to NetBSD Alpha works... no checking whether a fault handler according to AIX works... no checking whether a fault handler according to MacOSX/Darwin7 PowerPC works... no checking whether a fault handler according to MacOSX/Darwin5 PowerPC works... no checking whether a fault handler according to Hurd works... no checking for the fault handler specifics... fault-openbsd-i386.h checking if the system supports catching SIGSEGV... yes checking for stack direction... grows down checking for PIOCMAP in sys/procfs.h... no checking for mincore... yes checking for getrlimit... (cached) yes checking for setrlimit... (cached) yes checking for sigaltstack... (cached) yes checking for stack_t... yes checking for working sigaltstack... yes checking if the system supports catching stack overflow... yes checking whether a signal handler can be left through longjmp... no checking whether a signal handler can be left through longjmp and sigaltstack... yes checking whether a signal handler can be left through longjmp and setcontext... no checking whether a signal handler can be left through siglongjmp... no checking whether a signal handler can be left through siglongjmp and sigaltstack... yes checking whether a signal handler can be left through siglongjmp and setcontext... no Build Parameters: checking whether to activate relocatable installation... no Output Substitution: configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: creating src/sigsegv.h config.status: creating tests/Makefile config.status: creating config.h config.status: executing depfiles commands Now please type 'make' to compile. Good luck. ===> Building for libsigsegv-2.4 gmake TARGETSTACK=" all" all-recursive gmake[1]: Entering directory `/b/ports/obj/libsigsegv-2.4/libsigsegv-2.4' Making all in src gmake[2]: Entering directory `/b/ports/obj/libsigsegv-2.4/libsigsegv-2.4/src' /usr/local/bin/libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I. -O2 -pipe -Wformat -Wbounded -c -o handler.lo handler.c mkdir .libs cc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I. -O2 -pipe -Wformat -Wbounded -c handler.c -fPIC -DPIC -o .libs/handler.o In file included from handler.c:20: handler-unix.c: In function `sigsegv_handler': handler-unix.c:147: error: structure has no member named `sc_esp' handler-unix.c: In function `install_for': handler-unix.c:322: warning: assignment from incompatible pointer type gmake[2]: *** [handler.lo] Error 1 gmake[2]: Leaving directory `/b/ports/obj/libsigsegv-2.4/libsigsegv-2.4/src' gmake[1]: *** [all-recursive] Error 1 gmake[1]: Leaving directory `/b/ports/obj/libsigsegv-2.4/libsigsegv-2.4' gmake: *** [all] Error 2 *** Error code 2 Stop in /home/smestdag/ports/mystuff/devel/libsigsegv (line 2050 of /usr/ports/infrastructure/mk/bsd.port.mk). --- Mon Jun 4 21:39:22 CEST 2007