2002-07-15  Bruno Haible  <bruno@clisp.org>

	* sigsegv.h.in (HAVE_STACK_OVERFLOW_RECOVERY): Define also on FreeBSD.
	(stackoverflow_context_t): Define as 'struct sigcontext *' on FreeBSD.
	* handler.c (SIGSEGV_ALL_SIGNALS) [FreeBSD]: Add SIGSEGV; this is the
	signal that gets sent on stack overflow.
	(get_vma) [FreeBSD]: New.
	(reset_onstack_flag) [FreeBSD]: New .

2002-05-07  Paolo Bonzini  <bonzini@gnu.org>

	* sigsegv.h.in [__hpux, hpux]: Define HAVE_SIGSEGV_RECOVERY.
	* handler.c (UNIX_HPUX) [__hpux, hpux]: New macro.
	Define the hacks to access CR21.
	* test1.c (mmap_zeromap): Return the address.
	(handler): Don't hardcode the correct fault address.
	(main): Set page to the result of mmap_zeromap.
	* test2.c (mmap_zeromap): Return the address.
	(main): Set area1/area2/area3 to the result of mmap_zeromap.

2002-05-06  Bruno Haible  <bruno@clisp.org>

	* test1.c: Include <stdlib.h>, for exit().
	* test2.c: Likewise.
	* test3.c: Likewise.

