Improve NetBSD support: Allow VMA determination with fewer system calls.
[libsigsegv/ericb.git] / ChangeLog
blob3aaa479dcc9c6fc56b6ca1276a6a2a57ddc9058d
1 2011-01-23  Bruno Haible  <bruno@clisp.org>
3         Improve NetBSD support: Allow VMA determination with fewer system calls.
4         * src/stackvma-netbsd.c: New file, based on src/stackvma-freebsd.c.
5         * src/stackvma-freebsd.c: Add comment.
6         * src/Makefile.am (EXTRA_DIST): Add stackvma-netbsd.c.
7         * configure.ac (CFG_STACKVMA): Set to stackvma-netbsd.c on NetBSD.
9 2010-11-06  Bruno Haible  <bruno@clisp.org>
11         * Version 2.9 released.
13 2010-11-06  Bruno Haible  <bruno@clisp.org>
15         Bump version number.
16         * configure.ac: Bump version number to 2.9.
17         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
18         * README: Likewise.
19         * src/Makefile.am (LIBSIGSEGV_VERSION_INFO): Bump to 2:2:0.
21 2010-11-06  Bruno Haible  <bruno@clisp.org>
23         Start to use gnulib.
24         * autogen.sh: New option --skip-gnulib. Fetch gnulib if GNULIB_TOOL is
25         not set. Import m4/relocatable-lib.m4.
26         * configure.ac: Invoke gl_RELOCATABLE_NOP instead of
27         AC_RELOCATABLE_NOP.
28         * m4/relocatable.m4: Remove file.
30 2010-11-06  Bruno Haible  <bruno@clisp.org>
32         Modernize autoconf macro style.
33         * configure.ac: Surround all macro arguments in brackets.
34         * m4/getpagesize.m4: Likewise.
35         * m4/mmap-anon.m4: Likewise.
36         * m4/sigaltstack.m4: Likewise.
38 2010-11-06  Bruno Haible  <bruno@clisp.org>
40         Don't list files in .gitignore that are absent after "make distclean".
41         * .gitignore: Complete the list of files that are created by "make" and
42         removed by "make distclean". But comment them out, since they belong in
43         .git/info/exclude. Also remove /autom4te.cache because "make distclean"
44         does not remove it.
46 2010-10-25  Eric Blake  <eblake@redhat.com>
48         Fix powerpc64-unknown-linux-gnu implementation.
49         * src/stackvma-rofile.c (struct rofile): Reduce size, to avoid
50         overflowing alternate stack when compiled under -O2.
51         * src/stackvma-mincore.c (mapped_range_start, mapped_range_end):
52         Likewise.
53         * NEWS: Document the fix.
55 2010-10-24  Eric Blake  <eblake@redhat.com>
56             Bruno Haible  <bruno@clisp.org>
58         Enhance the tests to detect overflow of the alternate stack.
59         * tests/altstack.h: New file.
60         * tests/Makefile.am (EXTRA_DIST): Add altstack.h.
61         * configure.ac: Invoke AC_TYPE_UINTPTR_T.
62         * tests/stackoverflow1.c: Include altstack.h.
63         (SIGSTKSZ): Remove definition.
64         (mystack): Remove definition.
65         (main): Invoke prepare_alternate_stack and
66         check_alternate_stack_no_overflow.
67         * tests/stackoverflow2.c: Likewise.
68         * tests/efault2.c: Likewise.
69         * tests/efault3.c: Likewise.
71 2010-10-21  Eric Blake  <eblake@redhat.com>
73         * .gitignore: Ignore more files.
75 2010-09-23  Bruno Haible  <bruno@clisp.org>
77         * m4/libtool.m4: Update from libtool-2.4.
78         * m4/ltversion.m4: Likewise.
79         * build-aux/ltmain.sh: Likewise.
81 2010-06-04  Bruno Haible  <bruno@clisp.org>
83         * m4/libtool.m4: Update from libtool-2.2.8.
84         * m4/ltoptions.m4: Likewise.
85         * m4/ltversion.m4: Likewise.
86         * m4/lt~obsolete.m4: Likewise.
87         * build-aux/ltmain.sh: Likewise.
89 2010-04-06  Eric Blake  <eblake@redhat.com>
91         * AUTHORS: Add myself.
93 2010-03-30  Bruno Haible  <bruno@clisp.org>
95         * README.woe32: Update for Cygwin 1.7.x.
97 2010-02-18  Bruno Haible  <bruno@clisp.org>
99         Fix 64-bit builds with --enable-shared on MacOS X.
100         * src/stackvma-mach.c (sigsegv_get_vma): On 64-bit MacOS X, use
101         vm_region_64 instead of vm_region.
102         * NEWS: Mention the fix.
103         Reported by Rudá Moura <ruda@rudix.org>.
105 2010-01-31  Bruno Haible  <bruno@clisp.org>
107         * README: Add more homepage links. Add bug report address.
109 2010-01-07  Bruno Haible  <bruno@clisp.org>
111         Improve support for OpenBSD.
112         * src/fault-openbsd-i386.h (SIGSEGV_FAULT_STACKPOINTER): Define
113         differently in 64-bit mode.
114         * src/fault-openbsd-alpha.h: New file.
115         * src/fault-openbsd-arm.h: New file.
116         * src/fault-openbsd-hppa.h: New file.
117         * src/fault-openbsd-m68k.h: New file.
118         * src/fault-openbsd-m88k.h: New file.
119         * src/fault-openbsd-mips.h: New file.
120         * src/fault-openbsd-powerpc.h: New file.
121         * src/fault-openbsd-sh.h: New file.
122         * src/fault-openbsd-sparc.h: New file.
123         * src/fault-openbsd-vax.h: New file.
124         * src/Makefile.am (noinst_HEADERS): Add the new files.
125         * configure.ac (CFG_FAULT): Use these files on OpenBSD.
126         Reported by Paul Irofti <bulibuta@sdf.lonestar.org>.
128 2009-12-11  Bruno Haible  <bruno@clisp.org>
130         * Version 2.8 released.
132 2009-12-11  Bruno Haible  <bruno@clisp.org>
134         * configure.ac: Bump version number to 2.8.
135         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
136         * README: Likewise.
137         * src/Makefile.am (LIBSIGSEGV_VERSION_INFO): Bump to 2:1:0.
139 2009-12-11  Bruno Haible  <bruno@clisp.org>
141         Remove configuration option --enable-EFAULT.
142         * configure.ac (enable_EFAULT): Set to yes on Cygwin, to no otherwise.
143         * README, NEWS: Don't mention --enable-EFAULT.
144         Reported by Eric Blake.
146 2009-12-11  Bruno Haible  <bruno@clisp.org>
148         New test for Cygwin.
149         * tests/cygwin1.c: New file, based on code by Eric Blake.
150         * tests/Makefile.am (TESTS, noinst_PROGRAMS): Add it.
151         * configure.ac (CYGWIN): New conditional.
153 2009-11-21  Eric Blake  <ebb9@byu.net>
154             Bruno Haible  <bruno@clisp.org>
156         New configuration option --enable-EFAULT.
157         * configure.ac: Accept option --enable-EFAULT. Set and define
158         ENABLE_EFAULT. Invoke SV_SYSCALLS_EFAULT.
159         For Cygwin, use the CFG_FAULT that was already determined, or
160         fault-cygwin-old.h if none. In the latter case, define
161         OLD_CYGWIN_WORKAROUND.
162         * m4/efault.m4: New file.
163         * src/handler-win32.c [CYGWIN && ENABLE_EFAULT]: Include
164         handler-unix.c.
165         (MIXING_UNIX_SIGSEGV_AND_WIN32_STACKOVERFLOW_HANDLING): New macro.
166         (last_seen_fault_address): New variable.
167         (main_exception_filter): Store the fault address for the Unix signal
168         handler.
169         (sigsegv_install_handler): Redefine.
170         (sigsegv_deinstall_handler, sigsegv_leave_handler): Don't define.
171         * src/handler-unix.c (stackoverflow_install_handler,
172         stackoverflow_deinstall_handler): Don't define if
173         MIXING_UNIX_SIGSEGV_AND_WIN32_STACKOVERFLOW_HANDLING is set.
174         * src/fault-cygwin-old.h: New file.
175         * src/Makefile.am (noinst_HEADERS): Add it.
176         * tests/efault1.c: New file.
177         * tests/efault2.c: New file.
178         * tests/efault3.c: New file.
179         * tests/Makefile.am (TESTS, noinst_PROGRAMS): Add efault1, efault2,
180         efault3.
181         * README, NEWS: Mention the new option.
183 2009-11-21  Bruno Haible  <bruno@clisp.org>
185         Support for Cygwin 1.7.
186         * configure.ac: For Cygwin and mingw, choose FAULT_CONTEXT in a way
187         that is consistent with CFD_HANDLER.
188         Reported by Eric Blake <ebb9@byu.net>
190 2009-11-21  Bruno Haible  <bruno@clisp.org>
192         * configure.ac: Add comments and structure.
194 2009-11-21  Bruno Haible  <bruno@clisp.org>
196         Reduce size of configure.ac.
197         * m4/stack-direction.m4: New file, extracted from configure.ac.
198         * configure.ac: Simply invoke SV_STACK_DIRECTION.
200 2009-11-21  Eric Blake  <ebb9@byu.net>
201             Bruno Haible  <bruno@clisp.org>
203         Avoid a gcc warning.
204         * src/handler-win32.c (debug_get_except_list): Mark as unused.
206 2009-11-21  Bruno Haible  <bruno@clisp.org>
208         Fix compilation error on newer versions of HP-UX 11.31 on ia64.
209         * configure.ac: Set sv_cv_have_stack_overflow_recovery to 'no' if it is
210         not possible to longjmp out of the signal handler. On HP-UX 11.31 on
211         ia64 it is only possible with siglongjmp (as far as we know).
212         Reported by Bill Glessner <bill.glessner@cwu.edu>.
214         * configure.ac: Move determination of CFG_LEAVE before the
215         determination of sv_cv_have_stack_overflow_recovery.
217 2009-10-17  Bruno Haible  <bruno@clisp.org>
219         * README: Mention danger of longjmping back to a central point.
220         Reported by Angelo Borsotti <angelo.borsotti@gmail.com>.
222 2009-09-22  Paolo Bonzini  <bonzini@gnu.org>
224         Move more declarations of alternate stacks to global scope.
225         * m4/sigaltstack-longjmp.m4: Make mystack global.
226         * m4/sigaltstack-siglongjmp.m4: Make mystack global.
227         * m4/sigaltstack.m4: Make mystack global.
229 2009-09-22  Paolo Bonzini  <bonzini@gnu.org>
231         Fix crash of stackoverflow2 on x86_64-linux.
232         * tests/stackoverflow1.c: Make mystack global.
233         * tests/stackoverflow2.c: Likewise.
234         * src/sigsegv.h.in: Warn against placing the alternate stack
235         on the main stack.
237 2009-08-16  Bruno Haible  <bruno@clisp.org>
239         Avoid a gcc warning on Solaris.
240         * src/stackvma-procfs.c: Include <string.h>.
242 2009-08-14  Bruno Haible  <bruno@clisp.org>
244         Remove config.guess, config.sub from from version control.
245         * autogen.sh: Fetch config.guess, config.sub.
246         * build-aux/config.guess: Remove file.
247         * build-aux/config.sub: Remove file.
249 2009-08-14  Bruno Haible  <bruno@clisp.org>
251         Remove autogenerated files from version control.
252         * autogen.sh: New file.
253         * aclocal.m4: Remove file.
254         * configure: Remove file.
255         * config.h.in: Remove file.
256         * Makefile.in: Remove file.
257         * src/Makefile.in: Remove file.
258         * tests/Makefile.in: Remove file.
259         * build-aux/install-sh: Remove file.
260         * build-aux/missing: Remove file.
261         * config.h.msvc: Remove file.
262         * src/sigsegv.h.msvc: Remove file.
264 2009-08-14  Bruno Haible  <bruno@clisp.org>
266         Override automake's tar command used for creating distributions.
267         * configure.ac (am__tar): New variable.
269 2009-08-09  Bruno Haible  <bruno@clisp.org>
271         * Version 2.7 released.
273 2009-08-09  Bruno Haible  <bruno@clisp.org>
275         * configure.ac: Bump version number to 2.7.
276         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
277         * src/Makefile.am (LIBSIGSEGV_VERSION_INFO): Bump to 2:0:0.
279 2009-08-09  Bruno Haible  <bruno@clisp.org>
281         * src/fault-linux-powerpc.h (SIGSEGV_FAULT_STACKPOINTER): Fix mistake.
283 2009-08-09  Bruno Haible  <bruno@clisp.org>
285         Avoid warnings on glibc systems.
286         * src/stackvma-mincore.c (pageinfo_t): New type.
287         (is_mapped, mapped_range_start, mapped_range_end): Use it.
289 2009-08-01  Bruno Haible  <bruno@clisp.org>
291         Prefer the POSIX way over the traditional one, on Linux.
292         * configure.ac: Use the traditional Linux way only if the POSIX way
293         does not work.
294         * NEWS: Mention the change.
296 2009-08-01  Bruno Haible  <bruno@clisp.org>
298         Add knowledge where to find the stack pointer on Linux platforms.
299         * src/fault-linux-alpha.h: New file.
300         * src/fault-linux-arm.h: New file.
301         * src/fault-linux-cris.h: New file.
302         * src/fault-linux-hppa.h: New file.
303         * src/fault-linux-i386.h: New file.
304         * src/fault-linux-ia64.h: New file.
305         * src/fault-linux-m68k.h: New file.
306         * src/fault-linux-mips.h: New file.
307         * src/fault-linux-powerpc.h: New file.
308         * src/fault-linux-s390.h: New file.
309         * src/fault-linux-sh.h: New file.
310         * src/fault-linux-sparc.h: New file.
311         * src/Makefile.am (noinst_HEADERS): Add them.
312         * src/handler-unix.c (_GNU_SOURCE): Define.
313         * src/fault-linux-hppa-old.h: Add alternative code, commented.
314         * src/fault-linux-sparc-old.h: Likewise.
315         * configure.ac (CFG_FAULT): Use these files on Linux when the POSIX way
316         of catching page faults works.
318 2009-08-01  Bruno Haible  <bruno@clisp.org>
320         * src/fault-linux-i386-old.h: Renamed from src/fault-linux-i386.h.
321         * src/Makefile.am (noinst_HEADERS): Update.
322         * configure.ac: Update.
324         * src/fault-linux-i386-oldold.h: Renamed from
325         src/fault-linux-i386-old.h.
326         * src/Makefile.am (noinst_HEADERS): Update.
327         * configure.ac: Update.
329         * src/fault-linux-alpha-old.h: Renamed from src/fault-linux-alpha.h.
330         * src/fault-linux-arm-old.h: Renamed from src/fault-linux-arm.h.
331         * src/fault-linux-cris-old.h: Renamed from src/fault-linux-cris.h.
332         * src/fault-linux-hppa-old.h: Renamed from src/fault-linux-hppa.h.
333         * src/fault-linux-ia64-old.h: Renamed from src/fault-linux-ia64.h.
334         * src/fault-linux-m68k-old.c: Renamed from src/fault-linux-m68k.c.
335         * src/fault-linux-m68k-old.h: Renamed from src/fault-linux-m68k.h.
336         Update.
337         * src/fault-linux-mips-old.h: Renamed from src/fault-linux-mips.h.
338         * src/fault-linux-powerpc-old.h: Renamed from src/fault-linux-powerpc.h.
339         * src/fault-linux-s390-old.h: Renamed from src/fault-linux-s390.h.
340         * src/fault-linux-sh-old.h: Renamed from src/fault-linux-sh.h.
341         * src/fault-linux-sparc-old.h: Renamed from src/fault-linux-sparc.h.
342         * src/fault-linux-x86_64-old.h: Renamed from src/fault-linux-x86_64.h.
343         * src/Makefile.am (noinst_HEADERS): Update.
344         * configure.ac: Update.
346 2009-06-23  Bruno Haible  <bruno@clisp.org>
348         * Makefile.am (check-next): No longer ask for copies of config.log.
350 2009-06-23  Bruno Haible  <bruno@clisp.org>
352         Improve support for MirBSD 10.
353         * configure.ac (CFG_FAULT, FAULT_CONTEXT): Treat MirBSD/i386 like
354         OpenBSD/i386.
356 2009-06-23  Bruno Haible  <bruno@clisp.org>
358         Add support for platforms that follow POSIX:2008, not POSIX:2001.
359         * configure.ac (POSIX): Add MirBSD to known list.
360         (CFG_FAULT, FAULT_CONTEXT, FAULT_CONTEXT_INCLUDE): Define appropriately
361         when <ucontext.h> does not exist.
362         * src/fault-posix-ucontext.h: Renamed from src/fault-posix.h.
363         * src/fault-posix.h: New file.
364         * src/fault-aix5.h: Update.
365         * src/fault-hpux-hppa.h: Update.
366         * src/fault-netbsd.h: Update.
367         * src/fault-solaris.h: Update.
368         * src/Makefile.am (noinst_HEADERS): Add fault-posix-ucontext.h.
370 2009-06-23  Bruno Haible  <bruno@clisp.org>
372         * configure.ac (FAULT_CONTEXT_INCLUDE): Reinstall the AC_SUBST
373         invocation.
375 2009-05-21  Bruno Haible  <bruno@clisp.org>
377         * configure.ac (FAULT_CONTEXT_INCLUDE): Don't substitute into
378         Makefiles.
380 2009-05-21  Bruno Haible  <bruno@clisp.org>
382         * tests/Makefile.am (AUTOMAKE_OPTIONS): Assume automake >= 1.11.
383         Use color-tests option.
385 2009-01-14  Bruno Haible  <bruno@clisp.org>
387         * configure.ac: More consistent m4 quoting.
389 2008-09-27  Bruno Haible  <bruno@clisp.org>
391         * build-aux/config.sub: Update to GNU version 2008-09-08.
393 2008-09-23  Eric Blake  <ebb9@byu.net>
395         Use 2 * SIGSTKSZ consistently in configuration checks.
396         * m4/sigaltstack.m4 (SV_SIGALTSTACK): Work around IRIX sigaltstack bug.
397         * m4/sigaltstack-longjmp.m4 (SV_TRY_LEAVE_HANDLER_LONGJMP): Likewise.
398         * m4/sigaltstack-siglongjmp.m4 (SV_TRY_LEAVE_HANDLER_SIGLONGJMP):
399         Likewise.
401 2008-09-21  Bruno Haible  <bruno@clisp.org>
403         * src/Makefile.am (LIBSIGSEGV_VERSION_INFO): New variable.
404         (libsigsegv_la_LDFLAGS): Pass -rpath and -version-info option.
405         Reported by Thomas Klausner <tk@giga.or.at>.
407 2008-09-21  Eric Blake  <ebb9@byu.net>
408             Bruno Haible  <bruno@clisp.org>
410         Detect and work around bug in Irix 5.3 sigaltstack.
411         * m4/sigaltstack.m4 (SV_SIGALTSTACK): Test for broken stack_t direction
412         in sigaltstack.
413         * src/handler-unix.c (stackoverflow_install_handler): Adjust stack
414         accordingly.
415         * tests/stackoverflow1.c (stack_lower_bound, stack_upper_bound): New
416         variables.
417         (stackoverflow_handler): Use them to expose IRIX bug.
418         (main): Initialize them.
420 2008-09-07  Bruno Haible  <bruno@clisp.org>
422         * m4/libtool.m4: Update from libtool-2.2.6.
423         * m4/ltoptions.m4: Likewise.
424         * m4/ltsugar.m4: Likewise.
425         * m4/ltversion.m4: Likewise.
426         * build-aux/ltmain.sh: Likewise.
428 2008-08-25  Bruno Haible  <bruno@clisp.org>
430         * Version 2.6 released.
432 2008-08-24  Bruno Haible  <bruno@clisp.org>
434         * configure.ac: Treat Dragonfly BSD platforms like FreeBSD.
435         Reported by Thomas Klausner <tk@giga.or.at>.
437 2008-08-24  Bruno Haible  <bruno@clisp.org>
439         * src/stackvma-mincore.c (mincore_is_near_this): Improve logic. Needed
440         for reliable NULL pointer access classification as SIGSEGV on AIX 4.3.
442 2008-08-24  Bruno Haible  <bruno@clisp.org>
444         * m4/sigaltstack.m4: Change 'volatile int' return type to 'int'. Needed
445         for AIX 4.3 xlc.
446         * m4/sigaltstack-longjmp.m4: Likewise.
447         * m4/sigaltstack-siglongjmp.m4: Likewise.
448         * tests/stackoverflow1.c (recurse): Likewise.
449         * tests/stackoverflow2.c (recurse): Likewise.
451 2008-08-24  Bruno Haible  <bruno@clisp.org>
453         * tests/sigsegv1.c: Include <config.h>.
454         * tests/sigsegv2.c: Likewise.
455         * tests/sigsegv3.c: Include <config.h> before all other headers.
456         * tests/stackoverflow1.c: Likewise.
457         * tests/stackoverflow2.c: Likewise.
459 2008-08-24  Bruno Haible  <bruno@clisp.org>
461         Fix the sigsegv3 test on MacOS X.
462         * src/sigsegv.h.in (sigsegv_leave_handler): Take 4 arguments.
463         * NEWS: Mention the change.
464         * src/handler-macos.c (our_exception_thread, signalled_thread): New
465         variables.
466         (catch_exception_raise): Set signalled_thread during the user_handler
467         invocation.
468         (mach_exception_thread): Initialize our_exception_thread.
469         (sigsegv_leave_handler): Take 4 arguments. When called from within
470         the exception thread, let the signalled thread do a hyperjump.
471         * src/handler-unix.c (sigsegv_leave_handler): Take 4 arguments.
472         * src/handler-win32.c (sigsegv_leave_handler): Likewise.
473         * src/handler-none.c (sigsegv_leave_handler): Likewise.
474         * src/machfault-macos.h (SIGSEGV_INTEGER_ARGUMENT_1,
475         SIGSEGV_INTEGER_ARGUMENT_2, SIGSEGV_INTEGER_ARGUMENT_3,
476         SIGSEGV_FRAME_POINTER): New macros.
477         * tests/sigsegv3.c (handler_continuation): New function.
478         (handler): Update to new API.
479         * tests/stackoverflow1.c (stackoverflow_handler_continuation): New
480         function.
481         (stackoverflow_handler): Update to new API.
482         * tests/stackoverflow2.c (stackoverflow_handler_continuation): New
483         function.
484         (stackoverflow_handler, sigsegv_handler): Update to new API.
486 2008-08-24  Bruno Haible  <bruno@clisp.org>
488         Test the use of sigsegv_leave_handler from within a SIGSEGV handler.
489         * tests/sigsegv3.c: New file.
490         * tests/Makefile.am (TESTS, noinst_PROGRAMS): Add sigsegv3.
492 2008-08-23  Eric Blake  <ebb9@byu.net>
494         * src/Makefile.am (noinst_HEADERS): Remove machfault-macos-powerpc.h
495         and machfault-macos-i386.h. Add machfault-macos.h.
497 2008-08-17  Bruno Haible  <bruno@clisp.org>
499         Allow building universal binaries on MacOS X.
500         * src/machfault-macos.h: New file, combining
501         src/machfault-macos-powerpc.h and src/machfault-macos-i386.h.
502         * src/machfault-macos-powerpc.h: Remove file.
503         * src/machfault-macos-i386.h: Remove file.
504         * configure.ac (CFG_MACHFAULT): Set to machfault-macos.h.
505         (FAULT_CONTEXT_INCLUDE) [MacOSX]: Set to #ifdefs for all four possible
506         architectures.
508 2008-07-20  Bruno Haible  <bruno@clisp.org>
510         Make sigsegv_get_vma async-safe.
511         * src/sigsegv.h.in (sigsegv_handler_t, stackoverflow_handler_t):
512         Mention async-safety constraints.
513         + src/stackvma-rofile.c: New file.
514         * src/stackvma-freebsd.c: Include stackvma-rofile.c.
515         (sigsegv_get_vma): Use struct rofile instead of FILE.
516         * src/stackvma-linux.c: Include stackvma-rofile.c.
517         (sigsegv_get_vma): Use struct rofile instead of FILE.
518         * src/stackvma-procfs.c: Include <sys/mman.h> instead of <stdlib.h> and
519         <stdio.h>.
520         (sigsegv_get_vma): Avoid using sprintf. Ensure pagesize is initialized.
521         Use mmap/munmap instead of malloc/free.
522         * src/Makefile.am (EXTRA_DIST): Add stackvma-rofile.c.
523         Reported by Eric Blake <ebb9@byu.net>.
525 2008-07-20  Bruno Haible  <bruno@clisp.org>
527         * src/handler-unix.c (sigsegv_handler): Preserve errno.
529 2008-07-20  Eric Blake  <ebb9@byu.net>
531         * src/stackvma-mincore.c (mincore_is_near_this): Fix logic.
533 2008-07-20  Bruno Haible  <bruno@clisp.org>
535         * tests/stackoverflow2.c (main): Test also a NULL pointer access.
536         Reported by Eric Blake <ebb9@byu.net>.
538 2008-06-23  Bruno Haible  <bruno@clisp.org>
540         * build-aux/config.guess: Update to GNU version 2008-06-16.
541         * build-aux/config.sub: Likewise.
543 2008-05-31  Bruno Haible  <bruno@clisp.org>
545         Make cross-compile from MacOS X 10.5 to MacOS X 10.4 work.
546         * src/handler-macos.c (MacOS_X_10_5_HEADERS): New macro.
547         * src/machfault-macos-i386.h: Use it.
548         * src/machfault-macos-powerpc.h: Likewise.
549         Reported by Dr Tomaž Slivnik <slivnik@tomaz.name>.
551 2008-05-31  Bruno Haible  <bruno@clisp.org>
553         * m4/mmap-anon.m4 (SV_MMAP_ANON): Add known cross-compile results for
554         MacOS X.
555         Reported by Dr Tomaž Slivnik <slivnik@tomaz.name>.
557 2008-05-27  Bruno Haible  <bruno@clisp.org>
559         * configure.ac: Require at least autoconf 2.62. Merge
560         FAULT_CONTEXT_INCLUDE2 variable into FAULT_CONTEXT_INCLUDE.
561         * src/sigsegv.h.in: Remove FAULT_CONTEXT_INCLUDE2 substitution.
562         * src/Makefile.am (sigsegv.h.msvc): Update.
564 2008-05-27  Bruno Haible  <bruno@clisp.org>
566         * configure.ac: Bump version number to 2.6.
567         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
569 2008-05-27  Bruno Haible  <bruno@clisp.org>
571         Support for 64-bit mode on MacOS X 10.5.
572         * src/handler-macos.c (catch_exception_raise): Align the stack pointer
573         also on x86_64. Needed for MMX instructions.
574         * src/machfault-macos-i386.h: Choose among 64-bit and 32-bit flavours.
575         Use new names for the 32-bit flavour when possible.
576         * src/machfault-macos-powerpc.h: Choose among 64-bit and 32-bit
577         flavours.
578         * configure.ac (FAULT_CONTEXT, FAULT_CONTEXT_INCLUDE2): Choose
579         right flavour (ppc_thread_state_t/ppc_thread_state64_t or
580         i386_thread_state_t/x86_thread_state32_t/x86_thread_state64_t) at
581         compile time.
583 2008-05-18  Bruno Haible  <bruno@clisp.org>
585         * m4/libtool.m4: Update from libtool-2.2.4.
586         * m4/ltoptions.m4: Likewise.
587         * m4/ltversion.m4: Likewise.
588         * m4/lt~obsolete.m4: Likewise.
589         * build-aux/ltmain.sh: Likewise.
591 2008-04-06  Bruno Haible  <bruno@clisp.org>
593         * m4/libtool.m4: Update from libtool-2.2.2.
594         * m4/ltoptions.m4: New file, from libtool-2.2.2.
595         * m4/ltsugar.m4: New file, from libtool-2.2.2.
596         * m4/ltversion.m4: New file, from libtool-2.2.2.
597         * m4/lt~obsolete.m4: New file, from libtool-2.2.2.
598         * build-aux/ltmain.sh: New file, from libtool-2.2.2.
599         * configure.ac: Use LT_INIT instead of AC_PROG_LIBTOOL.
601 2007-11-16  Bruno Haible  <bruno@clisp.org>
603         * src/fault-freebsd-i386.h (SIGSEGV_FAULT_STACKPOINTER): Use sc_rsp
604         also on x86_64-freebsd platform.
605         Reported by Dmitri Hrapof <hrapof@common-lisp.ru> and
606         Petr Salinger <Petr.Salinger@seznam.cz>.
608 2007-11-15  Bruno Haible  <bruno@clisp.org>
610         * configure.ac (CFG_SIGNALS, CFG_FAULT): Port to i586-kfreebsd-gnu
611         and x86_64-kfreebsd-gnu.
612         * src/fault-freebsd-i386.h (SIGSEGV_FAULT_STACKPOINTER): Likewise.
613         Based on patch by Petr Salinger <Petr.Salinger@seznam.cz>.
615 2007-11-11  Bruno Haible  <bruno@clisp.org>
617         * Version 2.5 released.
619 2007-11-11  Bruno Haible  <bruno@clisp.org>
621         * configure.ac: Bump version number to 2.5.
622         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
624 2007-10-28  Bruno Haible  <bruno@clisp.org>
626         * src/handler-macos.c (catch_exception_raise): Align the new stack
627         pointer on a 16-byte boundary.
628         * src/handler-win32.c (main_exception_filter): Correct alignment:
629         %esp must be aligned to == -4 mod 16 upon function entry.
631 2007-10-28  Bruno Haible  <bruno@clisp.org>
633         * src/sigsegv.h.in (stackoverflow_install_handler): Avoid comment
634         inside comment.
635         Reported by Chris Willmore <willmc@rpi.edu>.
637 2007-10-28  Bruno Haible  <bruno@clisp.org>
639         * src/machfault-macos-powerpc.h (SIGSEGV_FAULT_ADDRESS,
640         SIGSEGV_STACK_POINTER, SIGSEGV_PROGRAM_COUNTER): Add __DARWIN_UNIX03
641         conditional.
642         * src/machfault-macos-i386.h (SIGSEGV_FAULT_ADDRESS,
643         SIGSEGV_STACK_POINTER, SIGSEGV_PROGRAM_COUNTER): Likewise.
644         * src/fault-macosdarwin7-powerpc.h (SIGSEGV_FAULT_STACKPOINTER):
645         Likewise.
646         * src/fault-macosdarwin7-powerpc.c (get_fault_addr): Likewise.
647         Reported by Chris Willmore <willmc@rpi.edu>.
649 2007-01-12  Bruno Haible  <bruno@clisp.org>
651         * Makefile.am (check-next): Don't ask for reports from x86_64-*-linux*
652         platforms.
654 2006-07-14  Bruno Haible  <bruno@clisp.org>
656         * m4/sigaltstack.m4 (SV_SIGALTSTACK): Use SIGSTKSZ instead of
657         hardcoding 16384.
658         * m4/sigaltstack-longjmp.m4 (SV_TRY_LEAVE_HANDLER_LONGJMP): Likewise.
659         * m4/sigaltstack-siglongjmp.m4 (SV_TRY_LEAVE_HANDLER_SIGLONGJMP):
660         Likewise.
661         * tests/stackoverflow1.c (main): Likewise.
662         * tests/stackoverflow2.c (main): Likewise.
663         * src/sigsegv.h.in (stackoverflow_install_handler): Update
664         recommendation for extra_stack_size.
665         Needed for ia64.
666         Reported by Peter Van Eynde <pvaneynd@users.sourceforge.net>.
668 2006-06-23  Bruno Haible  <bruno@clisp.org>
670         * Version 2.4 released.
672 2006-06-23  Bruno Haible  <bruno@clisp.org>
674         * configure.ac: Bump version number to 2.4.
675         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
677 2006-06-17  Bruno Haible  <bruno@clisp.org>
679         * src/Makefile.am (noinst_HEADERS): Add fault-netbsd.h.
681 2006-06-17  Bruno Haible  <bruno@clisp.org>
683         * m4/sigaltstack.m4: Insert 'volatile' and pass a pointer, to defeat
684         GCC 4 optimizations.
685         * m4/sigaltstack-longjmp.m4: Likewise.
686         * m4/sigaltstack-siglongjmp.m4: Likewise.
688 2006-06-17  Bruno Haible  <bruno@clisp.org>
690         * tests/stackoverflow1.c (recurse): Remove useless cast.
691         * tests/stackoverflow2.c (recurse): Likewise.
693 2006-06-17  Bruno Haible  <bruno@clisp.org>
695         * src/stackvma-freebsd.c (sigsegv_get_vma): Test whether mincore()
696         works as expected before using it.
698 2006-03-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
700         * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ]: Avoid warning when
701         "parsing" /etc/ld.so.conf and empty /etc/ld.so.conf.d.
703 2006-06-13  Bruno Haible  <bruno@clisp.org>
705         Make NetBSD/i386 stack overflow detection work even without mincore.
706         * src/fault-netbsd.h: New file.
707         * configure.ac (CFG_FAULT): Choose it when appropriate.
709 2006-05-16  Bruno Haible  <bruno@clisp.org>
711         Don't allow the compiler to reorder instructions in the tests.
712         * tests/sigsegv1.c (crashes): Use volatile in pointer access.
713         * tests/sigsegv2.c (main): Likewise.
714         * tests/stackoverflow2.c (main): Likewise.
716 2006-05-14  Bruno Haible  <bruno@clisp.org>
718         Exploit the mincore() system call where available.
719         * src/stackvma-mincore.c: New file.
720         * src/Makefile.am (EXTRA_DIST): Add it.
721         * src/stackvma.h: Add double-inclusion guard.
722         * src/stackvma-freebsd.c: If mincore() is available, include also
723         stackvma-mincore.c.
724         (sigsegv_get_vma): If mincore() is available, use it as fallback.
725         * src/stackvma-linux.c: If mincore() is available, include also
726         stackvma-mincore.c.
727         (sigsegv_get_vma): If mincore() is available, use it as fallback.
728         * src/stackvma-procfs.c: If mincore() is available, include also
729         stackvma-mincore.c.
730         (sigsegv_get_vma): If mincore() is available, use it as fallback.
731         * configure.ac: Test for mincore.
732         (CFG_STACKVMA): Set to stackvma-mincore.c if nothing else is available.
734 2006-05-14  Bruno Haible  <bruno@clisp.org>
736         * src/stackvma-simple.c: New file, extracted from handler-unix.c.
737         * src/Makefile.am (EXTRA_DIST): Add it.
738         * src/stackvma-beos.c: Include stackvma-simple.c.
739         (sigsegv_get_vma): Fill the vma's is_near_this field.
740         * src/stackvma-freebsd.c: Include stackvma-simple.c.
741         (sigsegv_get_vma): Fill the vma's is_near_this field.
742         * src/stackvma-linux.c: Include stackvma-simple.c.
743         (sigsegv_get_vma): Fill the vma's is_near_this field.
744         * src/stackvma-mach.c: Include stackvma-simple.c.
745         (sigsegv_get_vma): Fill the vma's is_near_this field.
746         * src/stackvma-procfs.c: Include stackvma-simple.c.
747         (sigsegv_get_vma): Fill the vma's is_near_this field.
748         * src/stackvma.h (vma_struct): Add is_near_this field.
749         * src/handler-unix.c (sigsegv_handler): Use the vma's is_near_this
750         function.
752 2006-04-28  Bruno Haible  <bruno@clisp.org>
754         * Version 2.3 released.
756 2006-04-28  Bruno Haible  <bruno@clisp.org>
758         * configure.ac: Bump version number to 2.3.
759         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
761         * build-aux/config.guess, build-aux/config.sub: Update to GNU version
762         2006-04-26.
764         * build-aux/install-sh: Update from automake-1.9.6.
765         * build-aux/missing: Likewise.
767         * build-aux/ltmain.sh: Update from libtool-1.5.22.
768         * m4/libtool.m4: Likewise.
770 2006-04-28  Bruno Haible  <bruno@clisp.org>
772         * build-aux: Renamed from autoconf.
773         * configure.ac (AC_CONFIG_AUX_DIR): Set to build-aux.
775 2006-04-22  Bruno Haible  <bruno@clisp.org>
777         * configure.ac: Renamed from configure.in.
779 2006-04-21  Bruno Haible  <bruno@clisp.org>
781         * src/machfault-macos-i386.h: Rewritten for Darwin 8.6.1.
782         * configure.in: Change FAULT_CONTEXT for i?86-darwin.
784 2005-06-21  Paolo Bonzini  <bonzini@gnu.org>
786         * configure.in: For handler-macos.c, include mach/thread_status.h.
787         * configure: Regenerate.
789 2005-06-21  Paolo Bonzini  <bonzini@gnu.org>
791         * tests/stackoverflow1.c (recurse): Make more resilient to compiler
792         optimization.
793         (recurse_1): New.
794         * tests/stackoverflow2.c: Likewise.
796 2005-05-24  Bruno Haible  <bruno@clisp.org>
798         * src/handler-win32.c (main_exception_filter): Copy CONTEXT structure
799         to safe area on the stack.
800         Based on patch by Doug Currie <e@flavors.com>.
802         * src/handler-win32.c (main_exception_filter): Swap arguments passed
803         to stack_overflow_handler.
804         Patch by Doug Currie <e@flavors.com>.
806         * src/handler-win32.c (main_exception_filter): Align %esp on a 16-byte
807         boundary.
809 2005-03-02  Bruno Haible  <bruno@clisp.org>
811         * Version 2.2 released.
813 2005-03-02  Bruno Haible  <bruno@clisp.org>
815         * autoconf/config.guess: Update.
816         * autoconf/config.sub: Update.
817         * autoconf/missing: Update from automake-1.9.5.
819         * m4/libtool.m4: Upgrade to libtool-1.5.14 with gettext modifications.
820         * autoconf/ltmain.sh: Likewise.
822 2005-03-02  Bruno Haible  <bruno@clisp.org>
824         * src/fault-aix5.h: New file.
825         * src/fault-aix5-powerpc.h: New file.
826         * src/Makefile.am (noinst_HEADERS): Add them.
827         * configure.in: Choose them when the POSIX test succeeds on AIX.
829         * src/fault-aix3-powerpc.h: Renamed from src/fault-aix-powerpc.h.
830         * src/fault-aix3.h: Renamed from src/fault-aix.h.
831         * src/Makefile.am (noinst_HEADERS): Update.
832         * configure.in: Update. When cross-compiling, assume the AIX test
833         succeeds only on AIX 3 and AIX 4.
835 2005-03-01  Bruno Haible  <bruno@clisp.org>
837         * configure.in: Fix test of CFG_MACHFAULT.
839 2005-02-27  Bruno Haible  <bruno@clisp.org>
841         * configure.in: Skip tests that are not needed on MacOS X >= 10.2.
842         * m4/sigaltstack.m4 (SV_SIGALTSTACK): Don't perform the test on
843         MacOS X >= 10.2.
845 2005-02-18  Bruno Haible  <bruno@clisp.org>
847         * tests/sigsegv1.c (handler_called): Declare as volatile.
848         * tests/sigsegv2.c (logcount, logdata): Likewise.
849         * tests/stackoverflow1.c (pass): Likewise.
850         * tests/stackoverflow2.c (pass): Likewise.
852 2005-01-29  Bruno Haible  <bruno@clisp.org>
854         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): New macro.
855         (libsigsegv_version): New declaration.
856         * src/version.c: New file.
857         * src/Makefile.am (libsigsegv_la_SOURCES): Add version.c.
858         * Makefile.msvc (OBJECTS): Add version.obj.
859         (version.obj): New rule.
860         Suggested by Sam Steingold.
862 2004-08-25  Bruno Haible  <bruno@clisp.org>
864         * m4/libtool.m4: Upgrade to libtool-1.5.6.
865         * autoconf/ltmain.sh: Upgrade to libtool-1.5.6.
867 2004-08-18  Bruno Haible  <bruno@clisp.org>
869         * configure.in: Bump version number to 2.2.
871 2004-08-17  Bruno Haible  <bruno@clisp.org>
873         Finish the Mach-based MacOS X support.
874         * src/handler-macos.c: Don't include mach/vm_map.h.
875         Include machfault.h instead of fault.h.
876         (save_exc_state): Remove variable.
877         (save_thread_state): New variable.
878         (terminating_handler): New function.
879         (altstack_handler): Pass the save_thread_state, not the save_exc_state,
880         to the user's handler.
881         (catch_exception_raise): Make it work also for platforms which don't
882         have an exc_state type. Call SIGSEGV_FAULT_ADDRESS with 2 arguments.
883         Don't clobber the exc_state; instead set the thread's program counter
884         to terminating_handler or altstack_handler, depending on the case.
885         Return KERN_SUCCESS at the end.
886         * src/machfault.h: New file.
887         * src/machfault-macos-powerpc.h (SIGSEGV_FAULT_ADDRESS): Add a second
888         argument.
889         * src/machfault-macos-i386.h: New file.
890         * src/Makefile.am (EXTRA_DIST): Add handler-macos.c.
891         (NOINST_HEADERS): Add machfault.h, machfault-macos-i386.h,
892         machfault-macos-powerpc.h.
893         * configure.in (CFG_HANDLER): Initialize to empty.
894         (CFG_MACHFAULT): New substituted variable.
895         On MacOS X PowerPC+i386, use CFG_HANDLER=handler-macos.c
896         unconditionally.
897         (sv_cv_fault_include, sv_cv_have_stack_overflow_recovery): Set
898         correctly also in the handler-macos.c case.
900 2004-08-16  Bruno Haible  <bruno@clisp.org>
902         Support for MacOS X 10.3 on PowerPC.
903         * src/fault-macosdarwin5-powerpc.h: Renamed from
904         src/fault-macos-powerpc.h.
905         * src/fault-macosdarwin5-powerpc.c: Renamed from
906         src/fault-macos-powerpc.c.
907         * src/fault-macosdarwin7-powerpc.h: New file.
908         * src/fault-macosdarwin7-powerpc.c: New file.
909         * src/Makefile.am (noinst_HEADERS): Update.
910         * configure.in: Test the method for MacOSX/Darwin5 PowerPC only after
911         the method for MacOSX/Darwin7 PowerPC failed.
912         Substitute FAULT_CONTEXT_INCLUDE2.
913         * src/sigsegv.h.in: Insert @FAULT_CONTEXT_INCLUDE2@.
914         * src/Makefile.am (sigsegv.h.msvc): Replace @FAULT_CONTEXT_INCLUDE2@.
916 2003-12-09  Paolo Bonzini  <bonzini@gnu.org>
918         * src/handler-macos.c: Completed; removed dependency on
919         signals.
920         * src/machfault-macos-powerpc.h: Reorganized.
922 2003-12-08  Paolo Bonzini  <bonzini@gnu.org>
923             Bruno Haible  <bruno@clisp.org>
925         * src/handler-macos.c: New file.
926         * src/machfault.h: New file.
927         * src/machfault-macos-powerpc.h: New file.
929 2003-12-05  Bruno Haible  <bruno@clisp.org>
931         * m4/fault.m4: Tweak indentation. Bump serial number.
932         * m4/getpagesize.m4: Likewise.
933         * m4/mmap-anon.m4: Likewise.
934         * m4/sigaltstack.m4: Likewise.
935         * m4/sigaltstack-longjmp.m4: Likewise.
936         * m4/sigaltstack-siglongjmp.m4: Likewise.
938 2003-12-05  Paolo Bonzini  <bonzini@gnu.org>
940         * aclocal.m4: Regenerate with Automake 1.7h.
941         * configure.in: Drop m4/Makefile from list of generated files.
942         * configure: Regenerate.
943         * Makefile.am (install-data-hook): New name of the install-am
944         target, for Automake 1.8 compatibility.  Other -am targets
945         are not affected because Automake does not have anything to
946         do to make them.
947         (AUTOMAKE_OPTIONS): Bump minimum Automake requirement to 1.7h.
948         (SUBDIRS): Remove m4.
949         ($(srcdir)/config.h.msvc): New target for config.h.msvc.
950         * Makefile.in: Regenerate with Automake 1.7h.
951         * m4/Makefile.am: Delete, Automake 1.7h takes care of it.
952         * m4/Makefile.in: Delete.
953         * src/Makefile.am (installdirs): Delete, Automake 1.7h adds it.
954         * src/Makefile.in: Regenerate with Automake 1.7h.
955         * tests/Makefile.in: Regenerate with Automake 1.7h.
957         * autoconf/config.guess: Update from automake-1.7h.
958         * autoconf/config.sub: Likewise.
959         * autoconf/install.sh: Likewise.
960         * autoconf/missing: Likewise.
961         * autoconf/mkinstalldirs: Delete.
962         * m4/fault.m4: autoupdate and manually tweak.
963         * m4/sigaltstack.m4: Likewise.
964         * m4/sigaltstack-longjmp.m4: Likewise.
965         * m4/sigaltstack-siglongjmp.m4: Likewise.
966         * m4/mmap-anon.m4: Likewise.
967         * m4/getpagesize.m4: Likewise.
969 2003-10-29  Bruno Haible  <bruno@clisp.org>
971         * tests/sigsegv1.c (main): Add a check whether mprotect with
972         PROT_READ_WRITE really works.
973         * tests/sigsegv2.c (main): Likewise.
974         Reported by Ullal Devappa Kini <wmbfqj@vsnl.net>.
976 2003-08-21  Bruno Haible  <bruno@clisp.org>
978         * Version 2.1 released.
980 2003-06-24  Paolo Bonzini  <bonzini@gnu.org>
982         * m4/fault.m4: Exit if we detect an infinite loop.
983         * aclocal.m4: Regenerate.
984         * configure: Regenerate.
986 2003-06-18  Bruno Haible  <bruno@clisp.org>
988         * autoconf/install-sh: Update from automake-1.7.5.
990 2003-05-14  Paolo Bonzini  <bonzini@gnu.org>
992         * configure.in: Use signals-bsd.h for OpenBSD and NetBSD too.
993         Support instruction decoding to get fault address for Alphas.
994         * src/fault-netbsd-alpha.h: New file.
995         * src/fault-netbsd-alpha.c: New file.
996         * src/Makefile.am (noinst_HEADERS): Add them.
998 2003-05-14  Paolo Bonzini  <bonzini@gnu.org>
1000         * src/dispatcher.c (insert): Fix lossage in 64-bit environments
1001         (cast from void* to unsigned int).
1003 2003-05-10  Bruno Haible  <bruno@clisp.org>
1005         * tests/Makefile.am (../src/libsigsegv.la): New rule.
1007         * Makefile.msvc (handler.obj): Complete the dependencies.
1008         (stackoverflow2.exe): New rule.
1009         (check): Depend on it.
1010         (clean): Remove it.
1012 2003-05-10  Paolo Bonzini  <bonzini@gnu.org>
1013             Bruno Haible  <bruno@clisp.org>
1015         * configure.in: AC_SUBST of CFG_STACKVMA, CFG_LEAVE, CFG_HANDLER.
1016         * src/Makefile.am: Add dependencies for the object files.
1018 2003-05-08  Paolo Bonzini  <bonzini@gnu.org>
1020         * configure.in: Add $srcdir/ to #include statements. Needed when
1021         builddir != srcdir.
1023         * src/signals-macos.h (SIGSEGV_FOR_ALL_SIGNALS): Add SIGSEGV.
1025 2003-05-03  Paolo Bonzini  <bonzini@gnu.org>
1027         * configure.in: Tweak 2003-04-26 patch so that it works on mingw32 and
1028         Cygwin.
1030 2003-05-02  Bruno Haible  <bruno@clisp.org>
1032         * src/handler-unix.c: Add special case for stack handling on IA-64.
1033         * src/fault-linux-ia64.h: Complete the port.
1034         * configure.in: Improve Linux/IA-64 support.
1036 2003-05-01  Bruno Haible  <bruno@clisp.org>
1038         * configure.in: Don't use fault-hurd.h on NetBSD/alpha. It does not
1039         work.
1041 2003-05-01  Bruno Haible  <bruno@clisp.org>
1043         Support for Linux/HPPA.
1044         * fault-linux-hppa.h: Don't include <siginfo.h>.
1045         (SIGSEGV_FAULT_ADDRESS): Change.
1046         (SIGSEGV_FAULT_ADDRESS_FROM_SIGINFO): Define it, otherwise the value
1047         passed for sip is 0.
1048         (SIGSEGV_FAULT_CONTEXT, SIGSEGV_FAULT_STACKPOINTER): Remove macros.
1049         * configure.in: Improve Linux/HPPA support.
1051 2003-05-01  Bruno Haible  <bruno@clisp.org>
1053         Support for OpenBSD/i386.
1054         * src/fault-openbsd.h: New file.
1055         * src/fault-openbsd-i386.h: New file.
1056         * src/Makefile.am (noinst_HEADERS): Add them.
1057         * configure.in: If the POSIX test works and the OS is OpenBSD, use
1058         fault-openbsd.h instead of fault-posix.h.
1060 2003-05-01  Bruno Haible  <bruno@clisp.org>
1062         * src/fault-hpux-hppa.h: Make it work on machines with 64-bit registers
1063         as well.
1064         * configure.in: Likewise.
1066 2003-04-29  Bruno Haible  <bruno@clisp.org>
1068         * configure.in: Define HAVE_STACKVMA if CFG_STACKVMA is nontrivial.
1069         * src/handler-unix.c: Test HAVE_STACKVMA instead of CFG_STACKVMA.
1071         * m4/fault.m4 (SV_TRY_FAULT): On HP-UX, always pass 0 as first argument
1072         of mmap().
1073         * tests/mmaputil.h (mmap_zeromap): Likewise.
1075 2003-04-28  Bruno Haible  <bruno@clisp.org>
1077         * src/stackvma-freebsd.c (sigsegv_get_vma): Fix logic error.
1079 2002-04-17  Paolo Bonzini  <bonzini@gnu.org>
1081         Support for Cygwin.
1082         * configure.in: Treat cygwin* like mingw*.
1083         * src/handler-win32.c [CYGWIN] (exception_list, _except_list,
1084         debug_get_except_list, cygwin_exception_handler,
1085         libsigsegv_exception_handler, do_install_main_exception_filter): New
1086         definitions.
1087         (install_main_exception_filter): New function.
1088         (sigsegv_install_handler, stackoverflow_install_handler): Call it.
1090 2003-04-26  Bruno Haible  <bruno@clisp.org>
1092         * configure.in: Don't set sv_cv_have_stack_overflow_recovery=yes if
1093         not all of the fault-*.h and stackvma-*.h premises are fulfilled.
1094         Reported by Paolo Bonzini <bonzini@gnu.org> for NetBSD/Alpha.
1096 2003-04-03  Bruno Haible  <bruno@clisp.org>
1098         * configure.in: Add --enable-relocatable option.
1099         * m4/relocatable.m4: New file, from GNU gettext.
1100         * m4/Makefile.am (EXTRA_DIST): Add it.
1102         * m4/libtool.m4: Update from GNU gettext, based on libtool-1.4.3.
1103         * autoconf/ltmain.sh: Likewise.
1105 2003-04-02  Bruno Haible  <bruno@clisp.org>
1107         * configure.in: Bump version number to 2.1.
1109         * tests/stackoverflow2.c: New file, based on code by Paolo Bonzini.
1110         * tests/Makefile.am (TESTS, noinst_PROGRAMS): Add stackoverflow2.
1112 2003-04-02  Paolo Bonzini  <bonzini@gnu.org>
1113             Bruno Haible  <bruno@clisp.org>
1115         Complete the port to MacOS X (Darwin).
1116         * m4/fault.m4: Include sys/signal.h. Have an exit status of 3 instead
1117         of 1 if fault_address is misdetected.
1118         * m4/sigaltstack.m4: Define stack_t to struct sigaltstack if absent.
1119         Include <sys/signal.h>.
1120         * configure.in: Add check for sys/signal.h.
1121         Add support for catching stack overflow on MacOSX.
1122         Add support for MacOSX on i386.
1123         Provide a fallback for SS_ONSTACK before using it.
1124         * src/fault-macos-i386.h: New file.
1125         * src/stackvma-mach.c: New file.
1126         * src/fault-macos-powerpc.h (SIGSEGV_FAULT_STACKPOINTER): Change.
1127         * src/handler-unix.c: Include <sys/signal.h>.
1128         (SS_DISABLE): Provide a fallback.
1129         * src/leave-sigaltstack.c: Include sys/signal.h.
1130         (SS_ONSTACK): Provide a fallback.
1131         * src/Makefile.am (noinst_HEADERS): Add fault-macos-i386.h.
1132         (EXTRA_DIST): Add stackvma-mach.c.
1133         * tests/sigsegv1.c: Abort after 10 handler invocations.
1134         (main): Drop SKIP message, now emitted by automake 1.7.x.
1135         * tests/sigsegv2.c: Abort after 10 handler invocations.
1136         (main): Drop SKIP message, now emitted by automake 1.7.x.
1137         * tests/stackoverflow1.c (main): Drop SKIP message, now emitted by
1138         automake 1.7.x.
1140 2002-10-14  Bruno Haible  <bruno@clisp.org>
1142         * src/fault-none.h: New file.
1143         * src/fault.h: Include CFG_FAULT unconditionally.
1144         * src/leave-none.c: New file.
1145         * src/leave.c: Include CFG_LEAVE unconditionally.
1146         * src/stackvma.c: Include CFG_STACKVMA unconditionally.
1147         * configure.in (CFG_LEAVE, CFG_STACKVMA): Define always.
1148         * src/Makefile.am (noinst_HEADERS): Add fault-none.h.
1149         (EXTRA_DIST): Add leave-none.c.
1150         Reported by Paolo Bonzini <bonzini@gnu.org>.
1152 2002-09-30  Bruno Haible  <bruno@clisp.org>
1154         * src/Makefile.am (noinst_HEADERS): Add fault-hurd.h,
1155         fault-linux-m68k.c, fault-macos-powerpc.h, fault-macos-powerpc.c,
1156         signals-hurd.h, signals-macos.h.
1158 2002-09-30  Bruno Haible  <bruno@clisp.org>
1160         * Makefile.am (check-next): Don't ask for reports from i?86-*-linux*
1161         platforms.
1163 2002-09-30  Bruno Haible  <bruno@clisp.org>
1165         Better Linux/PowerPC support.
1166         * configure.in: Change Linux/PowerPC support.
1167         * src/fault-linux-powerpc.h (SIGSEGV_FAULT_ADDRESS): New macro.
1169 2002-09-30  Bruno Haible  <bruno@clisp.org>
1171         Better Linux/m68k support.
1172         * configure.in: Change Linux/m68k support.
1173         * src/fault-linux-m68k.c: New file.
1174         * src/fault-linux-m68k.h: Use it.
1176 2002-09-30  Bruno Haible  <bruno@clisp.org>
1178         Tentative Hurd support.
1179         * configure.in: Add Hurd support.
1180         * src/signals-hurd.h: New file.
1181         * src/fault-hurd.h: New file.
1183 2002-09-30  Bruno Haible  <bruno@clisp.org>
1185         MacOSX/PowerPC support.
1186         * configure.in: Add MacOSX/PowerPC support.
1187         * src/signals-macos.h: New file.
1188         * src/fault-macos-powerpc.c: New file.
1189         * src/fault-macos-powerpc.h: New file.
1191 2002-09-16  Bruno Haible  <bruno@clisp.org>
1193         * src/fault-posix.h: Don't include <siginfo.h>. Needed for hppa-linux.
1194         Reported by Will Newton <will@misconception.org.uk>.
1196 2002-08-28  Bruno Haible  <bruno@clisp.org>
1198         * Version 2.0 released.
1200 2002-07-28  Bruno Haible  <bruno@clisp.org>
1202         Big reorganization and rewrite. Every file changed.