Improve OpenBSD support: Allow faster VMA determination.
[libsigsegv/ericb.git] / ChangeLog
blobf0063b092cd666e5f8894091c68b3a900c164775
1 2011-01-29  Bruno Haible  <bruno@clisp.org>
3         Improve OpenBSD support: Allow faster VMA determination.
4         * configure.ac: Check also for mquery.
5         (CFG_STACKVMA): Set to stackvma-mquery.c if mquery() exists.
6         * src/stackvma-mquery.c: New file.
7         * src/Makefile.am (EXTRA_DIST): Add it.
8         * NEWS: Document the improvement.
10 2011-01-23  Bruno Haible  <bruno@clisp.org>
12         Improve NetBSD support: Allow VMA determination with fewer system calls.
13         * src/stackvma-netbsd.c: New file, based on src/stackvma-freebsd.c.
14         * src/stackvma-freebsd.c: Add comment.
15         * src/Makefile.am (EXTRA_DIST): Add stackvma-netbsd.c.
16         * configure.ac (CFG_STACKVMA): Set to stackvma-netbsd.c on NetBSD.
18 2010-11-06  Bruno Haible  <bruno@clisp.org>
20         * Version 2.9 released.
22 2010-11-06  Bruno Haible  <bruno@clisp.org>
24         Bump version number.
25         * configure.ac: Bump version number to 2.9.
26         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
27         * README: Likewise.
28         * src/Makefile.am (LIBSIGSEGV_VERSION_INFO): Bump to 2:2:0.
30 2010-11-06  Bruno Haible  <bruno@clisp.org>
32         Start to use gnulib.
33         * autogen.sh: New option --skip-gnulib. Fetch gnulib if GNULIB_TOOL is
34         not set. Import m4/relocatable-lib.m4.
35         * configure.ac: Invoke gl_RELOCATABLE_NOP instead of
36         AC_RELOCATABLE_NOP.
37         * m4/relocatable.m4: Remove file.
39 2010-11-06  Bruno Haible  <bruno@clisp.org>
41         Modernize autoconf macro style.
42         * configure.ac: Surround all macro arguments in brackets.
43         * m4/getpagesize.m4: Likewise.
44         * m4/mmap-anon.m4: Likewise.
45         * m4/sigaltstack.m4: Likewise.
47 2010-11-06  Bruno Haible  <bruno@clisp.org>
49         Don't list files in .gitignore that are absent after "make distclean".
50         * .gitignore: Complete the list of files that are created by "make" and
51         removed by "make distclean". But comment them out, since they belong in
52         .git/info/exclude. Also remove /autom4te.cache because "make distclean"
53         does not remove it.
55 2010-10-25  Eric Blake  <eblake@redhat.com>
57         Fix powerpc64-unknown-linux-gnu implementation.
58         * src/stackvma-rofile.c (struct rofile): Reduce size, to avoid
59         overflowing alternate stack when compiled under -O2.
60         * src/stackvma-mincore.c (mapped_range_start, mapped_range_end):
61         Likewise.
62         * NEWS: Document the fix.
64 2010-10-24  Eric Blake  <eblake@redhat.com>
65             Bruno Haible  <bruno@clisp.org>
67         Enhance the tests to detect overflow of the alternate stack.
68         * tests/altstack.h: New file.
69         * tests/Makefile.am (EXTRA_DIST): Add altstack.h.
70         * configure.ac: Invoke AC_TYPE_UINTPTR_T.
71         * tests/stackoverflow1.c: Include altstack.h.
72         (SIGSTKSZ): Remove definition.
73         (mystack): Remove definition.
74         (main): Invoke prepare_alternate_stack and
75         check_alternate_stack_no_overflow.
76         * tests/stackoverflow2.c: Likewise.
77         * tests/efault2.c: Likewise.
78         * tests/efault3.c: Likewise.
80 2010-10-21  Eric Blake  <eblake@redhat.com>
82         * .gitignore: Ignore more files.
84 2010-09-23  Bruno Haible  <bruno@clisp.org>
86         * m4/libtool.m4: Update from libtool-2.4.
87         * m4/ltversion.m4: Likewise.
88         * build-aux/ltmain.sh: Likewise.
90 2010-06-04  Bruno Haible  <bruno@clisp.org>
92         * m4/libtool.m4: Update from libtool-2.2.8.
93         * m4/ltoptions.m4: Likewise.
94         * m4/ltversion.m4: Likewise.
95         * m4/lt~obsolete.m4: Likewise.
96         * build-aux/ltmain.sh: Likewise.
98 2010-04-06  Eric Blake  <eblake@redhat.com>
100         * AUTHORS: Add myself.
102 2010-03-30  Bruno Haible  <bruno@clisp.org>
104         * README.woe32: Update for Cygwin 1.7.x.
106 2010-02-18  Bruno Haible  <bruno@clisp.org>
108         Fix 64-bit builds with --enable-shared on MacOS X.
109         * src/stackvma-mach.c (sigsegv_get_vma): On 64-bit MacOS X, use
110         vm_region_64 instead of vm_region.
111         * NEWS: Mention the fix.
112         Reported by Rudá Moura <ruda@rudix.org>.
114 2010-01-31  Bruno Haible  <bruno@clisp.org>
116         * README: Add more homepage links. Add bug report address.
118 2010-01-07  Bruno Haible  <bruno@clisp.org>
120         Improve support for OpenBSD.
121         * src/fault-openbsd-i386.h (SIGSEGV_FAULT_STACKPOINTER): Define
122         differently in 64-bit mode.
123         * src/fault-openbsd-alpha.h: New file.
124         * src/fault-openbsd-arm.h: New file.
125         * src/fault-openbsd-hppa.h: New file.
126         * src/fault-openbsd-m68k.h: New file.
127         * src/fault-openbsd-m88k.h: New file.
128         * src/fault-openbsd-mips.h: New file.
129         * src/fault-openbsd-powerpc.h: New file.
130         * src/fault-openbsd-sh.h: New file.
131         * src/fault-openbsd-sparc.h: New file.
132         * src/fault-openbsd-vax.h: New file.
133         * src/Makefile.am (noinst_HEADERS): Add the new files.
134         * configure.ac (CFG_FAULT): Use these files on OpenBSD.
135         Reported by Paul Irofti <bulibuta@sdf.lonestar.org>.
137 2009-12-11  Bruno Haible  <bruno@clisp.org>
139         * Version 2.8 released.
141 2009-12-11  Bruno Haible  <bruno@clisp.org>
143         * configure.ac: Bump version number to 2.8.
144         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
145         * README: Likewise.
146         * src/Makefile.am (LIBSIGSEGV_VERSION_INFO): Bump to 2:1:0.
148 2009-12-11  Bruno Haible  <bruno@clisp.org>
150         Remove configuration option --enable-EFAULT.
151         * configure.ac (enable_EFAULT): Set to yes on Cygwin, to no otherwise.
152         * README, NEWS: Don't mention --enable-EFAULT.
153         Reported by Eric Blake.
155 2009-12-11  Bruno Haible  <bruno@clisp.org>
157         New test for Cygwin.
158         * tests/cygwin1.c: New file, based on code by Eric Blake.
159         * tests/Makefile.am (TESTS, noinst_PROGRAMS): Add it.
160         * configure.ac (CYGWIN): New conditional.
162 2009-11-21  Eric Blake  <ebb9@byu.net>
163             Bruno Haible  <bruno@clisp.org>
165         New configuration option --enable-EFAULT.
166         * configure.ac: Accept option --enable-EFAULT. Set and define
167         ENABLE_EFAULT. Invoke SV_SYSCALLS_EFAULT.
168         For Cygwin, use the CFG_FAULT that was already determined, or
169         fault-cygwin-old.h if none. In the latter case, define
170         OLD_CYGWIN_WORKAROUND.
171         * m4/efault.m4: New file.
172         * src/handler-win32.c [CYGWIN && ENABLE_EFAULT]: Include
173         handler-unix.c.
174         (MIXING_UNIX_SIGSEGV_AND_WIN32_STACKOVERFLOW_HANDLING): New macro.
175         (last_seen_fault_address): New variable.
176         (main_exception_filter): Store the fault address for the Unix signal
177         handler.
178         (sigsegv_install_handler): Redefine.
179         (sigsegv_deinstall_handler, sigsegv_leave_handler): Don't define.
180         * src/handler-unix.c (stackoverflow_install_handler,
181         stackoverflow_deinstall_handler): Don't define if
182         MIXING_UNIX_SIGSEGV_AND_WIN32_STACKOVERFLOW_HANDLING is set.
183         * src/fault-cygwin-old.h: New file.
184         * src/Makefile.am (noinst_HEADERS): Add it.
185         * tests/efault1.c: New file.
186         * tests/efault2.c: New file.
187         * tests/efault3.c: New file.
188         * tests/Makefile.am (TESTS, noinst_PROGRAMS): Add efault1, efault2,
189         efault3.
190         * README, NEWS: Mention the new option.
192 2009-11-21  Bruno Haible  <bruno@clisp.org>
194         Support for Cygwin 1.7.
195         * configure.ac: For Cygwin and mingw, choose FAULT_CONTEXT in a way
196         that is consistent with CFD_HANDLER.
197         Reported by Eric Blake <ebb9@byu.net>
199 2009-11-21  Bruno Haible  <bruno@clisp.org>
201         * configure.ac: Add comments and structure.
203 2009-11-21  Bruno Haible  <bruno@clisp.org>
205         Reduce size of configure.ac.
206         * m4/stack-direction.m4: New file, extracted from configure.ac.
207         * configure.ac: Simply invoke SV_STACK_DIRECTION.
209 2009-11-21  Eric Blake  <ebb9@byu.net>
210             Bruno Haible  <bruno@clisp.org>
212         Avoid a gcc warning.
213         * src/handler-win32.c (debug_get_except_list): Mark as unused.
215 2009-11-21  Bruno Haible  <bruno@clisp.org>
217         Fix compilation error on newer versions of HP-UX 11.31 on ia64.
218         * configure.ac: Set sv_cv_have_stack_overflow_recovery to 'no' if it is
219         not possible to longjmp out of the signal handler. On HP-UX 11.31 on
220         ia64 it is only possible with siglongjmp (as far as we know).
221         Reported by Bill Glessner <bill.glessner@cwu.edu>.
223         * configure.ac: Move determination of CFG_LEAVE before the
224         determination of sv_cv_have_stack_overflow_recovery.
226 2009-10-17  Bruno Haible  <bruno@clisp.org>
228         * README: Mention danger of longjmping back to a central point.
229         Reported by Angelo Borsotti <angelo.borsotti@gmail.com>.
231 2009-09-22  Paolo Bonzini  <bonzini@gnu.org>
233         Move more declarations of alternate stacks to global scope.
234         * m4/sigaltstack-longjmp.m4: Make mystack global.
235         * m4/sigaltstack-siglongjmp.m4: Make mystack global.
236         * m4/sigaltstack.m4: Make mystack global.
238 2009-09-22  Paolo Bonzini  <bonzini@gnu.org>
240         Fix crash of stackoverflow2 on x86_64-linux.
241         * tests/stackoverflow1.c: Make mystack global.
242         * tests/stackoverflow2.c: Likewise.
243         * src/sigsegv.h.in: Warn against placing the alternate stack
244         on the main stack.
246 2009-08-16  Bruno Haible  <bruno@clisp.org>
248         Avoid a gcc warning on Solaris.
249         * src/stackvma-procfs.c: Include <string.h>.
251 2009-08-14  Bruno Haible  <bruno@clisp.org>
253         Remove config.guess, config.sub from from version control.
254         * autogen.sh: Fetch config.guess, config.sub.
255         * build-aux/config.guess: Remove file.
256         * build-aux/config.sub: Remove file.
258 2009-08-14  Bruno Haible  <bruno@clisp.org>
260         Remove autogenerated files from version control.
261         * autogen.sh: New file.
262         * aclocal.m4: Remove file.
263         * configure: Remove file.
264         * config.h.in: Remove file.
265         * Makefile.in: Remove file.
266         * src/Makefile.in: Remove file.
267         * tests/Makefile.in: Remove file.
268         * build-aux/install-sh: Remove file.
269         * build-aux/missing: Remove file.
270         * config.h.msvc: Remove file.
271         * src/sigsegv.h.msvc: Remove file.
273 2009-08-14  Bruno Haible  <bruno@clisp.org>
275         Override automake's tar command used for creating distributions.
276         * configure.ac (am__tar): New variable.
278 2009-08-09  Bruno Haible  <bruno@clisp.org>
280         * Version 2.7 released.
282 2009-08-09  Bruno Haible  <bruno@clisp.org>
284         * configure.ac: Bump version number to 2.7.
285         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
286         * src/Makefile.am (LIBSIGSEGV_VERSION_INFO): Bump to 2:0:0.
288 2009-08-09  Bruno Haible  <bruno@clisp.org>
290         * src/fault-linux-powerpc.h (SIGSEGV_FAULT_STACKPOINTER): Fix mistake.
292 2009-08-09  Bruno Haible  <bruno@clisp.org>
294         Avoid warnings on glibc systems.
295         * src/stackvma-mincore.c (pageinfo_t): New type.
296         (is_mapped, mapped_range_start, mapped_range_end): Use it.
298 2009-08-01  Bruno Haible  <bruno@clisp.org>
300         Prefer the POSIX way over the traditional one, on Linux.
301         * configure.ac: Use the traditional Linux way only if the POSIX way
302         does not work.
303         * NEWS: Mention the change.
305 2009-08-01  Bruno Haible  <bruno@clisp.org>
307         Add knowledge where to find the stack pointer on Linux platforms.
308         * src/fault-linux-alpha.h: New file.
309         * src/fault-linux-arm.h: New file.
310         * src/fault-linux-cris.h: New file.
311         * src/fault-linux-hppa.h: New file.
312         * src/fault-linux-i386.h: New file.
313         * src/fault-linux-ia64.h: New file.
314         * src/fault-linux-m68k.h: New file.
315         * src/fault-linux-mips.h: New file.
316         * src/fault-linux-powerpc.h: New file.
317         * src/fault-linux-s390.h: New file.
318         * src/fault-linux-sh.h: New file.
319         * src/fault-linux-sparc.h: New file.
320         * src/Makefile.am (noinst_HEADERS): Add them.
321         * src/handler-unix.c (_GNU_SOURCE): Define.
322         * src/fault-linux-hppa-old.h: Add alternative code, commented.
323         * src/fault-linux-sparc-old.h: Likewise.
324         * configure.ac (CFG_FAULT): Use these files on Linux when the POSIX way
325         of catching page faults works.
327 2009-08-01  Bruno Haible  <bruno@clisp.org>
329         * src/fault-linux-i386-old.h: Renamed from src/fault-linux-i386.h.
330         * src/Makefile.am (noinst_HEADERS): Update.
331         * configure.ac: Update.
333         * src/fault-linux-i386-oldold.h: Renamed from
334         src/fault-linux-i386-old.h.
335         * src/Makefile.am (noinst_HEADERS): Update.
336         * configure.ac: Update.
338         * src/fault-linux-alpha-old.h: Renamed from src/fault-linux-alpha.h.
339         * src/fault-linux-arm-old.h: Renamed from src/fault-linux-arm.h.
340         * src/fault-linux-cris-old.h: Renamed from src/fault-linux-cris.h.
341         * src/fault-linux-hppa-old.h: Renamed from src/fault-linux-hppa.h.
342         * src/fault-linux-ia64-old.h: Renamed from src/fault-linux-ia64.h.
343         * src/fault-linux-m68k-old.c: Renamed from src/fault-linux-m68k.c.
344         * src/fault-linux-m68k-old.h: Renamed from src/fault-linux-m68k.h.
345         Update.
346         * src/fault-linux-mips-old.h: Renamed from src/fault-linux-mips.h.
347         * src/fault-linux-powerpc-old.h: Renamed from src/fault-linux-powerpc.h.
348         * src/fault-linux-s390-old.h: Renamed from src/fault-linux-s390.h.
349         * src/fault-linux-sh-old.h: Renamed from src/fault-linux-sh.h.
350         * src/fault-linux-sparc-old.h: Renamed from src/fault-linux-sparc.h.
351         * src/fault-linux-x86_64-old.h: Renamed from src/fault-linux-x86_64.h.
352         * src/Makefile.am (noinst_HEADERS): Update.
353         * configure.ac: Update.
355 2009-06-23  Bruno Haible  <bruno@clisp.org>
357         * Makefile.am (check-next): No longer ask for copies of config.log.
359 2009-06-23  Bruno Haible  <bruno@clisp.org>
361         Improve support for MirBSD 10.
362         * configure.ac (CFG_FAULT, FAULT_CONTEXT): Treat MirBSD/i386 like
363         OpenBSD/i386.
365 2009-06-23  Bruno Haible  <bruno@clisp.org>
367         Add support for platforms that follow POSIX:2008, not POSIX:2001.
368         * configure.ac (POSIX): Add MirBSD to known list.
369         (CFG_FAULT, FAULT_CONTEXT, FAULT_CONTEXT_INCLUDE): Define appropriately
370         when <ucontext.h> does not exist.
371         * src/fault-posix-ucontext.h: Renamed from src/fault-posix.h.
372         * src/fault-posix.h: New file.
373         * src/fault-aix5.h: Update.
374         * src/fault-hpux-hppa.h: Update.
375         * src/fault-netbsd.h: Update.
376         * src/fault-solaris.h: Update.
377         * src/Makefile.am (noinst_HEADERS): Add fault-posix-ucontext.h.
379 2009-06-23  Bruno Haible  <bruno@clisp.org>
381         * configure.ac (FAULT_CONTEXT_INCLUDE): Reinstall the AC_SUBST
382         invocation.
384 2009-05-21  Bruno Haible  <bruno@clisp.org>
386         * configure.ac (FAULT_CONTEXT_INCLUDE): Don't substitute into
387         Makefiles.
389 2009-05-21  Bruno Haible  <bruno@clisp.org>
391         * tests/Makefile.am (AUTOMAKE_OPTIONS): Assume automake >= 1.11.
392         Use color-tests option.
394 2009-01-14  Bruno Haible  <bruno@clisp.org>
396         * configure.ac: More consistent m4 quoting.
398 2008-09-27  Bruno Haible  <bruno@clisp.org>
400         * build-aux/config.sub: Update to GNU version 2008-09-08.
402 2008-09-23  Eric Blake  <ebb9@byu.net>
404         Use 2 * SIGSTKSZ consistently in configuration checks.
405         * m4/sigaltstack.m4 (SV_SIGALTSTACK): Work around IRIX sigaltstack bug.
406         * m4/sigaltstack-longjmp.m4 (SV_TRY_LEAVE_HANDLER_LONGJMP): Likewise.
407         * m4/sigaltstack-siglongjmp.m4 (SV_TRY_LEAVE_HANDLER_SIGLONGJMP):
408         Likewise.
410 2008-09-21  Bruno Haible  <bruno@clisp.org>
412         * src/Makefile.am (LIBSIGSEGV_VERSION_INFO): New variable.
413         (libsigsegv_la_LDFLAGS): Pass -rpath and -version-info option.
414         Reported by Thomas Klausner <tk@giga.or.at>.
416 2008-09-21  Eric Blake  <ebb9@byu.net>
417             Bruno Haible  <bruno@clisp.org>
419         Detect and work around bug in Irix 5.3 sigaltstack.
420         * m4/sigaltstack.m4 (SV_SIGALTSTACK): Test for broken stack_t direction
421         in sigaltstack.
422         * src/handler-unix.c (stackoverflow_install_handler): Adjust stack
423         accordingly.
424         * tests/stackoverflow1.c (stack_lower_bound, stack_upper_bound): New
425         variables.
426         (stackoverflow_handler): Use them to expose IRIX bug.
427         (main): Initialize them.
429 2008-09-07  Bruno Haible  <bruno@clisp.org>
431         * m4/libtool.m4: Update from libtool-2.2.6.
432         * m4/ltoptions.m4: Likewise.
433         * m4/ltsugar.m4: Likewise.
434         * m4/ltversion.m4: Likewise.
435         * build-aux/ltmain.sh: Likewise.
437 2008-08-25  Bruno Haible  <bruno@clisp.org>
439         * Version 2.6 released.
441 2008-08-24  Bruno Haible  <bruno@clisp.org>
443         * configure.ac: Treat Dragonfly BSD platforms like FreeBSD.
444         Reported by Thomas Klausner <tk@giga.or.at>.
446 2008-08-24  Bruno Haible  <bruno@clisp.org>
448         * src/stackvma-mincore.c (mincore_is_near_this): Improve logic. Needed
449         for reliable NULL pointer access classification as SIGSEGV on AIX 4.3.
451 2008-08-24  Bruno Haible  <bruno@clisp.org>
453         * m4/sigaltstack.m4: Change 'volatile int' return type to 'int'. Needed
454         for AIX 4.3 xlc.
455         * m4/sigaltstack-longjmp.m4: Likewise.
456         * m4/sigaltstack-siglongjmp.m4: Likewise.
457         * tests/stackoverflow1.c (recurse): Likewise.
458         * tests/stackoverflow2.c (recurse): Likewise.
460 2008-08-24  Bruno Haible  <bruno@clisp.org>
462         * tests/sigsegv1.c: Include <config.h>.
463         * tests/sigsegv2.c: Likewise.
464         * tests/sigsegv3.c: Include <config.h> before all other headers.
465         * tests/stackoverflow1.c: Likewise.
466         * tests/stackoverflow2.c: Likewise.
468 2008-08-24  Bruno Haible  <bruno@clisp.org>
470         Fix the sigsegv3 test on MacOS X.
471         * src/sigsegv.h.in (sigsegv_leave_handler): Take 4 arguments.
472         * NEWS: Mention the change.
473         * src/handler-macos.c (our_exception_thread, signalled_thread): New
474         variables.
475         (catch_exception_raise): Set signalled_thread during the user_handler
476         invocation.
477         (mach_exception_thread): Initialize our_exception_thread.
478         (sigsegv_leave_handler): Take 4 arguments. When called from within
479         the exception thread, let the signalled thread do a hyperjump.
480         * src/handler-unix.c (sigsegv_leave_handler): Take 4 arguments.
481         * src/handler-win32.c (sigsegv_leave_handler): Likewise.
482         * src/handler-none.c (sigsegv_leave_handler): Likewise.
483         * src/machfault-macos.h (SIGSEGV_INTEGER_ARGUMENT_1,
484         SIGSEGV_INTEGER_ARGUMENT_2, SIGSEGV_INTEGER_ARGUMENT_3,
485         SIGSEGV_FRAME_POINTER): New macros.
486         * tests/sigsegv3.c (handler_continuation): New function.
487         (handler): Update to new API.
488         * tests/stackoverflow1.c (stackoverflow_handler_continuation): New
489         function.
490         (stackoverflow_handler): Update to new API.
491         * tests/stackoverflow2.c (stackoverflow_handler_continuation): New
492         function.
493         (stackoverflow_handler, sigsegv_handler): Update to new API.
495 2008-08-24  Bruno Haible  <bruno@clisp.org>
497         Test the use of sigsegv_leave_handler from within a SIGSEGV handler.
498         * tests/sigsegv3.c: New file.
499         * tests/Makefile.am (TESTS, noinst_PROGRAMS): Add sigsegv3.
501 2008-08-23  Eric Blake  <ebb9@byu.net>
503         * src/Makefile.am (noinst_HEADERS): Remove machfault-macos-powerpc.h
504         and machfault-macos-i386.h. Add machfault-macos.h.
506 2008-08-17  Bruno Haible  <bruno@clisp.org>
508         Allow building universal binaries on MacOS X.
509         * src/machfault-macos.h: New file, combining
510         src/machfault-macos-powerpc.h and src/machfault-macos-i386.h.
511         * src/machfault-macos-powerpc.h: Remove file.
512         * src/machfault-macos-i386.h: Remove file.
513         * configure.ac (CFG_MACHFAULT): Set to machfault-macos.h.
514         (FAULT_CONTEXT_INCLUDE) [MacOSX]: Set to #ifdefs for all four possible
515         architectures.
517 2008-07-20  Bruno Haible  <bruno@clisp.org>
519         Make sigsegv_get_vma async-safe.
520         * src/sigsegv.h.in (sigsegv_handler_t, stackoverflow_handler_t):
521         Mention async-safety constraints.
522         + src/stackvma-rofile.c: New file.
523         * src/stackvma-freebsd.c: Include stackvma-rofile.c.
524         (sigsegv_get_vma): Use struct rofile instead of FILE.
525         * src/stackvma-linux.c: Include stackvma-rofile.c.
526         (sigsegv_get_vma): Use struct rofile instead of FILE.
527         * src/stackvma-procfs.c: Include <sys/mman.h> instead of <stdlib.h> and
528         <stdio.h>.
529         (sigsegv_get_vma): Avoid using sprintf. Ensure pagesize is initialized.
530         Use mmap/munmap instead of malloc/free.
531         * src/Makefile.am (EXTRA_DIST): Add stackvma-rofile.c.
532         Reported by Eric Blake <ebb9@byu.net>.
534 2008-07-20  Bruno Haible  <bruno@clisp.org>
536         * src/handler-unix.c (sigsegv_handler): Preserve errno.
538 2008-07-20  Eric Blake  <ebb9@byu.net>
540         * src/stackvma-mincore.c (mincore_is_near_this): Fix logic.
542 2008-07-20  Bruno Haible  <bruno@clisp.org>
544         * tests/stackoverflow2.c (main): Test also a NULL pointer access.
545         Reported by Eric Blake <ebb9@byu.net>.
547 2008-06-23  Bruno Haible  <bruno@clisp.org>
549         * build-aux/config.guess: Update to GNU version 2008-06-16.
550         * build-aux/config.sub: Likewise.
552 2008-05-31  Bruno Haible  <bruno@clisp.org>
554         Make cross-compile from MacOS X 10.5 to MacOS X 10.4 work.
555         * src/handler-macos.c (MacOS_X_10_5_HEADERS): New macro.
556         * src/machfault-macos-i386.h: Use it.
557         * src/machfault-macos-powerpc.h: Likewise.
558         Reported by Dr Tomaž Slivnik <slivnik@tomaz.name>.
560 2008-05-31  Bruno Haible  <bruno@clisp.org>
562         * m4/mmap-anon.m4 (SV_MMAP_ANON): Add known cross-compile results for
563         MacOS X.
564         Reported by Dr Tomaž Slivnik <slivnik@tomaz.name>.
566 2008-05-27  Bruno Haible  <bruno@clisp.org>
568         * configure.ac: Require at least autoconf 2.62. Merge
569         FAULT_CONTEXT_INCLUDE2 variable into FAULT_CONTEXT_INCLUDE.
570         * src/sigsegv.h.in: Remove FAULT_CONTEXT_INCLUDE2 substitution.
571         * src/Makefile.am (sigsegv.h.msvc): Update.
573 2008-05-27  Bruno Haible  <bruno@clisp.org>
575         * configure.ac: Bump version number to 2.6.
576         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
578 2008-05-27  Bruno Haible  <bruno@clisp.org>
580         Support for 64-bit mode on MacOS X 10.5.
581         * src/handler-macos.c (catch_exception_raise): Align the stack pointer
582         also on x86_64. Needed for MMX instructions.
583         * src/machfault-macos-i386.h: Choose among 64-bit and 32-bit flavours.
584         Use new names for the 32-bit flavour when possible.
585         * src/machfault-macos-powerpc.h: Choose among 64-bit and 32-bit
586         flavours.
587         * configure.ac (FAULT_CONTEXT, FAULT_CONTEXT_INCLUDE2): Choose
588         right flavour (ppc_thread_state_t/ppc_thread_state64_t or
589         i386_thread_state_t/x86_thread_state32_t/x86_thread_state64_t) at
590         compile time.
592 2008-05-18  Bruno Haible  <bruno@clisp.org>
594         * m4/libtool.m4: Update from libtool-2.2.4.
595         * m4/ltoptions.m4: Likewise.
596         * m4/ltversion.m4: Likewise.
597         * m4/lt~obsolete.m4: Likewise.
598         * build-aux/ltmain.sh: Likewise.
600 2008-04-06  Bruno Haible  <bruno@clisp.org>
602         * m4/libtool.m4: Update from libtool-2.2.2.
603         * m4/ltoptions.m4: New file, from libtool-2.2.2.
604         * m4/ltsugar.m4: New file, from libtool-2.2.2.
605         * m4/ltversion.m4: New file, from libtool-2.2.2.
606         * m4/lt~obsolete.m4: New file, from libtool-2.2.2.
607         * build-aux/ltmain.sh: New file, from libtool-2.2.2.
608         * configure.ac: Use LT_INIT instead of AC_PROG_LIBTOOL.
610 2007-11-16  Bruno Haible  <bruno@clisp.org>
612         * src/fault-freebsd-i386.h (SIGSEGV_FAULT_STACKPOINTER): Use sc_rsp
613         also on x86_64-freebsd platform.
614         Reported by Dmitri Hrapof <hrapof@common-lisp.ru> and
615         Petr Salinger <Petr.Salinger@seznam.cz>.
617 2007-11-15  Bruno Haible  <bruno@clisp.org>
619         * configure.ac (CFG_SIGNALS, CFG_FAULT): Port to i586-kfreebsd-gnu
620         and x86_64-kfreebsd-gnu.
621         * src/fault-freebsd-i386.h (SIGSEGV_FAULT_STACKPOINTER): Likewise.
622         Based on patch by Petr Salinger <Petr.Salinger@seznam.cz>.
624 2007-11-11  Bruno Haible  <bruno@clisp.org>
626         * Version 2.5 released.
628 2007-11-11  Bruno Haible  <bruno@clisp.org>
630         * configure.ac: Bump version number to 2.5.
631         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
633 2007-10-28  Bruno Haible  <bruno@clisp.org>
635         * src/handler-macos.c (catch_exception_raise): Align the new stack
636         pointer on a 16-byte boundary.
637         * src/handler-win32.c (main_exception_filter): Correct alignment:
638         %esp must be aligned to == -4 mod 16 upon function entry.
640 2007-10-28  Bruno Haible  <bruno@clisp.org>
642         * src/sigsegv.h.in (stackoverflow_install_handler): Avoid comment
643         inside comment.
644         Reported by Chris Willmore <willmc@rpi.edu>.
646 2007-10-28  Bruno Haible  <bruno@clisp.org>
648         * src/machfault-macos-powerpc.h (SIGSEGV_FAULT_ADDRESS,
649         SIGSEGV_STACK_POINTER, SIGSEGV_PROGRAM_COUNTER): Add __DARWIN_UNIX03
650         conditional.
651         * src/machfault-macos-i386.h (SIGSEGV_FAULT_ADDRESS,
652         SIGSEGV_STACK_POINTER, SIGSEGV_PROGRAM_COUNTER): Likewise.
653         * src/fault-macosdarwin7-powerpc.h (SIGSEGV_FAULT_STACKPOINTER):
654         Likewise.
655         * src/fault-macosdarwin7-powerpc.c (get_fault_addr): Likewise.
656         Reported by Chris Willmore <willmc@rpi.edu>.
658 2007-01-12  Bruno Haible  <bruno@clisp.org>
660         * Makefile.am (check-next): Don't ask for reports from x86_64-*-linux*
661         platforms.
663 2006-07-14  Bruno Haible  <bruno@clisp.org>
665         * m4/sigaltstack.m4 (SV_SIGALTSTACK): Use SIGSTKSZ instead of
666         hardcoding 16384.
667         * m4/sigaltstack-longjmp.m4 (SV_TRY_LEAVE_HANDLER_LONGJMP): Likewise.
668         * m4/sigaltstack-siglongjmp.m4 (SV_TRY_LEAVE_HANDLER_SIGLONGJMP):
669         Likewise.
670         * tests/stackoverflow1.c (main): Likewise.
671         * tests/stackoverflow2.c (main): Likewise.
672         * src/sigsegv.h.in (stackoverflow_install_handler): Update
673         recommendation for extra_stack_size.
674         Needed for ia64.
675         Reported by Peter Van Eynde <pvaneynd@users.sourceforge.net>.
677 2006-06-23  Bruno Haible  <bruno@clisp.org>
679         * Version 2.4 released.
681 2006-06-23  Bruno Haible  <bruno@clisp.org>
683         * configure.ac: Bump version number to 2.4.
684         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
686 2006-06-17  Bruno Haible  <bruno@clisp.org>
688         * src/Makefile.am (noinst_HEADERS): Add fault-netbsd.h.
690 2006-06-17  Bruno Haible  <bruno@clisp.org>
692         * m4/sigaltstack.m4: Insert 'volatile' and pass a pointer, to defeat
693         GCC 4 optimizations.
694         * m4/sigaltstack-longjmp.m4: Likewise.
695         * m4/sigaltstack-siglongjmp.m4: Likewise.
697 2006-06-17  Bruno Haible  <bruno@clisp.org>
699         * tests/stackoverflow1.c (recurse): Remove useless cast.
700         * tests/stackoverflow2.c (recurse): Likewise.
702 2006-06-17  Bruno Haible  <bruno@clisp.org>
704         * src/stackvma-freebsd.c (sigsegv_get_vma): Test whether mincore()
705         works as expected before using it.
707 2006-03-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
709         * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ]: Avoid warning when
710         "parsing" /etc/ld.so.conf and empty /etc/ld.so.conf.d.
712 2006-06-13  Bruno Haible  <bruno@clisp.org>
714         Make NetBSD/i386 stack overflow detection work even without mincore.
715         * src/fault-netbsd.h: New file.
716         * configure.ac (CFG_FAULT): Choose it when appropriate.
718 2006-05-16  Bruno Haible  <bruno@clisp.org>
720         Don't allow the compiler to reorder instructions in the tests.
721         * tests/sigsegv1.c (crashes): Use volatile in pointer access.
722         * tests/sigsegv2.c (main): Likewise.
723         * tests/stackoverflow2.c (main): Likewise.
725 2006-05-14  Bruno Haible  <bruno@clisp.org>
727         Exploit the mincore() system call where available.
728         * src/stackvma-mincore.c: New file.
729         * src/Makefile.am (EXTRA_DIST): Add it.
730         * src/stackvma.h: Add double-inclusion guard.
731         * src/stackvma-freebsd.c: If mincore() is available, include also
732         stackvma-mincore.c.
733         (sigsegv_get_vma): If mincore() is available, use it as fallback.
734         * src/stackvma-linux.c: If mincore() is available, include also
735         stackvma-mincore.c.
736         (sigsegv_get_vma): If mincore() is available, use it as fallback.
737         * src/stackvma-procfs.c: If mincore() is available, include also
738         stackvma-mincore.c.
739         (sigsegv_get_vma): If mincore() is available, use it as fallback.
740         * configure.ac: Test for mincore.
741         (CFG_STACKVMA): Set to stackvma-mincore.c if nothing else is available.
743 2006-05-14  Bruno Haible  <bruno@clisp.org>
745         * src/stackvma-simple.c: New file, extracted from handler-unix.c.
746         * src/Makefile.am (EXTRA_DIST): Add it.
747         * src/stackvma-beos.c: Include stackvma-simple.c.
748         (sigsegv_get_vma): Fill the vma's is_near_this field.
749         * src/stackvma-freebsd.c: Include stackvma-simple.c.
750         (sigsegv_get_vma): Fill the vma's is_near_this field.
751         * src/stackvma-linux.c: Include stackvma-simple.c.
752         (sigsegv_get_vma): Fill the vma's is_near_this field.
753         * src/stackvma-mach.c: Include stackvma-simple.c.
754         (sigsegv_get_vma): Fill the vma's is_near_this field.
755         * src/stackvma-procfs.c: Include stackvma-simple.c.
756         (sigsegv_get_vma): Fill the vma's is_near_this field.
757         * src/stackvma.h (vma_struct): Add is_near_this field.
758         * src/handler-unix.c (sigsegv_handler): Use the vma's is_near_this
759         function.
761 2006-04-28  Bruno Haible  <bruno@clisp.org>
763         * Version 2.3 released.
765 2006-04-28  Bruno Haible  <bruno@clisp.org>
767         * configure.ac: Bump version number to 2.3.
768         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
770         * build-aux/config.guess, build-aux/config.sub: Update to GNU version
771         2006-04-26.
773         * build-aux/install-sh: Update from automake-1.9.6.
774         * build-aux/missing: Likewise.
776         * build-aux/ltmain.sh: Update from libtool-1.5.22.
777         * m4/libtool.m4: Likewise.
779 2006-04-28  Bruno Haible  <bruno@clisp.org>
781         * build-aux: Renamed from autoconf.
782         * configure.ac (AC_CONFIG_AUX_DIR): Set to build-aux.
784 2006-04-22  Bruno Haible  <bruno@clisp.org>
786         * configure.ac: Renamed from configure.in.
788 2006-04-21  Bruno Haible  <bruno@clisp.org>
790         * src/machfault-macos-i386.h: Rewritten for Darwin 8.6.1.
791         * configure.in: Change FAULT_CONTEXT for i?86-darwin.
793 2005-06-21  Paolo Bonzini  <bonzini@gnu.org>
795         * configure.in: For handler-macos.c, include mach/thread_status.h.
796         * configure: Regenerate.
798 2005-06-21  Paolo Bonzini  <bonzini@gnu.org>
800         * tests/stackoverflow1.c (recurse): Make more resilient to compiler
801         optimization.
802         (recurse_1): New.
803         * tests/stackoverflow2.c: Likewise.
805 2005-05-24  Bruno Haible  <bruno@clisp.org>
807         * src/handler-win32.c (main_exception_filter): Copy CONTEXT structure
808         to safe area on the stack.
809         Based on patch by Doug Currie <e@flavors.com>.
811         * src/handler-win32.c (main_exception_filter): Swap arguments passed
812         to stack_overflow_handler.
813         Patch by Doug Currie <e@flavors.com>.
815         * src/handler-win32.c (main_exception_filter): Align %esp on a 16-byte
816         boundary.
818 2005-03-02  Bruno Haible  <bruno@clisp.org>
820         * Version 2.2 released.
822 2005-03-02  Bruno Haible  <bruno@clisp.org>
824         * autoconf/config.guess: Update.
825         * autoconf/config.sub: Update.
826         * autoconf/missing: Update from automake-1.9.5.
828         * m4/libtool.m4: Upgrade to libtool-1.5.14 with gettext modifications.
829         * autoconf/ltmain.sh: Likewise.
831 2005-03-02  Bruno Haible  <bruno@clisp.org>
833         * src/fault-aix5.h: New file.
834         * src/fault-aix5-powerpc.h: New file.
835         * src/Makefile.am (noinst_HEADERS): Add them.
836         * configure.in: Choose them when the POSIX test succeeds on AIX.
838         * src/fault-aix3-powerpc.h: Renamed from src/fault-aix-powerpc.h.
839         * src/fault-aix3.h: Renamed from src/fault-aix.h.
840         * src/Makefile.am (noinst_HEADERS): Update.
841         * configure.in: Update. When cross-compiling, assume the AIX test
842         succeeds only on AIX 3 and AIX 4.
844 2005-03-01  Bruno Haible  <bruno@clisp.org>
846         * configure.in: Fix test of CFG_MACHFAULT.
848 2005-02-27  Bruno Haible  <bruno@clisp.org>
850         * configure.in: Skip tests that are not needed on MacOS X >= 10.2.
851         * m4/sigaltstack.m4 (SV_SIGALTSTACK): Don't perform the test on
852         MacOS X >= 10.2.
854 2005-02-18  Bruno Haible  <bruno@clisp.org>
856         * tests/sigsegv1.c (handler_called): Declare as volatile.
857         * tests/sigsegv2.c (logcount, logdata): Likewise.
858         * tests/stackoverflow1.c (pass): Likewise.
859         * tests/stackoverflow2.c (pass): Likewise.
861 2005-01-29  Bruno Haible  <bruno@clisp.org>
863         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): New macro.
864         (libsigsegv_version): New declaration.
865         * src/version.c: New file.
866         * src/Makefile.am (libsigsegv_la_SOURCES): Add version.c.
867         * Makefile.msvc (OBJECTS): Add version.obj.
868         (version.obj): New rule.
869         Suggested by Sam Steingold.
871 2004-08-25  Bruno Haible  <bruno@clisp.org>
873         * m4/libtool.m4: Upgrade to libtool-1.5.6.
874         * autoconf/ltmain.sh: Upgrade to libtool-1.5.6.
876 2004-08-18  Bruno Haible  <bruno@clisp.org>
878         * configure.in: Bump version number to 2.2.
880 2004-08-17  Bruno Haible  <bruno@clisp.org>
882         Finish the Mach-based MacOS X support.
883         * src/handler-macos.c: Don't include mach/vm_map.h.
884         Include machfault.h instead of fault.h.
885         (save_exc_state): Remove variable.
886         (save_thread_state): New variable.
887         (terminating_handler): New function.
888         (altstack_handler): Pass the save_thread_state, not the save_exc_state,
889         to the user's handler.
890         (catch_exception_raise): Make it work also for platforms which don't
891         have an exc_state type. Call SIGSEGV_FAULT_ADDRESS with 2 arguments.
892         Don't clobber the exc_state; instead set the thread's program counter
893         to terminating_handler or altstack_handler, depending on the case.
894         Return KERN_SUCCESS at the end.
895         * src/machfault.h: New file.
896         * src/machfault-macos-powerpc.h (SIGSEGV_FAULT_ADDRESS): Add a second
897         argument.
898         * src/machfault-macos-i386.h: New file.
899         * src/Makefile.am (EXTRA_DIST): Add handler-macos.c.
900         (NOINST_HEADERS): Add machfault.h, machfault-macos-i386.h,
901         machfault-macos-powerpc.h.
902         * configure.in (CFG_HANDLER): Initialize to empty.
903         (CFG_MACHFAULT): New substituted variable.
904         On MacOS X PowerPC+i386, use CFG_HANDLER=handler-macos.c
905         unconditionally.
906         (sv_cv_fault_include, sv_cv_have_stack_overflow_recovery): Set
907         correctly also in the handler-macos.c case.
909 2004-08-16  Bruno Haible  <bruno@clisp.org>
911         Support for MacOS X 10.3 on PowerPC.
912         * src/fault-macosdarwin5-powerpc.h: Renamed from
913         src/fault-macos-powerpc.h.
914         * src/fault-macosdarwin5-powerpc.c: Renamed from
915         src/fault-macos-powerpc.c.
916         * src/fault-macosdarwin7-powerpc.h: New file.
917         * src/fault-macosdarwin7-powerpc.c: New file.
918         * src/Makefile.am (noinst_HEADERS): Update.
919         * configure.in: Test the method for MacOSX/Darwin5 PowerPC only after
920         the method for MacOSX/Darwin7 PowerPC failed.
921         Substitute FAULT_CONTEXT_INCLUDE2.
922         * src/sigsegv.h.in: Insert @FAULT_CONTEXT_INCLUDE2@.
923         * src/Makefile.am (sigsegv.h.msvc): Replace @FAULT_CONTEXT_INCLUDE2@.
925 2003-12-09  Paolo Bonzini  <bonzini@gnu.org>
927         * src/handler-macos.c: Completed; removed dependency on
928         signals.
929         * src/machfault-macos-powerpc.h: Reorganized.
931 2003-12-08  Paolo Bonzini  <bonzini@gnu.org>
932             Bruno Haible  <bruno@clisp.org>
934         * src/handler-macos.c: New file.
935         * src/machfault.h: New file.
936         * src/machfault-macos-powerpc.h: New file.
938 2003-12-05  Bruno Haible  <bruno@clisp.org>
940         * m4/fault.m4: Tweak indentation. Bump serial number.
941         * m4/getpagesize.m4: Likewise.
942         * m4/mmap-anon.m4: Likewise.
943         * m4/sigaltstack.m4: Likewise.
944         * m4/sigaltstack-longjmp.m4: Likewise.
945         * m4/sigaltstack-siglongjmp.m4: Likewise.
947 2003-12-05  Paolo Bonzini  <bonzini@gnu.org>
949         * aclocal.m4: Regenerate with Automake 1.7h.
950         * configure.in: Drop m4/Makefile from list of generated files.
951         * configure: Regenerate.
952         * Makefile.am (install-data-hook): New name of the install-am
953         target, for Automake 1.8 compatibility.  Other -am targets
954         are not affected because Automake does not have anything to
955         do to make them.
956         (AUTOMAKE_OPTIONS): Bump minimum Automake requirement to 1.7h.
957         (SUBDIRS): Remove m4.
958         ($(srcdir)/config.h.msvc): New target for config.h.msvc.
959         * Makefile.in: Regenerate with Automake 1.7h.
960         * m4/Makefile.am: Delete, Automake 1.7h takes care of it.
961         * m4/Makefile.in: Delete.
962         * src/Makefile.am (installdirs): Delete, Automake 1.7h adds it.
963         * src/Makefile.in: Regenerate with Automake 1.7h.
964         * tests/Makefile.in: Regenerate with Automake 1.7h.
966         * autoconf/config.guess: Update from automake-1.7h.
967         * autoconf/config.sub: Likewise.
968         * autoconf/install.sh: Likewise.
969         * autoconf/missing: Likewise.
970         * autoconf/mkinstalldirs: Delete.
971         * m4/fault.m4: autoupdate and manually tweak.
972         * m4/sigaltstack.m4: Likewise.
973         * m4/sigaltstack-longjmp.m4: Likewise.
974         * m4/sigaltstack-siglongjmp.m4: Likewise.
975         * m4/mmap-anon.m4: Likewise.
976         * m4/getpagesize.m4: Likewise.
978 2003-10-29  Bruno Haible  <bruno@clisp.org>
980         * tests/sigsegv1.c (main): Add a check whether mprotect with
981         PROT_READ_WRITE really works.
982         * tests/sigsegv2.c (main): Likewise.
983         Reported by Ullal Devappa Kini <wmbfqj@vsnl.net>.
985 2003-08-21  Bruno Haible  <bruno@clisp.org>
987         * Version 2.1 released.
989 2003-06-24  Paolo Bonzini  <bonzini@gnu.org>
991         * m4/fault.m4: Exit if we detect an infinite loop.
992         * aclocal.m4: Regenerate.
993         * configure: Regenerate.
995 2003-06-18  Bruno Haible  <bruno@clisp.org>
997         * autoconf/install-sh: Update from automake-1.7.5.
999 2003-05-14  Paolo Bonzini  <bonzini@gnu.org>
1001         * configure.in: Use signals-bsd.h for OpenBSD and NetBSD too.
1002         Support instruction decoding to get fault address for Alphas.
1003         * src/fault-netbsd-alpha.h: New file.
1004         * src/fault-netbsd-alpha.c: New file.
1005         * src/Makefile.am (noinst_HEADERS): Add them.
1007 2003-05-14  Paolo Bonzini  <bonzini@gnu.org>
1009         * src/dispatcher.c (insert): Fix lossage in 64-bit environments
1010         (cast from void* to unsigned int).
1012 2003-05-10  Bruno Haible  <bruno@clisp.org>
1014         * tests/Makefile.am (../src/libsigsegv.la): New rule.
1016         * Makefile.msvc (handler.obj): Complete the dependencies.
1017         (stackoverflow2.exe): New rule.
1018         (check): Depend on it.
1019         (clean): Remove it.
1021 2003-05-10  Paolo Bonzini  <bonzini@gnu.org>
1022             Bruno Haible  <bruno@clisp.org>
1024         * configure.in: AC_SUBST of CFG_STACKVMA, CFG_LEAVE, CFG_HANDLER.
1025         * src/Makefile.am: Add dependencies for the object files.
1027 2003-05-08  Paolo Bonzini  <bonzini@gnu.org>
1029         * configure.in: Add $srcdir/ to #include statements. Needed when
1030         builddir != srcdir.
1032         * src/signals-macos.h (SIGSEGV_FOR_ALL_SIGNALS): Add SIGSEGV.
1034 2003-05-03  Paolo Bonzini  <bonzini@gnu.org>
1036         * configure.in: Tweak 2003-04-26 patch so that it works on mingw32 and
1037         Cygwin.
1039 2003-05-02  Bruno Haible  <bruno@clisp.org>
1041         * src/handler-unix.c: Add special case for stack handling on IA-64.
1042         * src/fault-linux-ia64.h: Complete the port.
1043         * configure.in: Improve Linux/IA-64 support.
1045 2003-05-01  Bruno Haible  <bruno@clisp.org>
1047         * configure.in: Don't use fault-hurd.h on NetBSD/alpha. It does not
1048         work.
1050 2003-05-01  Bruno Haible  <bruno@clisp.org>
1052         Support for Linux/HPPA.
1053         * fault-linux-hppa.h: Don't include <siginfo.h>.
1054         (SIGSEGV_FAULT_ADDRESS): Change.
1055         (SIGSEGV_FAULT_ADDRESS_FROM_SIGINFO): Define it, otherwise the value
1056         passed for sip is 0.
1057         (SIGSEGV_FAULT_CONTEXT, SIGSEGV_FAULT_STACKPOINTER): Remove macros.
1058         * configure.in: Improve Linux/HPPA support.
1060 2003-05-01  Bruno Haible  <bruno@clisp.org>
1062         Support for OpenBSD/i386.
1063         * src/fault-openbsd.h: New file.
1064         * src/fault-openbsd-i386.h: New file.
1065         * src/Makefile.am (noinst_HEADERS): Add them.
1066         * configure.in: If the POSIX test works and the OS is OpenBSD, use
1067         fault-openbsd.h instead of fault-posix.h.
1069 2003-05-01  Bruno Haible  <bruno@clisp.org>
1071         * src/fault-hpux-hppa.h: Make it work on machines with 64-bit registers
1072         as well.
1073         * configure.in: Likewise.
1075 2003-04-29  Bruno Haible  <bruno@clisp.org>
1077         * configure.in: Define HAVE_STACKVMA if CFG_STACKVMA is nontrivial.
1078         * src/handler-unix.c: Test HAVE_STACKVMA instead of CFG_STACKVMA.
1080         * m4/fault.m4 (SV_TRY_FAULT): On HP-UX, always pass 0 as first argument
1081         of mmap().
1082         * tests/mmaputil.h (mmap_zeromap): Likewise.
1084 2003-04-28  Bruno Haible  <bruno@clisp.org>
1086         * src/stackvma-freebsd.c (sigsegv_get_vma): Fix logic error.
1088 2002-04-17  Paolo Bonzini  <bonzini@gnu.org>
1090         Support for Cygwin.
1091         * configure.in: Treat cygwin* like mingw*.
1092         * src/handler-win32.c [CYGWIN] (exception_list, _except_list,
1093         debug_get_except_list, cygwin_exception_handler,
1094         libsigsegv_exception_handler, do_install_main_exception_filter): New
1095         definitions.
1096         (install_main_exception_filter): New function.
1097         (sigsegv_install_handler, stackoverflow_install_handler): Call it.
1099 2003-04-26  Bruno Haible  <bruno@clisp.org>
1101         * configure.in: Don't set sv_cv_have_stack_overflow_recovery=yes if
1102         not all of the fault-*.h and stackvma-*.h premises are fulfilled.
1103         Reported by Paolo Bonzini <bonzini@gnu.org> for NetBSD/Alpha.
1105 2003-04-03  Bruno Haible  <bruno@clisp.org>
1107         * configure.in: Add --enable-relocatable option.
1108         * m4/relocatable.m4: New file, from GNU gettext.
1109         * m4/Makefile.am (EXTRA_DIST): Add it.
1111         * m4/libtool.m4: Update from GNU gettext, based on libtool-1.4.3.
1112         * autoconf/ltmain.sh: Likewise.
1114 2003-04-02  Bruno Haible  <bruno@clisp.org>
1116         * configure.in: Bump version number to 2.1.
1118         * tests/stackoverflow2.c: New file, based on code by Paolo Bonzini.
1119         * tests/Makefile.am (TESTS, noinst_PROGRAMS): Add stackoverflow2.
1121 2003-04-02  Paolo Bonzini  <bonzini@gnu.org>
1122             Bruno Haible  <bruno@clisp.org>
1124         Complete the port to MacOS X (Darwin).
1125         * m4/fault.m4: Include sys/signal.h. Have an exit status of 3 instead
1126         of 1 if fault_address is misdetected.
1127         * m4/sigaltstack.m4: Define stack_t to struct sigaltstack if absent.
1128         Include <sys/signal.h>.
1129         * configure.in: Add check for sys/signal.h.
1130         Add support for catching stack overflow on MacOSX.
1131         Add support for MacOSX on i386.
1132         Provide a fallback for SS_ONSTACK before using it.
1133         * src/fault-macos-i386.h: New file.
1134         * src/stackvma-mach.c: New file.
1135         * src/fault-macos-powerpc.h (SIGSEGV_FAULT_STACKPOINTER): Change.
1136         * src/handler-unix.c: Include <sys/signal.h>.
1137         (SS_DISABLE): Provide a fallback.
1138         * src/leave-sigaltstack.c: Include sys/signal.h.
1139         (SS_ONSTACK): Provide a fallback.
1140         * src/Makefile.am (noinst_HEADERS): Add fault-macos-i386.h.
1141         (EXTRA_DIST): Add stackvma-mach.c.
1142         * tests/sigsegv1.c: Abort after 10 handler invocations.
1143         (main): Drop SKIP message, now emitted by automake 1.7.x.
1144         * tests/sigsegv2.c: Abort after 10 handler invocations.
1145         (main): Drop SKIP message, now emitted by automake 1.7.x.
1146         * tests/stackoverflow1.c (main): Drop SKIP message, now emitted by
1147         automake 1.7.x.
1149 2002-10-14  Bruno Haible  <bruno@clisp.org>
1151         * src/fault-none.h: New file.
1152         * src/fault.h: Include CFG_FAULT unconditionally.
1153         * src/leave-none.c: New file.
1154         * src/leave.c: Include CFG_LEAVE unconditionally.
1155         * src/stackvma.c: Include CFG_STACKVMA unconditionally.
1156         * configure.in (CFG_LEAVE, CFG_STACKVMA): Define always.
1157         * src/Makefile.am (noinst_HEADERS): Add fault-none.h.
1158         (EXTRA_DIST): Add leave-none.c.
1159         Reported by Paolo Bonzini <bonzini@gnu.org>.
1161 2002-09-30  Bruno Haible  <bruno@clisp.org>
1163         * src/Makefile.am (noinst_HEADERS): Add fault-hurd.h,
1164         fault-linux-m68k.c, fault-macos-powerpc.h, fault-macos-powerpc.c,
1165         signals-hurd.h, signals-macos.h.
1167 2002-09-30  Bruno Haible  <bruno@clisp.org>
1169         * Makefile.am (check-next): Don't ask for reports from i?86-*-linux*
1170         platforms.
1172 2002-09-30  Bruno Haible  <bruno@clisp.org>
1174         Better Linux/PowerPC support.
1175         * configure.in: Change Linux/PowerPC support.
1176         * src/fault-linux-powerpc.h (SIGSEGV_FAULT_ADDRESS): New macro.
1178 2002-09-30  Bruno Haible  <bruno@clisp.org>
1180         Better Linux/m68k support.
1181         * configure.in: Change Linux/m68k support.
1182         * src/fault-linux-m68k.c: New file.
1183         * src/fault-linux-m68k.h: Use it.
1185 2002-09-30  Bruno Haible  <bruno@clisp.org>
1187         Tentative Hurd support.
1188         * configure.in: Add Hurd support.
1189         * src/signals-hurd.h: New file.
1190         * src/fault-hurd.h: New file.
1192 2002-09-30  Bruno Haible  <bruno@clisp.org>
1194         MacOSX/PowerPC support.
1195         * configure.in: Add MacOSX/PowerPC support.
1196         * src/signals-macos.h: New file.
1197         * src/fault-macos-powerpc.c: New file.
1198         * src/fault-macos-powerpc.h: New file.
1200 2002-09-16  Bruno Haible  <bruno@clisp.org>
1202         * src/fault-posix.h: Don't include <siginfo.h>. Needed for hppa-linux.
1203         Reported by Will Newton <will@misconception.org.uk>.
1205 2002-08-28  Bruno Haible  <bruno@clisp.org>
1207         * Version 2.0 released.
1209 2002-07-28  Bruno Haible  <bruno@clisp.org>
1211         Big reorganization and rewrite. Every file changed.