2002-04-28  Bruno Haible  <bruno@clisp.org>

	* Makefile.devel (ACLOCAL): Remove variable.
	(ACSELECT): Remove variable.
	(OTHERMACROS): Remove variable.
	(m4/*.m4): New rules.
	(autoconf/aclocal.m4): Construct using aclocal instead of acselect.

2001-08-25  Bruno Haible  <haible@clisp.cons.org>

	Upgrade to autoconf-2.52.
	* autoconf/autoconf: Upgrade to autoconf-2.52.
	* autoconf/acgeneral.m4: Remove file.
	* autoconf/acspecific.m4: Remove file.
	* autoconf/autoconf.m4f: New file, from autoconf-2.52.
	* autoconf/aclocal.m4: Require autoconf-2.52.
	(CL_CANONICAL_HOST): Call AC_CANONICAL_HOST. Don't cache the result,
	AC_CANONICAL_HOST does it itself. Add $SHELL in front of
	$ac_config_guess and $ac_config_sub.
	(CL_SIGACTION_REINSTALL): Include <string.h>, for memset declaration.
	* Makefile.devel (AUTOCONF_FILES): Remove acgeneral.m4, acspecific.m4.
	Add autoconf.m4f.
	(configure): Use autoconf options -A, -l instead of -m.
	* config.h.in: Don't define HAVE_MEMSET.
	(MPROTECT_CONST, SETRLIMIT_CONST): Use #undef, not #define, to work
	around an autoconf bug.

2001-08-05  Bruno Haible  <haible@clisp.cons.org>

	* autoconf/acgeneral.m4 (AC_MSG_RESULTPROTO): Remove macro.
	(AC_LANG_EXTERN): Move to aclocal.m4.
	* autoconf/aclocal.m4 (AC_LANG_EXTERN): Moved here from acgeneral.m4.
	(CL_PROTO): Use AC_MSG_RESULT directly, instead of AC_MSG_RESULTPROTO.
	(CL_SILENT): No need to pushdef AC_MSG_RESULTPROTO.

2001-06-08  Bruno Haible  <haible@clisp.cons.org>

        * autoconf/ltmain.sh: Upgrade to libtool-1.4.
        * autoconf/ltconfig: Remove file.

2001-06-08  Bruno Haible  <haible@clisp.cons.org>

        * autoconf/config.guess: Update to GNU version 2001-05-11.
        * autoconf/config.sub: Likewise.

2001-05-09  Bruno Haible  <haible@clisp.cons.org>

        * sigsegv.h.in: Recognize __arm__ as CPU indicator on Linux.
        * handler.c: Likewise.

2001-03-19  Bruno Haible  <haible@clisp.cons.org>

        * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Always define
          ac_config_guess and ac_config_sub. Then ignore requests for
          AC_CONFIG_AUX_DIR_DEFAULT or AC_CANONICAL_HOST.

2001-03-19  Bruno Haible  <haible@clisp.cons.org>

        * ltconfig, ltmain.sh: Upgrade to libtool-1.3.5.

2001-02-20  Bruno Haible  <haible@clisp.cons.org>

        * Makefile.in (libdir, includedir): Use the autoconf determined value,
          in order to respect the configure arguments.
          (mandir): Remove unused variable.
        * Makefile.msvc (mandir): LIkewise.

	* Makefile.in (install, installdirs, uninstall): Support DESTDIR.

2000-12-08  Bruno Haible  <haible@clisp.cons.org>

        * Makefile.in (exec_prefix): Use configure's --exec-prefix argument.

2000-11-15  Bruno Haible  <haible@clisp.cons.org>

        * Makefile.msvc: Add support for MFLAGS and DEBUG parameters.

2000-11-12  Bruno Haible  <haible@clisp.cons.org>

        * autoconf/config.guess, autoconf/config.sub: Upgrade to newest
          version from GNU CVS.

2000-11-08  Bruno Haible  <haible@clisp.cons.org>

        * aclocal.m4 (CL_SIGNAL_UNBLOCK): Enable 'volatile' for gotsig,
          wasblocked.
          (CL_SIGNAL_BLOCK_OTHERS): Enable 'volatile' for gotsig,
          somewereblocked.
          (CL_SIGACTION_UNBLOCK): Enable 'volatile' for gotsig, wasblocked.

2000-09-29  Bruno Haible  <haible@clisp.cons.org>

        * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Fix bug in 2000-05-23
          change.

2000-05-29  Bruno Haible  <haible@clisp.cons.org>

        * autoconf/aclocal.m4 (CL_PROG_INSTALL): Fix typo.
        Reported by Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>.

2000-05-25  Bruno Haible  <haible@clisp.cons.org>

        * Makefile.msvc: Use 'copy' and 'ren' instead of 'cp' and 'mv'.

2000-05-23  Bruno Haible  <haible@clisp.cons.org>

        * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Determine host_cpu,
          host_vendor, host_os correctly if $host has more than two hyphens.

2000-04-02  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        Allow building on filesystems lacking symlinks and hard links.
        * Makefile.devel (autoconf/aclocal.m4): Replace AC_PROG_LN_S with
          CL_PROG_LN_S.
        * configure.in: Add CL_PROG_LN_S.
        * src/Makefile.in (LN): Remove.

1999-06-18  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        * handler.c (user_handler): Define also on WIN32.

1999-06-16  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        * sigsegv.h.in (stackoverflow_context_t): More precise definition on
          Solaris, Irix, OSF/1.

1999-05-30  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        * Makefile.in (install-lib): New target.

1999-05-29  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        * Makefile.in (install): Make sure the directories $(prefix) and
          $(exec_prefix) exist.

1999-05-16  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        Libtoolify.
        * autoconf/ltconfig, autoconf/ltmain.sh: New files, from libtool-1.2.
        * Makefile.devel (OTHERMACROS): New macro.
          (autoconf/aclocal.m4): Add the contents of $(OTHERMACROS).
        * configure.in: Call CL_CANONICAL_HOST and AM_PROG_LIBTOOL.
        * Makefile.in (LIBTOOL, LIBTOOL_COMPILE, LIBTOOL_LINK,
           LIBTOOL_INSTALL, LIBTOOL_UNINSTALL): New macros.
          (top_builddir): New macro.
          (OBJECTS): Change .o to .lo.
          (all): Change .a to .la.
          (handler.lo): Renamed from handler.o. Use $(LIBTOOL_COMPILE).
          (dispatcher.lo): Renamed from dispatcher.o. Use $(LIBTOOL_COMPILE).
          (libsigsegv.la): Renamed from libsigsegv.a. Use $(LIBTOOL_LINK).
          (install): Use $(LIBTOOL_INSTALL). Copy ./sigsegv.h not
          $(srcdir)/sigsegv.h.
          (uninstall): Use $(LIBTOOL_UNINSTALL).
          (test1, test2, test3): Change .a to .la. Use $(LIBTOOL_LINK).
          (clean): Also remove *.lo *.la .libs _libs.
          (distclean): Also remove libtool.

1999-05-16  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        For Linux 2.0.x with glibc2.0.
        * aclocal.m4 (CL_SIGALTSTACK): Define HAVE_SIGALTSTACK only if the
          sigaction flags macro SA_ONSTACK is also defined.

1999-05-15  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        For DEC OSF/1 3.2.
        * sigsegv.h.in (HAVE_STACK_OVERFLOW_RECOVERY): Undefine if test3
          doesn't work.
        * Makefile.in (SEDPREPARE0, SEDCOMMAND3): New macros.
          (sigsegv.h): Also try running test3.

1999-05-09  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        * sigsegv.h.in (HAVE_STACK_OVERFLOW_RECOVERY): Also define on Solaris,
          Irix, OSF/1.
        * handler.c: Use symbolic UNIX_* macros for various Unix brands.
          (SIGSEGV_FAULT_HANDLER_ARGLIST, SIGSEGV_ALL_SIGNALS): Define also
          when HAVE_SIGSEGV_RECOVERY is not defined. Add support for
          Linux/m68k, Linux/mips, Linux/alpha, Linux/arm.
          (SIGSEGV_FAULT_CONTEXT, SIGSEGV_FAULT_STACKPOINTER): New macros.
          (get_vma) [UNIX_LINUX]: No need to initialize prev twice.
          (reset_onstack_flag) [UNIX_LINUX]: New function.
          (get_vma, reset_onstack_flag) [UNIX_SUNOS, UNIX_IRIX, UNIX_OSF]: New
          functions.
          (sigsegv_leave_handler): If SIGACTION_NEED_UNBLOCK is defined,
          unblock the signal itself. Call reset_onstack_flag.
          (stackoverflow_deinstall_handler): Print something if sigaltstack
          fails.
        * aclocal.m4 (CL_SIGNAL_UNBLOCK, CL_SIGNAL_BLOCK_OTHERS,
           CL_SIGACTION_UNBLOCK): Perform the test if either POSIX or BSD
          signal mask primitives are available. Otherwise,
          SIGACTION_NEED_UNBLOCK would not be defined on Solaris.

1999-05-07  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        * test3.c (main): Make more verbose.

        Avoid a "make check" failure with "cc" on DEC OSF/1 4.0.
        * test2.c (barrier): New function.
          (main): Call it at the right moment.

        * Makefile.in (SEDPREPARE1, SEDCOMMAND2): Don't use # as literal.
          Only GNU make understands \#, other `make's don't.

1999-05-02  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        Support for catching stack overflow on Unix, using sigaltstack().
        * aclocal.m4 (CL_SIGALTSTACK): New macro.
        * configure.in: Add CL_SIGALTSTACK and CL_RLIMIT.
        * config.h.in: Add HAVE_SIGALTSTACK, HAVE_SETRLIMIT,
          RLIMIT_RESOURCE_T, SETRLIMIT_CONST.
        * Makefile.in (SEDPREPARE1, SEDCOMMAND1, SEDCOMMAND2): New macros.
          (sigsegv.h): Use them. Depend on config.h.
        * sigsegv.h.in: Test __linux__ instead of linux.
          Conditionally define HAVE_STACK_OVERFLOW_RECOVERY for Linux.
          (sigsegv_handler_t): Add `serious' argument.
          (stackoverflow_context_t): New type.
          (stackoverflow_handler_t, stackoverflow_install_handler,
           stackoverflow_deinstall_handler): Declare unconditionally.
          (stackoverflow_handler_t): Add `scp' argument.
          (stackoverflow_install_handler): Change return type to `int'.
        * handler.c: Test __linux__ instead of linux.
          Move Win32 section to the end.
          On Unix, install SIGSEGV handler if HAVE_SIGSEGV_RECOVERY or
          HAVE_STACK_OVERFLOW_RECOVERY.
          (vma_struct): New type.
          (get_vma): New function.
          (SIGSEGV_FAULT_CONTEXT, SIGSEGV_FAULT_STACKPOINTER): New macros.
          (stack_top): New variable.
          (remember_stack_top): New function.
          (stk_user_handler, stk_extra_stack, stk_extra_stack_size): New
          variables.
          (no_user_handler): Remove, use NULL instead.
          (sigsegv_handler): Extend to support HAVE_STACK_OVERFLOW_RECOVERY.
          (install_for): Add SA_ONSTACK to sigaction flags if needed.
          (sigsegv_deinstall_handler): Deinstall handlers only if
          not needed for stk_user_handler.
          (stackoverflow_install_handler, stackoverflow_deinstall_handler):
          New functions.
          (stack_overflow_handler) [WIN32]: Add context argument.
          (main_exception_filter): Pass context argument.
        * test1.c (handler): Add `serious' argument.
        * test2.c (handler): Likewise.
        * test3.c (stackoverflow_handler): Add `scp' argument. Use
          sigsegv_leave_handler instead of complicated #ifdef spaghetti.
          (main): Call setrlimit, to make sure the recursion doesn't kill the
          machine. If stackoverflow_install_handler returns -1, bypass the
          test, because it would crash.

1999-03-15  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        * configure.in: Add CL_CC_GCC.
        * Makefile.in: Use "-x none" option where appropriate.
        * dispatcher.c: In C++ mode, don't define a function named `delete'.

1999-02-08  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        * sigsegv/sigsegv.h.in: Renamed from sigsegv/sigsegv.h.
          Added "#undef HAVE_SIGSEGV_RECOVERY", commented out.
        * Makefile.in (sigsegv.h): Try compiling and running test1. If it
          fails, like on Solaris 2.5 and 2.5.1, uncomment "#undef
          HAVE_SIGSEGV_RECOVERY".
        * Makefile.msvc: Update.

1999-01-29  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        * sigsegv.h [linux && sparc]: Disable HAVE_SIGSEGV_RECOVERY. It does
          not work any more.

