Avoid polluting cygwin namespace.
[libsigsegv/ericb.git] / ChangeLog
blobc81f115fd0ee884f11d5af111edcf4d47a876947
1 2011-05-03  Eric Blake  <eblake@redhat.com>
3         Avoid polluting cygwin namespace.
4         * configure.ac (FAULT_CONTEXT_INCLUDE): Avoid including
5         <windows.h> on cygwin.
6         Reported by Corinna Vinschen, via Aharon Robbins.
8 2011-05-03  Eric Blake  <eblake@redhat.com>
10         Optimize gnulib checkout.
11         * autogen.sh: Use reference repository if GNULIB_SRCDIR is set.
13 2011-04-03  Bruno Haible  <bruno@clisp.org>
15         * Version 2.10 released.
17 2011-04-03  Bruno Haible  <bruno@clisp.org>
19         Don't ask for success reports on MacOS X any more.
20         * Makefile.am (check-next): No longer ask for success reports on
21         MacOS X.
23 2011-04-03  Bruno Haible  <bruno@clisp.org>
25         Bump version number.
26         * configure.ac: Bump version number to 2.10.
27         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
28         * README: Likewise. Recommend ftpmirror.gnu.org in the first place.
29         * src/Makefile.am (LIBSIGSEGV_VERSION_INFO): Bump to 2:3:0.
31 2011-03-13  Bruno Haible  <bruno@clisp.org>
33         Support for Linux/S390.
34         * m4/fault.m4 (SV_TRY_FAULT): Define
35         SIGSEGV_FAULT_ADDRESS_ROUNDOFF_BITS. On Linux/S390 systems, expect a
36         page-aligned fault address.
37         * src/sigsegv.h.in (SIGSEGV_FAULT_ADDRESS_ROUNDOFF_BITS): New macro.
38         (sigsegv_register): Mention constraint about address and len arguments.
39         * tests/sigsegv1.c (handler): On Linux/S390 systems, expect a
40         page-aligned fault address.
41         * tests/sigsegv3.c (handler): Likewise.
42         * tests/sigsegv2.c: Add comment.
43         * NEWS: Document the change.
44         Reported by Christoph Egger <christoph@debian.org>.
46 2011-01-29  Bruno Haible  <bruno@clisp.org>
48         Improve OpenBSD support: Allow faster VMA determination.
49         * configure.ac: Check also for mquery.
50         (CFG_STACKVMA): Set to stackvma-mquery.c if mquery() exists.
51         * src/stackvma-mquery.c: New file.
52         * src/Makefile.am (EXTRA_DIST): Add it.
53         * NEWS: Document the improvement.
55 2011-01-23  Bruno Haible  <bruno@clisp.org>
57         Improve NetBSD support: Allow VMA determination with fewer system calls.
58         * src/stackvma-netbsd.c: New file, based on src/stackvma-freebsd.c.
59         * src/stackvma-freebsd.c: Add comment.
60         * src/Makefile.am (EXTRA_DIST): Add stackvma-netbsd.c.
61         * configure.ac (CFG_STACKVMA): Set to stackvma-netbsd.c on NetBSD.
63 2010-11-06  Bruno Haible  <bruno@clisp.org>
65         * Version 2.9 released.
67 2010-11-06  Bruno Haible  <bruno@clisp.org>
69         Bump version number.
70         * configure.ac: Bump version number to 2.9.
71         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
72         * README: Likewise.
73         * src/Makefile.am (LIBSIGSEGV_VERSION_INFO): Bump to 2:2:0.
75 2010-11-06  Bruno Haible  <bruno@clisp.org>
77         Start to use gnulib.
78         * autogen.sh: New option --skip-gnulib. Fetch gnulib if GNULIB_TOOL is
79         not set. Import m4/relocatable-lib.m4.
80         * configure.ac: Invoke gl_RELOCATABLE_NOP instead of
81         AC_RELOCATABLE_NOP.
82         * m4/relocatable.m4: Remove file.
84 2010-11-06  Bruno Haible  <bruno@clisp.org>
86         Modernize autoconf macro style.
87         * configure.ac: Surround all macro arguments in brackets.
88         * m4/getpagesize.m4: Likewise.
89         * m4/mmap-anon.m4: Likewise.
90         * m4/sigaltstack.m4: Likewise.
92 2010-11-06  Bruno Haible  <bruno@clisp.org>
94         Don't list files in .gitignore that are absent after "make distclean".
95         * .gitignore: Complete the list of files that are created by "make" and
96         removed by "make distclean". But comment them out, since they belong in
97         .git/info/exclude. Also remove /autom4te.cache because "make distclean"
98         does not remove it.
100 2010-10-25  Eric Blake  <eblake@redhat.com>
102         Fix powerpc64-unknown-linux-gnu implementation.
103         * src/stackvma-rofile.c (struct rofile): Reduce size, to avoid
104         overflowing alternate stack when compiled under -O2.
105         * src/stackvma-mincore.c (mapped_range_start, mapped_range_end):
106         Likewise.
107         * NEWS: Document the fix.
109 2010-10-24  Eric Blake  <eblake@redhat.com>
110             Bruno Haible  <bruno@clisp.org>
112         Enhance the tests to detect overflow of the alternate stack.
113         * tests/altstack.h: New file.
114         * tests/Makefile.am (EXTRA_DIST): Add altstack.h.
115         * configure.ac: Invoke AC_TYPE_UINTPTR_T.
116         * tests/stackoverflow1.c: Include altstack.h.
117         (SIGSTKSZ): Remove definition.
118         (mystack): Remove definition.
119         (main): Invoke prepare_alternate_stack and
120         check_alternate_stack_no_overflow.
121         * tests/stackoverflow2.c: Likewise.
122         * tests/efault2.c: Likewise.
123         * tests/efault3.c: Likewise.
125 2010-10-21  Eric Blake  <eblake@redhat.com>
127         * .gitignore: Ignore more files.
129 2010-09-23  Bruno Haible  <bruno@clisp.org>
131         * m4/libtool.m4: Update from libtool-2.4.
132         * m4/ltversion.m4: Likewise.
133         * build-aux/ltmain.sh: Likewise.
135 2010-06-04  Bruno Haible  <bruno@clisp.org>
137         * m4/libtool.m4: Update from libtool-2.2.8.
138         * m4/ltoptions.m4: Likewise.
139         * m4/ltversion.m4: Likewise.
140         * m4/lt~obsolete.m4: Likewise.
141         * build-aux/ltmain.sh: Likewise.
143 2010-04-06  Eric Blake  <eblake@redhat.com>
145         * AUTHORS: Add myself.
147 2010-03-30  Bruno Haible  <bruno@clisp.org>
149         * README.woe32: Update for Cygwin 1.7.x.
151 2010-02-18  Bruno Haible  <bruno@clisp.org>
153         Fix 64-bit builds with --enable-shared on MacOS X.
154         * src/stackvma-mach.c (sigsegv_get_vma): On 64-bit MacOS X, use
155         vm_region_64 instead of vm_region.
156         * NEWS: Mention the fix.
157         Reported by Rudá Moura <ruda@rudix.org>.
159 2010-01-31  Bruno Haible  <bruno@clisp.org>
161         * README: Add more homepage links. Add bug report address.
163 2010-01-07  Bruno Haible  <bruno@clisp.org>
165         Improve support for OpenBSD.
166         * src/fault-openbsd-i386.h (SIGSEGV_FAULT_STACKPOINTER): Define
167         differently in 64-bit mode.
168         * src/fault-openbsd-alpha.h: New file.
169         * src/fault-openbsd-arm.h: New file.
170         * src/fault-openbsd-hppa.h: New file.
171         * src/fault-openbsd-m68k.h: New file.
172         * src/fault-openbsd-m88k.h: New file.
173         * src/fault-openbsd-mips.h: New file.
174         * src/fault-openbsd-powerpc.h: New file.
175         * src/fault-openbsd-sh.h: New file.
176         * src/fault-openbsd-sparc.h: New file.
177         * src/fault-openbsd-vax.h: New file.
178         * src/Makefile.am (noinst_HEADERS): Add the new files.
179         * configure.ac (CFG_FAULT): Use these files on OpenBSD.
180         Reported by Paul Irofti <bulibuta@sdf.lonestar.org>.
182 2009-12-11  Bruno Haible  <bruno@clisp.org>
184         * Version 2.8 released.
186 2009-12-11  Bruno Haible  <bruno@clisp.org>
188         * configure.ac: Bump version number to 2.8.
189         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
190         * README: Likewise.
191         * src/Makefile.am (LIBSIGSEGV_VERSION_INFO): Bump to 2:1:0.
193 2009-12-11  Bruno Haible  <bruno@clisp.org>
195         Remove configuration option --enable-EFAULT.
196         * configure.ac (enable_EFAULT): Set to yes on Cygwin, to no otherwise.
197         * README, NEWS: Don't mention --enable-EFAULT.
198         Reported by Eric Blake.
200 2009-12-11  Bruno Haible  <bruno@clisp.org>
202         New test for Cygwin.
203         * tests/cygwin1.c: New file, based on code by Eric Blake.
204         * tests/Makefile.am (TESTS, noinst_PROGRAMS): Add it.
205         * configure.ac (CYGWIN): New conditional.
207 2009-11-21  Eric Blake  <ebb9@byu.net>
208             Bruno Haible  <bruno@clisp.org>
210         New configuration option --enable-EFAULT.
211         * configure.ac: Accept option --enable-EFAULT. Set and define
212         ENABLE_EFAULT. Invoke SV_SYSCALLS_EFAULT.
213         For Cygwin, use the CFG_FAULT that was already determined, or
214         fault-cygwin-old.h if none. In the latter case, define
215         OLD_CYGWIN_WORKAROUND.
216         * m4/efault.m4: New file.
217         * src/handler-win32.c [CYGWIN && ENABLE_EFAULT]: Include
218         handler-unix.c.
219         (MIXING_UNIX_SIGSEGV_AND_WIN32_STACKOVERFLOW_HANDLING): New macro.
220         (last_seen_fault_address): New variable.
221         (main_exception_filter): Store the fault address for the Unix signal
222         handler.
223         (sigsegv_install_handler): Redefine.
224         (sigsegv_deinstall_handler, sigsegv_leave_handler): Don't define.
225         * src/handler-unix.c (stackoverflow_install_handler,
226         stackoverflow_deinstall_handler): Don't define if
227         MIXING_UNIX_SIGSEGV_AND_WIN32_STACKOVERFLOW_HANDLING is set.
228         * src/fault-cygwin-old.h: New file.
229         * src/Makefile.am (noinst_HEADERS): Add it.
230         * tests/efault1.c: New file.
231         * tests/efault2.c: New file.
232         * tests/efault3.c: New file.
233         * tests/Makefile.am (TESTS, noinst_PROGRAMS): Add efault1, efault2,
234         efault3.
235         * README, NEWS: Mention the new option.
237 2009-11-21  Bruno Haible  <bruno@clisp.org>
239         Support for Cygwin 1.7.
240         * configure.ac: For Cygwin and mingw, choose FAULT_CONTEXT in a way
241         that is consistent with CFD_HANDLER.
242         Reported by Eric Blake <ebb9@byu.net>
244 2009-11-21  Bruno Haible  <bruno@clisp.org>
246         * configure.ac: Add comments and structure.
248 2009-11-21  Bruno Haible  <bruno@clisp.org>
250         Reduce size of configure.ac.
251         * m4/stack-direction.m4: New file, extracted from configure.ac.
252         * configure.ac: Simply invoke SV_STACK_DIRECTION.
254 2009-11-21  Eric Blake  <ebb9@byu.net>
255             Bruno Haible  <bruno@clisp.org>
257         Avoid a gcc warning.
258         * src/handler-win32.c (debug_get_except_list): Mark as unused.
260 2009-11-21  Bruno Haible  <bruno@clisp.org>
262         Fix compilation error on newer versions of HP-UX 11.31 on ia64.
263         * configure.ac: Set sv_cv_have_stack_overflow_recovery to 'no' if it is
264         not possible to longjmp out of the signal handler. On HP-UX 11.31 on
265         ia64 it is only possible with siglongjmp (as far as we know).
266         Reported by Bill Glessner <bill.glessner@cwu.edu>.
268         * configure.ac: Move determination of CFG_LEAVE before the
269         determination of sv_cv_have_stack_overflow_recovery.
271 2009-10-17  Bruno Haible  <bruno@clisp.org>
273         * README: Mention danger of longjmping back to a central point.
274         Reported by Angelo Borsotti <angelo.borsotti@gmail.com>.
276 2009-09-22  Paolo Bonzini  <bonzini@gnu.org>
278         Move more declarations of alternate stacks to global scope.
279         * m4/sigaltstack-longjmp.m4: Make mystack global.
280         * m4/sigaltstack-siglongjmp.m4: Make mystack global.
281         * m4/sigaltstack.m4: Make mystack global.
283 2009-09-22  Paolo Bonzini  <bonzini@gnu.org>
285         Fix crash of stackoverflow2 on x86_64-linux.
286         * tests/stackoverflow1.c: Make mystack global.
287         * tests/stackoverflow2.c: Likewise.
288         * src/sigsegv.h.in: Warn against placing the alternate stack
289         on the main stack.
291 2009-08-16  Bruno Haible  <bruno@clisp.org>
293         Avoid a gcc warning on Solaris.
294         * src/stackvma-procfs.c: Include <string.h>.
296 2009-08-14  Bruno Haible  <bruno@clisp.org>
298         Remove config.guess, config.sub from from version control.
299         * autogen.sh: Fetch config.guess, config.sub.
300         * build-aux/config.guess: Remove file.
301         * build-aux/config.sub: Remove file.
303 2009-08-14  Bruno Haible  <bruno@clisp.org>
305         Remove autogenerated files from version control.
306         * autogen.sh: New file.
307         * aclocal.m4: Remove file.
308         * configure: Remove file.
309         * config.h.in: Remove file.
310         * Makefile.in: Remove file.
311         * src/Makefile.in: Remove file.
312         * tests/Makefile.in: Remove file.
313         * build-aux/install-sh: Remove file.
314         * build-aux/missing: Remove file.
315         * config.h.msvc: Remove file.
316         * src/sigsegv.h.msvc: Remove file.
318 2009-08-14  Bruno Haible  <bruno@clisp.org>
320         Override automake's tar command used for creating distributions.
321         * configure.ac (am__tar): New variable.
323 2009-08-09  Bruno Haible  <bruno@clisp.org>
325         * Version 2.7 released.
327 2009-08-09  Bruno Haible  <bruno@clisp.org>
329         * configure.ac: Bump version number to 2.7.
330         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
331         * src/Makefile.am (LIBSIGSEGV_VERSION_INFO): Bump to 2:0:0.
333 2009-08-09  Bruno Haible  <bruno@clisp.org>
335         * src/fault-linux-powerpc.h (SIGSEGV_FAULT_STACKPOINTER): Fix mistake.
337 2009-08-09  Bruno Haible  <bruno@clisp.org>
339         Avoid warnings on glibc systems.
340         * src/stackvma-mincore.c (pageinfo_t): New type.
341         (is_mapped, mapped_range_start, mapped_range_end): Use it.
343 2009-08-01  Bruno Haible  <bruno@clisp.org>
345         Prefer the POSIX way over the traditional one, on Linux.
346         * configure.ac: Use the traditional Linux way only if the POSIX way
347         does not work.
348         * NEWS: Mention the change.
350 2009-08-01  Bruno Haible  <bruno@clisp.org>
352         Add knowledge where to find the stack pointer on Linux platforms.
353         * src/fault-linux-alpha.h: New file.
354         * src/fault-linux-arm.h: New file.
355         * src/fault-linux-cris.h: New file.
356         * src/fault-linux-hppa.h: New file.
357         * src/fault-linux-i386.h: New file.
358         * src/fault-linux-ia64.h: New file.
359         * src/fault-linux-m68k.h: New file.
360         * src/fault-linux-mips.h: New file.
361         * src/fault-linux-powerpc.h: New file.
362         * src/fault-linux-s390.h: New file.
363         * src/fault-linux-sh.h: New file.
364         * src/fault-linux-sparc.h: New file.
365         * src/Makefile.am (noinst_HEADERS): Add them.
366         * src/handler-unix.c (_GNU_SOURCE): Define.
367         * src/fault-linux-hppa-old.h: Add alternative code, commented.
368         * src/fault-linux-sparc-old.h: Likewise.
369         * configure.ac (CFG_FAULT): Use these files on Linux when the POSIX way
370         of catching page faults works.
372 2009-08-01  Bruno Haible  <bruno@clisp.org>
374         * src/fault-linux-i386-old.h: Renamed from src/fault-linux-i386.h.
375         * src/Makefile.am (noinst_HEADERS): Update.
376         * configure.ac: Update.
378         * src/fault-linux-i386-oldold.h: Renamed from
379         src/fault-linux-i386-old.h.
380         * src/Makefile.am (noinst_HEADERS): Update.
381         * configure.ac: Update.
383         * src/fault-linux-alpha-old.h: Renamed from src/fault-linux-alpha.h.
384         * src/fault-linux-arm-old.h: Renamed from src/fault-linux-arm.h.
385         * src/fault-linux-cris-old.h: Renamed from src/fault-linux-cris.h.
386         * src/fault-linux-hppa-old.h: Renamed from src/fault-linux-hppa.h.
387         * src/fault-linux-ia64-old.h: Renamed from src/fault-linux-ia64.h.
388         * src/fault-linux-m68k-old.c: Renamed from src/fault-linux-m68k.c.
389         * src/fault-linux-m68k-old.h: Renamed from src/fault-linux-m68k.h.
390         Update.
391         * src/fault-linux-mips-old.h: Renamed from src/fault-linux-mips.h.
392         * src/fault-linux-powerpc-old.h: Renamed from src/fault-linux-powerpc.h.
393         * src/fault-linux-s390-old.h: Renamed from src/fault-linux-s390.h.
394         * src/fault-linux-sh-old.h: Renamed from src/fault-linux-sh.h.
395         * src/fault-linux-sparc-old.h: Renamed from src/fault-linux-sparc.h.
396         * src/fault-linux-x86_64-old.h: Renamed from src/fault-linux-x86_64.h.
397         * src/Makefile.am (noinst_HEADERS): Update.
398         * configure.ac: Update.
400 2009-06-23  Bruno Haible  <bruno@clisp.org>
402         * Makefile.am (check-next): No longer ask for copies of config.log.
404 2009-06-23  Bruno Haible  <bruno@clisp.org>
406         Improve support for MirBSD 10.
407         * configure.ac (CFG_FAULT, FAULT_CONTEXT): Treat MirBSD/i386 like
408         OpenBSD/i386.
410 2009-06-23  Bruno Haible  <bruno@clisp.org>
412         Add support for platforms that follow POSIX:2008, not POSIX:2001.
413         * configure.ac (POSIX): Add MirBSD to known list.
414         (CFG_FAULT, FAULT_CONTEXT, FAULT_CONTEXT_INCLUDE): Define appropriately
415         when <ucontext.h> does not exist.
416         * src/fault-posix-ucontext.h: Renamed from src/fault-posix.h.
417         * src/fault-posix.h: New file.
418         * src/fault-aix5.h: Update.
419         * src/fault-hpux-hppa.h: Update.
420         * src/fault-netbsd.h: Update.
421         * src/fault-solaris.h: Update.
422         * src/Makefile.am (noinst_HEADERS): Add fault-posix-ucontext.h.
424 2009-06-23  Bruno Haible  <bruno@clisp.org>
426         * configure.ac (FAULT_CONTEXT_INCLUDE): Reinstall the AC_SUBST
427         invocation.
429 2009-05-21  Bruno Haible  <bruno@clisp.org>
431         * configure.ac (FAULT_CONTEXT_INCLUDE): Don't substitute into
432         Makefiles.
434 2009-05-21  Bruno Haible  <bruno@clisp.org>
436         * tests/Makefile.am (AUTOMAKE_OPTIONS): Assume automake >= 1.11.
437         Use color-tests option.
439 2009-01-14  Bruno Haible  <bruno@clisp.org>
441         * configure.ac: More consistent m4 quoting.
443 2008-09-27  Bruno Haible  <bruno@clisp.org>
445         * build-aux/config.sub: Update to GNU version 2008-09-08.
447 2008-09-23  Eric Blake  <ebb9@byu.net>
449         Use 2 * SIGSTKSZ consistently in configuration checks.
450         * m4/sigaltstack.m4 (SV_SIGALTSTACK): Work around IRIX sigaltstack bug.
451         * m4/sigaltstack-longjmp.m4 (SV_TRY_LEAVE_HANDLER_LONGJMP): Likewise.
452         * m4/sigaltstack-siglongjmp.m4 (SV_TRY_LEAVE_HANDLER_SIGLONGJMP):
453         Likewise.
455 2008-09-21  Bruno Haible  <bruno@clisp.org>
457         * src/Makefile.am (LIBSIGSEGV_VERSION_INFO): New variable.
458         (libsigsegv_la_LDFLAGS): Pass -rpath and -version-info option.
459         Reported by Thomas Klausner <tk@giga.or.at>.
461 2008-09-21  Eric Blake  <ebb9@byu.net>
462             Bruno Haible  <bruno@clisp.org>
464         Detect and work around bug in Irix 5.3 sigaltstack.
465         * m4/sigaltstack.m4 (SV_SIGALTSTACK): Test for broken stack_t direction
466         in sigaltstack.
467         * src/handler-unix.c (stackoverflow_install_handler): Adjust stack
468         accordingly.
469         * tests/stackoverflow1.c (stack_lower_bound, stack_upper_bound): New
470         variables.
471         (stackoverflow_handler): Use them to expose IRIX bug.
472         (main): Initialize them.
474 2008-09-07  Bruno Haible  <bruno@clisp.org>
476         * m4/libtool.m4: Update from libtool-2.2.6.
477         * m4/ltoptions.m4: Likewise.
478         * m4/ltsugar.m4: Likewise.
479         * m4/ltversion.m4: Likewise.
480         * build-aux/ltmain.sh: Likewise.
482 2008-08-25  Bruno Haible  <bruno@clisp.org>
484         * Version 2.6 released.
486 2008-08-24  Bruno Haible  <bruno@clisp.org>
488         * configure.ac: Treat Dragonfly BSD platforms like FreeBSD.
489         Reported by Thomas Klausner <tk@giga.or.at>.
491 2008-08-24  Bruno Haible  <bruno@clisp.org>
493         * src/stackvma-mincore.c (mincore_is_near_this): Improve logic. Needed
494         for reliable NULL pointer access classification as SIGSEGV on AIX 4.3.
496 2008-08-24  Bruno Haible  <bruno@clisp.org>
498         * m4/sigaltstack.m4: Change 'volatile int' return type to 'int'. Needed
499         for AIX 4.3 xlc.
500         * m4/sigaltstack-longjmp.m4: Likewise.
501         * m4/sigaltstack-siglongjmp.m4: Likewise.
502         * tests/stackoverflow1.c (recurse): Likewise.
503         * tests/stackoverflow2.c (recurse): Likewise.
505 2008-08-24  Bruno Haible  <bruno@clisp.org>
507         * tests/sigsegv1.c: Include <config.h>.
508         * tests/sigsegv2.c: Likewise.
509         * tests/sigsegv3.c: Include <config.h> before all other headers.
510         * tests/stackoverflow1.c: Likewise.
511         * tests/stackoverflow2.c: Likewise.
513 2008-08-24  Bruno Haible  <bruno@clisp.org>
515         Fix the sigsegv3 test on MacOS X.
516         * src/sigsegv.h.in (sigsegv_leave_handler): Take 4 arguments.
517         * NEWS: Mention the change.
518         * src/handler-macos.c (our_exception_thread, signalled_thread): New
519         variables.
520         (catch_exception_raise): Set signalled_thread during the user_handler
521         invocation.
522         (mach_exception_thread): Initialize our_exception_thread.
523         (sigsegv_leave_handler): Take 4 arguments. When called from within
524         the exception thread, let the signalled thread do a hyperjump.
525         * src/handler-unix.c (sigsegv_leave_handler): Take 4 arguments.
526         * src/handler-win32.c (sigsegv_leave_handler): Likewise.
527         * src/handler-none.c (sigsegv_leave_handler): Likewise.
528         * src/machfault-macos.h (SIGSEGV_INTEGER_ARGUMENT_1,
529         SIGSEGV_INTEGER_ARGUMENT_2, SIGSEGV_INTEGER_ARGUMENT_3,
530         SIGSEGV_FRAME_POINTER): New macros.
531         * tests/sigsegv3.c (handler_continuation): New function.
532         (handler): Update to new API.
533         * tests/stackoverflow1.c (stackoverflow_handler_continuation): New
534         function.
535         (stackoverflow_handler): Update to new API.
536         * tests/stackoverflow2.c (stackoverflow_handler_continuation): New
537         function.
538         (stackoverflow_handler, sigsegv_handler): Update to new API.
540 2008-08-24  Bruno Haible  <bruno@clisp.org>
542         Test the use of sigsegv_leave_handler from within a SIGSEGV handler.
543         * tests/sigsegv3.c: New file.
544         * tests/Makefile.am (TESTS, noinst_PROGRAMS): Add sigsegv3.
546 2008-08-23  Eric Blake  <ebb9@byu.net>
548         * src/Makefile.am (noinst_HEADERS): Remove machfault-macos-powerpc.h
549         and machfault-macos-i386.h. Add machfault-macos.h.
551 2008-08-17  Bruno Haible  <bruno@clisp.org>
553         Allow building universal binaries on MacOS X.
554         * src/machfault-macos.h: New file, combining
555         src/machfault-macos-powerpc.h and src/machfault-macos-i386.h.
556         * src/machfault-macos-powerpc.h: Remove file.
557         * src/machfault-macos-i386.h: Remove file.
558         * configure.ac (CFG_MACHFAULT): Set to machfault-macos.h.
559         (FAULT_CONTEXT_INCLUDE) [MacOSX]: Set to #ifdefs for all four possible
560         architectures.
562 2008-07-20  Bruno Haible  <bruno@clisp.org>
564         Make sigsegv_get_vma async-safe.
565         * src/sigsegv.h.in (sigsegv_handler_t, stackoverflow_handler_t):
566         Mention async-safety constraints.
567         + src/stackvma-rofile.c: New file.
568         * src/stackvma-freebsd.c: Include stackvma-rofile.c.
569         (sigsegv_get_vma): Use struct rofile instead of FILE.
570         * src/stackvma-linux.c: Include stackvma-rofile.c.
571         (sigsegv_get_vma): Use struct rofile instead of FILE.
572         * src/stackvma-procfs.c: Include <sys/mman.h> instead of <stdlib.h> and
573         <stdio.h>.
574         (sigsegv_get_vma): Avoid using sprintf. Ensure pagesize is initialized.
575         Use mmap/munmap instead of malloc/free.
576         * src/Makefile.am (EXTRA_DIST): Add stackvma-rofile.c.
577         Reported by Eric Blake <ebb9@byu.net>.
579 2008-07-20  Bruno Haible  <bruno@clisp.org>
581         * src/handler-unix.c (sigsegv_handler): Preserve errno.
583 2008-07-20  Eric Blake  <ebb9@byu.net>
585         * src/stackvma-mincore.c (mincore_is_near_this): Fix logic.
587 2008-07-20  Bruno Haible  <bruno@clisp.org>
589         * tests/stackoverflow2.c (main): Test also a NULL pointer access.
590         Reported by Eric Blake <ebb9@byu.net>.
592 2008-06-23  Bruno Haible  <bruno@clisp.org>
594         * build-aux/config.guess: Update to GNU version 2008-06-16.
595         * build-aux/config.sub: Likewise.
597 2008-05-31  Bruno Haible  <bruno@clisp.org>
599         Make cross-compile from MacOS X 10.5 to MacOS X 10.4 work.
600         * src/handler-macos.c (MacOS_X_10_5_HEADERS): New macro.
601         * src/machfault-macos-i386.h: Use it.
602         * src/machfault-macos-powerpc.h: Likewise.
603         Reported by Dr Tomaž Slivnik <slivnik@tomaz.name>.
605 2008-05-31  Bruno Haible  <bruno@clisp.org>
607         * m4/mmap-anon.m4 (SV_MMAP_ANON): Add known cross-compile results for
608         MacOS X.
609         Reported by Dr Tomaž Slivnik <slivnik@tomaz.name>.
611 2008-05-27  Bruno Haible  <bruno@clisp.org>
613         * configure.ac: Require at least autoconf 2.62. Merge
614         FAULT_CONTEXT_INCLUDE2 variable into FAULT_CONTEXT_INCLUDE.
615         * src/sigsegv.h.in: Remove FAULT_CONTEXT_INCLUDE2 substitution.
616         * src/Makefile.am (sigsegv.h.msvc): Update.
618 2008-05-27  Bruno Haible  <bruno@clisp.org>
620         * configure.ac: Bump version number to 2.6.
621         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
623 2008-05-27  Bruno Haible  <bruno@clisp.org>
625         Support for 64-bit mode on MacOS X 10.5.
626         * src/handler-macos.c (catch_exception_raise): Align the stack pointer
627         also on x86_64. Needed for MMX instructions.
628         * src/machfault-macos-i386.h: Choose among 64-bit and 32-bit flavours.
629         Use new names for the 32-bit flavour when possible.
630         * src/machfault-macos-powerpc.h: Choose among 64-bit and 32-bit
631         flavours.
632         * configure.ac (FAULT_CONTEXT, FAULT_CONTEXT_INCLUDE2): Choose
633         right flavour (ppc_thread_state_t/ppc_thread_state64_t or
634         i386_thread_state_t/x86_thread_state32_t/x86_thread_state64_t) at
635         compile time.
637 2008-05-18  Bruno Haible  <bruno@clisp.org>
639         * m4/libtool.m4: Update from libtool-2.2.4.
640         * m4/ltoptions.m4: Likewise.
641         * m4/ltversion.m4: Likewise.
642         * m4/lt~obsolete.m4: Likewise.
643         * build-aux/ltmain.sh: Likewise.
645 2008-04-06  Bruno Haible  <bruno@clisp.org>
647         * m4/libtool.m4: Update from libtool-2.2.2.
648         * m4/ltoptions.m4: New file, from libtool-2.2.2.
649         * m4/ltsugar.m4: New file, from libtool-2.2.2.
650         * m4/ltversion.m4: New file, from libtool-2.2.2.
651         * m4/lt~obsolete.m4: New file, from libtool-2.2.2.
652         * build-aux/ltmain.sh: New file, from libtool-2.2.2.
653         * configure.ac: Use LT_INIT instead of AC_PROG_LIBTOOL.
655 2007-11-16  Bruno Haible  <bruno@clisp.org>
657         * src/fault-freebsd-i386.h (SIGSEGV_FAULT_STACKPOINTER): Use sc_rsp
658         also on x86_64-freebsd platform.
659         Reported by Dmitri Hrapof <hrapof@common-lisp.ru> and
660         Petr Salinger <Petr.Salinger@seznam.cz>.
662 2007-11-15  Bruno Haible  <bruno@clisp.org>
664         * configure.ac (CFG_SIGNALS, CFG_FAULT): Port to i586-kfreebsd-gnu
665         and x86_64-kfreebsd-gnu.
666         * src/fault-freebsd-i386.h (SIGSEGV_FAULT_STACKPOINTER): Likewise.
667         Based on patch by Petr Salinger <Petr.Salinger@seznam.cz>.
669 2007-11-11  Bruno Haible  <bruno@clisp.org>
671         * Version 2.5 released.
673 2007-11-11  Bruno Haible  <bruno@clisp.org>
675         * configure.ac: Bump version number to 2.5.
676         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
678 2007-10-28  Bruno Haible  <bruno@clisp.org>
680         * src/handler-macos.c (catch_exception_raise): Align the new stack
681         pointer on a 16-byte boundary.
682         * src/handler-win32.c (main_exception_filter): Correct alignment:
683         %esp must be aligned to == -4 mod 16 upon function entry.
685 2007-10-28  Bruno Haible  <bruno@clisp.org>
687         * src/sigsegv.h.in (stackoverflow_install_handler): Avoid comment
688         inside comment.
689         Reported by Chris Willmore <willmc@rpi.edu>.
691 2007-10-28  Bruno Haible  <bruno@clisp.org>
693         * src/machfault-macos-powerpc.h (SIGSEGV_FAULT_ADDRESS,
694         SIGSEGV_STACK_POINTER, SIGSEGV_PROGRAM_COUNTER): Add __DARWIN_UNIX03
695         conditional.
696         * src/machfault-macos-i386.h (SIGSEGV_FAULT_ADDRESS,
697         SIGSEGV_STACK_POINTER, SIGSEGV_PROGRAM_COUNTER): Likewise.
698         * src/fault-macosdarwin7-powerpc.h (SIGSEGV_FAULT_STACKPOINTER):
699         Likewise.
700         * src/fault-macosdarwin7-powerpc.c (get_fault_addr): Likewise.
701         Reported by Chris Willmore <willmc@rpi.edu>.
703 2007-01-12  Bruno Haible  <bruno@clisp.org>
705         * Makefile.am (check-next): Don't ask for reports from x86_64-*-linux*
706         platforms.
708 2006-07-14  Bruno Haible  <bruno@clisp.org>
710         * m4/sigaltstack.m4 (SV_SIGALTSTACK): Use SIGSTKSZ instead of
711         hardcoding 16384.
712         * m4/sigaltstack-longjmp.m4 (SV_TRY_LEAVE_HANDLER_LONGJMP): Likewise.
713         * m4/sigaltstack-siglongjmp.m4 (SV_TRY_LEAVE_HANDLER_SIGLONGJMP):
714         Likewise.
715         * tests/stackoverflow1.c (main): Likewise.
716         * tests/stackoverflow2.c (main): Likewise.
717         * src/sigsegv.h.in (stackoverflow_install_handler): Update
718         recommendation for extra_stack_size.
719         Needed for ia64.
720         Reported by Peter Van Eynde <pvaneynd@users.sourceforge.net>.
722 2006-06-23  Bruno Haible  <bruno@clisp.org>
724         * Version 2.4 released.
726 2006-06-23  Bruno Haible  <bruno@clisp.org>
728         * configure.ac: Bump version number to 2.4.
729         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
731 2006-06-17  Bruno Haible  <bruno@clisp.org>
733         * src/Makefile.am (noinst_HEADERS): Add fault-netbsd.h.
735 2006-06-17  Bruno Haible  <bruno@clisp.org>
737         * m4/sigaltstack.m4: Insert 'volatile' and pass a pointer, to defeat
738         GCC 4 optimizations.
739         * m4/sigaltstack-longjmp.m4: Likewise.
740         * m4/sigaltstack-siglongjmp.m4: Likewise.
742 2006-06-17  Bruno Haible  <bruno@clisp.org>
744         * tests/stackoverflow1.c (recurse): Remove useless cast.
745         * tests/stackoverflow2.c (recurse): Likewise.
747 2006-06-17  Bruno Haible  <bruno@clisp.org>
749         * src/stackvma-freebsd.c (sigsegv_get_vma): Test whether mincore()
750         works as expected before using it.
752 2006-03-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
754         * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ]: Avoid warning when
755         "parsing" /etc/ld.so.conf and empty /etc/ld.so.conf.d.
757 2006-06-13  Bruno Haible  <bruno@clisp.org>
759         Make NetBSD/i386 stack overflow detection work even without mincore.
760         * src/fault-netbsd.h: New file.
761         * configure.ac (CFG_FAULT): Choose it when appropriate.
763 2006-05-16  Bruno Haible  <bruno@clisp.org>
765         Don't allow the compiler to reorder instructions in the tests.
766         * tests/sigsegv1.c (crashes): Use volatile in pointer access.
767         * tests/sigsegv2.c (main): Likewise.
768         * tests/stackoverflow2.c (main): Likewise.
770 2006-05-14  Bruno Haible  <bruno@clisp.org>
772         Exploit the mincore() system call where available.
773         * src/stackvma-mincore.c: New file.
774         * src/Makefile.am (EXTRA_DIST): Add it.
775         * src/stackvma.h: Add double-inclusion guard.
776         * src/stackvma-freebsd.c: If mincore() is available, include also
777         stackvma-mincore.c.
778         (sigsegv_get_vma): If mincore() is available, use it as fallback.
779         * src/stackvma-linux.c: If mincore() is available, include also
780         stackvma-mincore.c.
781         (sigsegv_get_vma): If mincore() is available, use it as fallback.
782         * src/stackvma-procfs.c: If mincore() is available, include also
783         stackvma-mincore.c.
784         (sigsegv_get_vma): If mincore() is available, use it as fallback.
785         * configure.ac: Test for mincore.
786         (CFG_STACKVMA): Set to stackvma-mincore.c if nothing else is available.
788 2006-05-14  Bruno Haible  <bruno@clisp.org>
790         * src/stackvma-simple.c: New file, extracted from handler-unix.c.
791         * src/Makefile.am (EXTRA_DIST): Add it.
792         * src/stackvma-beos.c: Include stackvma-simple.c.
793         (sigsegv_get_vma): Fill the vma's is_near_this field.
794         * src/stackvma-freebsd.c: Include stackvma-simple.c.
795         (sigsegv_get_vma): Fill the vma's is_near_this field.
796         * src/stackvma-linux.c: Include stackvma-simple.c.
797         (sigsegv_get_vma): Fill the vma's is_near_this field.
798         * src/stackvma-mach.c: Include stackvma-simple.c.
799         (sigsegv_get_vma): Fill the vma's is_near_this field.
800         * src/stackvma-procfs.c: Include stackvma-simple.c.
801         (sigsegv_get_vma): Fill the vma's is_near_this field.
802         * src/stackvma.h (vma_struct): Add is_near_this field.
803         * src/handler-unix.c (sigsegv_handler): Use the vma's is_near_this
804         function.
806 2006-04-28  Bruno Haible  <bruno@clisp.org>
808         * Version 2.3 released.
810 2006-04-28  Bruno Haible  <bruno@clisp.org>
812         * configure.ac: Bump version number to 2.3.
813         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
815         * build-aux/config.guess, build-aux/config.sub: Update to GNU version
816         2006-04-26.
818         * build-aux/install-sh: Update from automake-1.9.6.
819         * build-aux/missing: Likewise.
821         * build-aux/ltmain.sh: Update from libtool-1.5.22.
822         * m4/libtool.m4: Likewise.
824 2006-04-28  Bruno Haible  <bruno@clisp.org>
826         * build-aux: Renamed from autoconf.
827         * configure.ac (AC_CONFIG_AUX_DIR): Set to build-aux.
829 2006-04-22  Bruno Haible  <bruno@clisp.org>
831         * configure.ac: Renamed from configure.in.
833 2006-04-21  Bruno Haible  <bruno@clisp.org>
835         * src/machfault-macos-i386.h: Rewritten for Darwin 8.6.1.
836         * configure.in: Change FAULT_CONTEXT for i?86-darwin.
838 2005-06-21  Paolo Bonzini  <bonzini@gnu.org>
840         * configure.in: For handler-macos.c, include mach/thread_status.h.
841         * configure: Regenerate.
843 2005-06-21  Paolo Bonzini  <bonzini@gnu.org>
845         * tests/stackoverflow1.c (recurse): Make more resilient to compiler
846         optimization.
847         (recurse_1): New.
848         * tests/stackoverflow2.c: Likewise.
850 2005-05-24  Bruno Haible  <bruno@clisp.org>
852         * src/handler-win32.c (main_exception_filter): Copy CONTEXT structure
853         to safe area on the stack.
854         Based on patch by Doug Currie <e@flavors.com>.
856         * src/handler-win32.c (main_exception_filter): Swap arguments passed
857         to stack_overflow_handler.
858         Patch by Doug Currie <e@flavors.com>.
860         * src/handler-win32.c (main_exception_filter): Align %esp on a 16-byte
861         boundary.
863 2005-03-02  Bruno Haible  <bruno@clisp.org>
865         * Version 2.2 released.
867 2005-03-02  Bruno Haible  <bruno@clisp.org>
869         * autoconf/config.guess: Update.
870         * autoconf/config.sub: Update.
871         * autoconf/missing: Update from automake-1.9.5.
873         * m4/libtool.m4: Upgrade to libtool-1.5.14 with gettext modifications.
874         * autoconf/ltmain.sh: Likewise.
876 2005-03-02  Bruno Haible  <bruno@clisp.org>
878         * src/fault-aix5.h: New file.
879         * src/fault-aix5-powerpc.h: New file.
880         * src/Makefile.am (noinst_HEADERS): Add them.
881         * configure.in: Choose them when the POSIX test succeeds on AIX.
883         * src/fault-aix3-powerpc.h: Renamed from src/fault-aix-powerpc.h.
884         * src/fault-aix3.h: Renamed from src/fault-aix.h.
885         * src/Makefile.am (noinst_HEADERS): Update.
886         * configure.in: Update. When cross-compiling, assume the AIX test
887         succeeds only on AIX 3 and AIX 4.
889 2005-03-01  Bruno Haible  <bruno@clisp.org>
891         * configure.in: Fix test of CFG_MACHFAULT.
893 2005-02-27  Bruno Haible  <bruno@clisp.org>
895         * configure.in: Skip tests that are not needed on MacOS X >= 10.2.
896         * m4/sigaltstack.m4 (SV_SIGALTSTACK): Don't perform the test on
897         MacOS X >= 10.2.
899 2005-02-18  Bruno Haible  <bruno@clisp.org>
901         * tests/sigsegv1.c (handler_called): Declare as volatile.
902         * tests/sigsegv2.c (logcount, logdata): Likewise.
903         * tests/stackoverflow1.c (pass): Likewise.
904         * tests/stackoverflow2.c (pass): Likewise.
906 2005-01-29  Bruno Haible  <bruno@clisp.org>
908         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): New macro.
909         (libsigsegv_version): New declaration.
910         * src/version.c: New file.
911         * src/Makefile.am (libsigsegv_la_SOURCES): Add version.c.
912         * Makefile.msvc (OBJECTS): Add version.obj.
913         (version.obj): New rule.
914         Suggested by Sam Steingold.
916 2004-08-25  Bruno Haible  <bruno@clisp.org>
918         * m4/libtool.m4: Upgrade to libtool-1.5.6.
919         * autoconf/ltmain.sh: Upgrade to libtool-1.5.6.
921 2004-08-18  Bruno Haible  <bruno@clisp.org>
923         * configure.in: Bump version number to 2.2.
925 2004-08-17  Bruno Haible  <bruno@clisp.org>
927         Finish the Mach-based MacOS X support.
928         * src/handler-macos.c: Don't include mach/vm_map.h.
929         Include machfault.h instead of fault.h.
930         (save_exc_state): Remove variable.
931         (save_thread_state): New variable.
932         (terminating_handler): New function.
933         (altstack_handler): Pass the save_thread_state, not the save_exc_state,
934         to the user's handler.
935         (catch_exception_raise): Make it work also for platforms which don't
936         have an exc_state type. Call SIGSEGV_FAULT_ADDRESS with 2 arguments.
937         Don't clobber the exc_state; instead set the thread's program counter
938         to terminating_handler or altstack_handler, depending on the case.
939         Return KERN_SUCCESS at the end.
940         * src/machfault.h: New file.
941         * src/machfault-macos-powerpc.h (SIGSEGV_FAULT_ADDRESS): Add a second
942         argument.
943         * src/machfault-macos-i386.h: New file.
944         * src/Makefile.am (EXTRA_DIST): Add handler-macos.c.
945         (NOINST_HEADERS): Add machfault.h, machfault-macos-i386.h,
946         machfault-macos-powerpc.h.
947         * configure.in (CFG_HANDLER): Initialize to empty.
948         (CFG_MACHFAULT): New substituted variable.
949         On MacOS X PowerPC+i386, use CFG_HANDLER=handler-macos.c
950         unconditionally.
951         (sv_cv_fault_include, sv_cv_have_stack_overflow_recovery): Set
952         correctly also in the handler-macos.c case.
954 2004-08-16  Bruno Haible  <bruno@clisp.org>
956         Support for MacOS X 10.3 on PowerPC.
957         * src/fault-macosdarwin5-powerpc.h: Renamed from
958         src/fault-macos-powerpc.h.
959         * src/fault-macosdarwin5-powerpc.c: Renamed from
960         src/fault-macos-powerpc.c.
961         * src/fault-macosdarwin7-powerpc.h: New file.
962         * src/fault-macosdarwin7-powerpc.c: New file.
963         * src/Makefile.am (noinst_HEADERS): Update.
964         * configure.in: Test the method for MacOSX/Darwin5 PowerPC only after
965         the method for MacOSX/Darwin7 PowerPC failed.
966         Substitute FAULT_CONTEXT_INCLUDE2.
967         * src/sigsegv.h.in: Insert @FAULT_CONTEXT_INCLUDE2@.
968         * src/Makefile.am (sigsegv.h.msvc): Replace @FAULT_CONTEXT_INCLUDE2@.
970 2003-12-09  Paolo Bonzini  <bonzini@gnu.org>
972         * src/handler-macos.c: Completed; removed dependency on
973         signals.
974         * src/machfault-macos-powerpc.h: Reorganized.
976 2003-12-08  Paolo Bonzini  <bonzini@gnu.org>
977             Bruno Haible  <bruno@clisp.org>
979         * src/handler-macos.c: New file.
980         * src/machfault.h: New file.
981         * src/machfault-macos-powerpc.h: New file.
983 2003-12-05  Bruno Haible  <bruno@clisp.org>
985         * m4/fault.m4: Tweak indentation. Bump serial number.
986         * m4/getpagesize.m4: Likewise.
987         * m4/mmap-anon.m4: Likewise.
988         * m4/sigaltstack.m4: Likewise.
989         * m4/sigaltstack-longjmp.m4: Likewise.
990         * m4/sigaltstack-siglongjmp.m4: Likewise.
992 2003-12-05  Paolo Bonzini  <bonzini@gnu.org>
994         * aclocal.m4: Regenerate with Automake 1.7h.
995         * configure.in: Drop m4/Makefile from list of generated files.
996         * configure: Regenerate.
997         * Makefile.am (install-data-hook): New name of the install-am
998         target, for Automake 1.8 compatibility.  Other -am targets
999         are not affected because Automake does not have anything to
1000         do to make them.
1001         (AUTOMAKE_OPTIONS): Bump minimum Automake requirement to 1.7h.
1002         (SUBDIRS): Remove m4.
1003         ($(srcdir)/config.h.msvc): New target for config.h.msvc.
1004         * Makefile.in: Regenerate with Automake 1.7h.
1005         * m4/Makefile.am: Delete, Automake 1.7h takes care of it.
1006         * m4/Makefile.in: Delete.
1007         * src/Makefile.am (installdirs): Delete, Automake 1.7h adds it.
1008         * src/Makefile.in: Regenerate with Automake 1.7h.
1009         * tests/Makefile.in: Regenerate with Automake 1.7h.
1011         * autoconf/config.guess: Update from automake-1.7h.
1012         * autoconf/config.sub: Likewise.
1013         * autoconf/install.sh: Likewise.
1014         * autoconf/missing: Likewise.
1015         * autoconf/mkinstalldirs: Delete.
1016         * m4/fault.m4: autoupdate and manually tweak.
1017         * m4/sigaltstack.m4: Likewise.
1018         * m4/sigaltstack-longjmp.m4: Likewise.
1019         * m4/sigaltstack-siglongjmp.m4: Likewise.
1020         * m4/mmap-anon.m4: Likewise.
1021         * m4/getpagesize.m4: Likewise.
1023 2003-10-29  Bruno Haible  <bruno@clisp.org>
1025         * tests/sigsegv1.c (main): Add a check whether mprotect with
1026         PROT_READ_WRITE really works.
1027         * tests/sigsegv2.c (main): Likewise.
1028         Reported by Ullal Devappa Kini <wmbfqj@vsnl.net>.
1030 2003-08-21  Bruno Haible  <bruno@clisp.org>
1032         * Version 2.1 released.
1034 2003-06-24  Paolo Bonzini  <bonzini@gnu.org>
1036         * m4/fault.m4: Exit if we detect an infinite loop.
1037         * aclocal.m4: Regenerate.
1038         * configure: Regenerate.
1040 2003-06-18  Bruno Haible  <bruno@clisp.org>
1042         * autoconf/install-sh: Update from automake-1.7.5.
1044 2003-05-14  Paolo Bonzini  <bonzini@gnu.org>
1046         * configure.in: Use signals-bsd.h for OpenBSD and NetBSD too.
1047         Support instruction decoding to get fault address for Alphas.
1048         * src/fault-netbsd-alpha.h: New file.
1049         * src/fault-netbsd-alpha.c: New file.
1050         * src/Makefile.am (noinst_HEADERS): Add them.
1052 2003-05-14  Paolo Bonzini  <bonzini@gnu.org>
1054         * src/dispatcher.c (insert): Fix lossage in 64-bit environments
1055         (cast from void* to unsigned int).
1057 2003-05-10  Bruno Haible  <bruno@clisp.org>
1059         * tests/Makefile.am (../src/libsigsegv.la): New rule.
1061         * Makefile.msvc (handler.obj): Complete the dependencies.
1062         (stackoverflow2.exe): New rule.
1063         (check): Depend on it.
1064         (clean): Remove it.
1066 2003-05-10  Paolo Bonzini  <bonzini@gnu.org>
1067             Bruno Haible  <bruno@clisp.org>
1069         * configure.in: AC_SUBST of CFG_STACKVMA, CFG_LEAVE, CFG_HANDLER.
1070         * src/Makefile.am: Add dependencies for the object files.
1072 2003-05-08  Paolo Bonzini  <bonzini@gnu.org>
1074         * configure.in: Add $srcdir/ to #include statements. Needed when
1075         builddir != srcdir.
1077         * src/signals-macos.h (SIGSEGV_FOR_ALL_SIGNALS): Add SIGSEGV.
1079 2003-05-03  Paolo Bonzini  <bonzini@gnu.org>
1081         * configure.in: Tweak 2003-04-26 patch so that it works on mingw32 and
1082         Cygwin.
1084 2003-05-02  Bruno Haible  <bruno@clisp.org>
1086         * src/handler-unix.c: Add special case for stack handling on IA-64.
1087         * src/fault-linux-ia64.h: Complete the port.
1088         * configure.in: Improve Linux/IA-64 support.
1090 2003-05-01  Bruno Haible  <bruno@clisp.org>
1092         * configure.in: Don't use fault-hurd.h on NetBSD/alpha. It does not
1093         work.
1095 2003-05-01  Bruno Haible  <bruno@clisp.org>
1097         Support for Linux/HPPA.
1098         * fault-linux-hppa.h: Don't include <siginfo.h>.
1099         (SIGSEGV_FAULT_ADDRESS): Change.
1100         (SIGSEGV_FAULT_ADDRESS_FROM_SIGINFO): Define it, otherwise the value
1101         passed for sip is 0.
1102         (SIGSEGV_FAULT_CONTEXT, SIGSEGV_FAULT_STACKPOINTER): Remove macros.
1103         * configure.in: Improve Linux/HPPA support.
1105 2003-05-01  Bruno Haible  <bruno@clisp.org>
1107         Support for OpenBSD/i386.
1108         * src/fault-openbsd.h: New file.
1109         * src/fault-openbsd-i386.h: New file.
1110         * src/Makefile.am (noinst_HEADERS): Add them.
1111         * configure.in: If the POSIX test works and the OS is OpenBSD, use
1112         fault-openbsd.h instead of fault-posix.h.
1114 2003-05-01  Bruno Haible  <bruno@clisp.org>
1116         * src/fault-hpux-hppa.h: Make it work on machines with 64-bit registers
1117         as well.
1118         * configure.in: Likewise.
1120 2003-04-29  Bruno Haible  <bruno@clisp.org>
1122         * configure.in: Define HAVE_STACKVMA if CFG_STACKVMA is nontrivial.
1123         * src/handler-unix.c: Test HAVE_STACKVMA instead of CFG_STACKVMA.
1125         * m4/fault.m4 (SV_TRY_FAULT): On HP-UX, always pass 0 as first argument
1126         of mmap().
1127         * tests/mmaputil.h (mmap_zeromap): Likewise.
1129 2003-04-28  Bruno Haible  <bruno@clisp.org>
1131         * src/stackvma-freebsd.c (sigsegv_get_vma): Fix logic error.
1133 2002-04-17  Paolo Bonzini  <bonzini@gnu.org>
1135         Support for Cygwin.
1136         * configure.in: Treat cygwin* like mingw*.
1137         * src/handler-win32.c [CYGWIN] (exception_list, _except_list,
1138         debug_get_except_list, cygwin_exception_handler,
1139         libsigsegv_exception_handler, do_install_main_exception_filter): New
1140         definitions.
1141         (install_main_exception_filter): New function.
1142         (sigsegv_install_handler, stackoverflow_install_handler): Call it.
1144 2003-04-26  Bruno Haible  <bruno@clisp.org>
1146         * configure.in: Don't set sv_cv_have_stack_overflow_recovery=yes if
1147         not all of the fault-*.h and stackvma-*.h premises are fulfilled.
1148         Reported by Paolo Bonzini <bonzini@gnu.org> for NetBSD/Alpha.
1150 2003-04-03  Bruno Haible  <bruno@clisp.org>
1152         * configure.in: Add --enable-relocatable option.
1153         * m4/relocatable.m4: New file, from GNU gettext.
1154         * m4/Makefile.am (EXTRA_DIST): Add it.
1156         * m4/libtool.m4: Update from GNU gettext, based on libtool-1.4.3.
1157         * autoconf/ltmain.sh: Likewise.
1159 2003-04-02  Bruno Haible  <bruno@clisp.org>
1161         * configure.in: Bump version number to 2.1.
1163         * tests/stackoverflow2.c: New file, based on code by Paolo Bonzini.
1164         * tests/Makefile.am (TESTS, noinst_PROGRAMS): Add stackoverflow2.
1166 2003-04-02  Paolo Bonzini  <bonzini@gnu.org>
1167             Bruno Haible  <bruno@clisp.org>
1169         Complete the port to MacOS X (Darwin).
1170         * m4/fault.m4: Include sys/signal.h. Have an exit status of 3 instead
1171         of 1 if fault_address is misdetected.
1172         * m4/sigaltstack.m4: Define stack_t to struct sigaltstack if absent.
1173         Include <sys/signal.h>.
1174         * configure.in: Add check for sys/signal.h.
1175         Add support for catching stack overflow on MacOSX.
1176         Add support for MacOSX on i386.
1177         Provide a fallback for SS_ONSTACK before using it.
1178         * src/fault-macos-i386.h: New file.
1179         * src/stackvma-mach.c: New file.
1180         * src/fault-macos-powerpc.h (SIGSEGV_FAULT_STACKPOINTER): Change.
1181         * src/handler-unix.c: Include <sys/signal.h>.
1182         (SS_DISABLE): Provide a fallback.
1183         * src/leave-sigaltstack.c: Include sys/signal.h.
1184         (SS_ONSTACK): Provide a fallback.
1185         * src/Makefile.am (noinst_HEADERS): Add fault-macos-i386.h.
1186         (EXTRA_DIST): Add stackvma-mach.c.
1187         * tests/sigsegv1.c: Abort after 10 handler invocations.
1188         (main): Drop SKIP message, now emitted by automake 1.7.x.
1189         * tests/sigsegv2.c: Abort after 10 handler invocations.
1190         (main): Drop SKIP message, now emitted by automake 1.7.x.
1191         * tests/stackoverflow1.c (main): Drop SKIP message, now emitted by
1192         automake 1.7.x.
1194 2002-10-14  Bruno Haible  <bruno@clisp.org>
1196         * src/fault-none.h: New file.
1197         * src/fault.h: Include CFG_FAULT unconditionally.
1198         * src/leave-none.c: New file.
1199         * src/leave.c: Include CFG_LEAVE unconditionally.
1200         * src/stackvma.c: Include CFG_STACKVMA unconditionally.
1201         * configure.in (CFG_LEAVE, CFG_STACKVMA): Define always.
1202         * src/Makefile.am (noinst_HEADERS): Add fault-none.h.
1203         (EXTRA_DIST): Add leave-none.c.
1204         Reported by Paolo Bonzini <bonzini@gnu.org>.
1206 2002-09-30  Bruno Haible  <bruno@clisp.org>
1208         * src/Makefile.am (noinst_HEADERS): Add fault-hurd.h,
1209         fault-linux-m68k.c, fault-macos-powerpc.h, fault-macos-powerpc.c,
1210         signals-hurd.h, signals-macos.h.
1212 2002-09-30  Bruno Haible  <bruno@clisp.org>
1214         * Makefile.am (check-next): Don't ask for reports from i?86-*-linux*
1215         platforms.
1217 2002-09-30  Bruno Haible  <bruno@clisp.org>
1219         Better Linux/PowerPC support.
1220         * configure.in: Change Linux/PowerPC support.
1221         * src/fault-linux-powerpc.h (SIGSEGV_FAULT_ADDRESS): New macro.
1223 2002-09-30  Bruno Haible  <bruno@clisp.org>
1225         Better Linux/m68k support.
1226         * configure.in: Change Linux/m68k support.
1227         * src/fault-linux-m68k.c: New file.
1228         * src/fault-linux-m68k.h: Use it.
1230 2002-09-30  Bruno Haible  <bruno@clisp.org>
1232         Tentative Hurd support.
1233         * configure.in: Add Hurd support.
1234         * src/signals-hurd.h: New file.
1235         * src/fault-hurd.h: New file.
1237 2002-09-30  Bruno Haible  <bruno@clisp.org>
1239         MacOSX/PowerPC support.
1240         * configure.in: Add MacOSX/PowerPC support.
1241         * src/signals-macos.h: New file.
1242         * src/fault-macos-powerpc.c: New file.
1243         * src/fault-macos-powerpc.h: New file.
1245 2002-09-16  Bruno Haible  <bruno@clisp.org>
1247         * src/fault-posix.h: Don't include <siginfo.h>. Needed for hppa-linux.
1248         Reported by Will Newton <will@misconception.org.uk>.
1250 2002-08-28  Bruno Haible  <bruno@clisp.org>
1252         * Version 2.0 released.
1254 2002-07-28  Bruno Haible  <bruno@clisp.org>
1256         Big reorganization and rewrite. Every file changed.