Update HACKING.
[libsigsegv.git] / ChangeLog.1
blobe3a1d79c5ffe80fb43cb371ef1d1c443cec2871b
1 2002-07-15  Bruno Haible  <bruno@clisp.org>
3         * sigsegv.h.in (HAVE_STACK_OVERFLOW_RECOVERY): Define also on FreeBSD.
4         (stackoverflow_context_t): Define as 'struct sigcontext *' on FreeBSD.
5         * handler.c (SIGSEGV_ALL_SIGNALS) [FreeBSD]: Add SIGSEGV; this is the
6         signal that gets sent on stack overflow.
7         (get_vma) [FreeBSD]: New.
8         (reset_onstack_flag) [FreeBSD]: New .
10 2002-05-07  Paolo Bonzini  <bonzini@gnu.org>
12         * sigsegv.h.in [__hpux, hpux]: Define HAVE_SIGSEGV_RECOVERY.
13         * handler.c (UNIX_HPUX) [__hpux, hpux]: New macro.
14         Define the hacks to access CR21.
15         * test1.c (mmap_zeromap): Return the address.
16         (handler): Don't hardcode the correct fault address.
17         (main): Set page to the result of mmap_zeromap.
18         * test2.c (mmap_zeromap): Return the address.
19         (main): Set area1/area2/area3 to the result of mmap_zeromap.
21 2002-05-06  Bruno Haible  <bruno@clisp.org>
23         * test1.c: Include <stdlib.h>, for exit().
24         * test2.c: Likewise.
25         * test3.c: Likewise.
27 2002-04-28  Bruno Haible  <bruno@clisp.org>
29         * Makefile.devel (ACLOCAL): Remove variable.
30         (ACSELECT): Remove variable.
31         (OTHERMACROS): Remove variable.
32         (m4/*.m4): New rules.
33         (autoconf/aclocal.m4): Construct using aclocal instead of acselect.
35 2001-08-25  Bruno Haible  <haible@clisp.cons.org>
37         Upgrade to autoconf-2.52.
38         * autoconf/autoconf: Upgrade to autoconf-2.52.
39         * autoconf/acgeneral.m4: Remove file.
40         * autoconf/acspecific.m4: Remove file.
41         * autoconf/autoconf.m4f: New file, from autoconf-2.52.
42         * autoconf/aclocal.m4: Require autoconf-2.52.
43         (CL_CANONICAL_HOST): Call AC_CANONICAL_HOST. Don't cache the result,
44         AC_CANONICAL_HOST does it itself. Add $SHELL in front of
45         $ac_config_guess and $ac_config_sub.
46         (CL_SIGACTION_REINSTALL): Include <string.h>, for memset declaration.
47         * Makefile.devel (AUTOCONF_FILES): Remove acgeneral.m4, acspecific.m4.
48         Add autoconf.m4f.
49         (configure): Use autoconf options -A, -l instead of -m.
50         * config.h.in: Don't define HAVE_MEMSET.
51         (MPROTECT_CONST, SETRLIMIT_CONST): Use #undef, not #define, to work
52         around an autoconf bug.
54 2001-08-05  Bruno Haible  <haible@clisp.cons.org>
56         * autoconf/acgeneral.m4 (AC_MSG_RESULTPROTO): Remove macro.
57         (AC_LANG_EXTERN): Move to aclocal.m4.
58         * autoconf/aclocal.m4 (AC_LANG_EXTERN): Moved here from acgeneral.m4.
59         (CL_PROTO): Use AC_MSG_RESULT directly, instead of AC_MSG_RESULTPROTO.
60         (CL_SILENT): No need to pushdef AC_MSG_RESULTPROTO.
62 2001-06-08  Bruno Haible  <haible@clisp.cons.org>
64         * autoconf/ltmain.sh: Upgrade to libtool-1.4.
65         * autoconf/ltconfig: Remove file.
67 2001-06-08  Bruno Haible  <haible@clisp.cons.org>
69         * autoconf/config.guess: Update to GNU version 2001-05-11.
70         * autoconf/config.sub: Likewise.
72 2001-05-09  Bruno Haible  <haible@clisp.cons.org>
74         * sigsegv.h.in: Recognize __arm__ as CPU indicator on Linux.
75         * handler.c: Likewise.
77 2001-03-19  Bruno Haible  <haible@clisp.cons.org>
79         * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Always define
80           ac_config_guess and ac_config_sub. Then ignore requests for
81           AC_CONFIG_AUX_DIR_DEFAULT or AC_CANONICAL_HOST.
83 2001-03-19  Bruno Haible  <haible@clisp.cons.org>
85         * ltconfig, ltmain.sh: Upgrade to libtool-1.3.5.
87 2001-02-20  Bruno Haible  <haible@clisp.cons.org>
89         * Makefile.in (libdir, includedir): Use the autoconf determined value,
90           in order to respect the configure arguments.
91           (mandir): Remove unused variable.
92         * Makefile.msvc (mandir): LIkewise.
94         * Makefile.in (install, installdirs, uninstall): Support DESTDIR.
96 2000-12-08  Bruno Haible  <haible@clisp.cons.org>
98         * Makefile.in (exec_prefix): Use configure's --exec-prefix argument.
100 2000-11-15  Bruno Haible  <haible@clisp.cons.org>
102         * Makefile.msvc: Add support for MFLAGS and DEBUG parameters.
104 2000-11-12  Bruno Haible  <haible@clisp.cons.org>
106         * autoconf/config.guess, autoconf/config.sub: Upgrade to newest
107           version from GNU CVS.
109 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
111         * aclocal.m4 (CL_SIGNAL_UNBLOCK): Enable 'volatile' for gotsig,
112           wasblocked.
113           (CL_SIGNAL_BLOCK_OTHERS): Enable 'volatile' for gotsig,
114           somewereblocked.
115           (CL_SIGACTION_UNBLOCK): Enable 'volatile' for gotsig, wasblocked.
117 2000-09-29  Bruno Haible  <haible@clisp.cons.org>
119         * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Fix bug in 2000-05-23
120           change.
122 2000-05-29  Bruno Haible  <haible@clisp.cons.org>
124         * autoconf/aclocal.m4 (CL_PROG_INSTALL): Fix typo.
125         Reported by Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>.
127 2000-05-25  Bruno Haible  <haible@clisp.cons.org>
129         * Makefile.msvc: Use 'copy' and 'ren' instead of 'cp' and 'mv'.
131 2000-05-23  Bruno Haible  <haible@clisp.cons.org>
133         * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Determine host_cpu,
134           host_vendor, host_os correctly if $host has more than two hyphens.
136 2000-04-02  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>
138         Allow building on filesystems lacking symlinks and hard links.
139         * Makefile.devel (autoconf/aclocal.m4): Replace AC_PROG_LN_S with
140           CL_PROG_LN_S.
141         * configure.in: Add CL_PROG_LN_S.
142         * src/Makefile.in (LN): Remove.
144 1999-06-18  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>
146         * handler.c (user_handler): Define also on WIN32.
148 1999-06-16  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>
150         * sigsegv.h.in (stackoverflow_context_t): More precise definition on
151           Solaris, Irix, OSF/1.
153 1999-05-30  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>
155         * Makefile.in (install-lib): New target.
157 1999-05-29  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>
159         * Makefile.in (install): Make sure the directories $(prefix) and
160           $(exec_prefix) exist.
162 1999-05-16  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>
164         Libtoolify.
165         * autoconf/ltconfig, autoconf/ltmain.sh: New files, from libtool-1.2.
166         * Makefile.devel (OTHERMACROS): New macro.
167           (autoconf/aclocal.m4): Add the contents of $(OTHERMACROS).
168         * configure.in: Call CL_CANONICAL_HOST and AM_PROG_LIBTOOL.
169         * Makefile.in (LIBTOOL, LIBTOOL_COMPILE, LIBTOOL_LINK,
170            LIBTOOL_INSTALL, LIBTOOL_UNINSTALL): New macros.
171           (top_builddir): New macro.
172           (OBJECTS): Change .o to .lo.
173           (all): Change .a to .la.
174           (handler.lo): Renamed from handler.o. Use $(LIBTOOL_COMPILE).
175           (dispatcher.lo): Renamed from dispatcher.o. Use $(LIBTOOL_COMPILE).
176           (libsigsegv.la): Renamed from libsigsegv.a. Use $(LIBTOOL_LINK).
177           (install): Use $(LIBTOOL_INSTALL). Copy ./sigsegv.h not
178           $(srcdir)/sigsegv.h.
179           (uninstall): Use $(LIBTOOL_UNINSTALL).
180           (test1, test2, test3): Change .a to .la. Use $(LIBTOOL_LINK).
181           (clean): Also remove *.lo *.la .libs _libs.
182           (distclean): Also remove libtool.
184 1999-05-16  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>
186         For Linux 2.0.x with glibc2.0.
187         * aclocal.m4 (CL_SIGALTSTACK): Define HAVE_SIGALTSTACK only if the
188           sigaction flags macro SA_ONSTACK is also defined.
190 1999-05-15  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>
192         For DEC OSF/1 3.2.
193         * sigsegv.h.in (HAVE_STACK_OVERFLOW_RECOVERY): Undefine if test3
194           doesn't work.
195         * Makefile.in (SEDPREPARE0, SEDCOMMAND3): New macros.
196           (sigsegv.h): Also try running test3.
198 1999-05-09  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>
200         * sigsegv.h.in (HAVE_STACK_OVERFLOW_RECOVERY): Also define on Solaris,
201           Irix, OSF/1.
202         * handler.c: Use symbolic UNIX_* macros for various Unix brands.
203           (SIGSEGV_FAULT_HANDLER_ARGLIST, SIGSEGV_ALL_SIGNALS): Define also
204           when HAVE_SIGSEGV_RECOVERY is not defined. Add support for
205           Linux/m68k, Linux/mips, Linux/alpha, Linux/arm.
206           (SIGSEGV_FAULT_CONTEXT, SIGSEGV_FAULT_STACKPOINTER): New macros.
207           (get_vma) [UNIX_LINUX]: No need to initialize prev twice.
208           (reset_onstack_flag) [UNIX_LINUX]: New function.
209           (get_vma, reset_onstack_flag) [UNIX_SUNOS, UNIX_IRIX, UNIX_OSF]: New
210           functions.
211           (sigsegv_leave_handler): If SIGACTION_NEED_UNBLOCK is defined,
212           unblock the signal itself. Call reset_onstack_flag.
213           (stackoverflow_deinstall_handler): Print something if sigaltstack
214           fails.
215         * aclocal.m4 (CL_SIGNAL_UNBLOCK, CL_SIGNAL_BLOCK_OTHERS,
216            CL_SIGACTION_UNBLOCK): Perform the test if either POSIX or BSD
217           signal mask primitives are available. Otherwise,
218           SIGACTION_NEED_UNBLOCK would not be defined on Solaris.
220 1999-05-07  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>
222         * test3.c (main): Make more verbose.
224         Avoid a "make check" failure with "cc" on DEC OSF/1 4.0.
225         * test2.c (barrier): New function.
226           (main): Call it at the right moment.
228         * Makefile.in (SEDPREPARE1, SEDCOMMAND2): Don't use # as literal.
229           Only GNU make understands \#, other `make's don't.
231 1999-05-02  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>
233         Support for catching stack overflow on Unix, using sigaltstack().
234         * aclocal.m4 (CL_SIGALTSTACK): New macro.
235         * configure.in: Add CL_SIGALTSTACK and CL_RLIMIT.
236         * config.h.in: Add HAVE_SIGALTSTACK, HAVE_SETRLIMIT,
237           RLIMIT_RESOURCE_T, SETRLIMIT_CONST.
238         * Makefile.in (SEDPREPARE1, SEDCOMMAND1, SEDCOMMAND2): New macros.
239           (sigsegv.h): Use them. Depend on config.h.
240         * sigsegv.h.in: Test __linux__ instead of linux.
241           Conditionally define HAVE_STACK_OVERFLOW_RECOVERY for Linux.
242           (sigsegv_handler_t): Add `serious' argument.
243           (stackoverflow_context_t): New type.
244           (stackoverflow_handler_t, stackoverflow_install_handler,
245            stackoverflow_deinstall_handler): Declare unconditionally.
246           (stackoverflow_handler_t): Add `scp' argument.
247           (stackoverflow_install_handler): Change return type to `int'.
248         * handler.c: Test __linux__ instead of linux.
249           Move Win32 section to the end.
250           On Unix, install SIGSEGV handler if HAVE_SIGSEGV_RECOVERY or
251           HAVE_STACK_OVERFLOW_RECOVERY.
252           (vma_struct): New type.
253           (get_vma): New function.
254           (SIGSEGV_FAULT_CONTEXT, SIGSEGV_FAULT_STACKPOINTER): New macros.
255           (stack_top): New variable.
256           (remember_stack_top): New function.
257           (stk_user_handler, stk_extra_stack, stk_extra_stack_size): New
258           variables.
259           (no_user_handler): Remove, use NULL instead.
260           (sigsegv_handler): Extend to support HAVE_STACK_OVERFLOW_RECOVERY.
261           (install_for): Add SA_ONSTACK to sigaction flags if needed.
262           (sigsegv_deinstall_handler): Deinstall handlers only if
263           not needed for stk_user_handler.
264           (stackoverflow_install_handler, stackoverflow_deinstall_handler):
265           New functions.
266           (stack_overflow_handler) [WIN32]: Add context argument.
267           (main_exception_filter): Pass context argument.
268         * test1.c (handler): Add `serious' argument.
269         * test2.c (handler): Likewise.
270         * test3.c (stackoverflow_handler): Add `scp' argument. Use
271           sigsegv_leave_handler instead of complicated #ifdef spaghetti.
272           (main): Call setrlimit, to make sure the recursion doesn't kill the
273           machine. If stackoverflow_install_handler returns -1, bypass the
274           test, because it would crash.
276 1999-03-15  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>
278         * configure.in: Add CL_CC_GCC.
279         * Makefile.in: Use "-x none" option where appropriate.
280         * dispatcher.c: In C++ mode, don't define a function named `delete'.
282 1999-02-08  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>
284         * sigsegv/sigsegv.h.in: Renamed from sigsegv/sigsegv.h.
285           Added "#undef HAVE_SIGSEGV_RECOVERY", commented out.
286         * Makefile.in (sigsegv.h): Try compiling and running test1. If it
287           fails, like on Solaris 2.5 and 2.5.1, uncomment "#undef
288           HAVE_SIGSEGV_RECOVERY".
289         * Makefile.msvc: Update.
291 1999-01-29  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>
293         * sigsegv.h [linux && sparc]: Disable HAVE_SIGSEGV_RECOVERY. It does
294           not work any more.