Treat Dragonfly BSD like FreeBSD.
[libsigsegv/ericb.git] / ChangeLog
blob00320f965dd3c2f24e669427718c4cf44915b67d
1 2008-08-24  Bruno Haible  <bruno@clisp.org>
3         * configure.ac: Treat Dragonfly BSD platforms like FreeBSD.
4         Reported by Thomas Klausner <tk@giga.or.at>.
6 2008-08-24  Bruno Haible  <bruno@clisp.org>
8         * src/stackvma-mincore.c (mincore_is_near_this): Improve logic. Needed
9         for reliable NULL pointer access classification as SIGSEGV on AIX 4.3.
11 2008-08-24  Bruno Haible  <bruno@clisp.org>
13         * m4/sigaltstack.m4: Change 'volatile int' return type to 'int'. Needed
14         for AIX 4.3 xlc.
15         * m4/sigaltstack-longjmp.m4: Likewise.
16         * m4/sigaltstack-siglongjmp.m4: Likewise.
17         * tests/stackoverflow1.c (recurse): Likewise.
18         * tests/stackoverflow2.c (recurse): Likewise.
20 2008-08-24  Bruno Haible  <bruno@clisp.org>
22         * tests/sigsegv1.c: Include <config.h>.
23         * tests/sigsegv2.c: Likewise.
24         * tests/sigsegv3.c: Include <config.h> before all other headers.
25         * tests/stackoverflow1.c: Likewise.
26         * tests/stackoverflow2.c: Likewise.
28 2008-08-24  Bruno Haible  <bruno@clisp.org>
30         Fix the sigsegv3 test on MacOS X.
31         * src/sigsegv.h.in (sigsegv_leave_handler): Take 4 arguments.
32         * NEWS: Mention the change.
33         * src/handler-macos.c (our_exception_thread, signalled_thread): New
34         variables.
35         (catch_exception_raise): Set signalled_thread during the user_handler
36         invocation.
37         (mach_exception_thread): Initialize our_exception_thread.
38         (sigsegv_leave_handler): Take 4 arguments. When called from within
39         the exception thread, let the signalled thread do a hyperjump.
40         * src/handler-unix.c (sigsegv_leave_handler): Take 4 arguments.
41         * src/handler-win32.c (sigsegv_leave_handler): Likewise.
42         * src/handler-none.c (sigsegv_leave_handler): Likewise.
43         * src/machfault-macos.h (SIGSEGV_INTEGER_ARGUMENT_1,
44         SIGSEGV_INTEGER_ARGUMENT_2, SIGSEGV_INTEGER_ARGUMENT_3,
45         SIGSEGV_FRAME_POINTER): New macros.
46         * tests/sigsegv3.c (handler_continuation): New function.
47         (handler): Update to new API.
48         * tests/stackoverflow1.c (stackoverflow_handler_continuation): New
49         function.
50         (stackoverflow_handler): Update to new API.
51         * tests/stackoverflow2.c (stackoverflow_handler_continuation): New
52         function.
53         (stackoverflow_handler, sigsegv_handler): Update to new API.
55 2008-08-24  Bruno Haible  <bruno@clisp.org>
57         Test the use of sigsegv_leave_handler from within a SIGSEGV handler.
58         * tests/sigsegv3.c: New file.
59         * tests/Makefile.am (TESTS, noinst_PROGRAMS): Add sigsegv3.
61 2008-08-23  Eric Blake  <ebb9@byu.net>
63         * src/Makefile.am (noinst_HEADERS): Remove machfault-macos-powerpc.h
64         and machfault-macos-i386.h. Add machfault-macos.h.
66 2008-08-17  Bruno Haible  <bruno@clisp.org>
68         Allow building universal binaries on MacOS X.
69         * src/machfault-macos.h: New file, combining
70         src/machfault-macos-powerpc.h and src/machfault-macos-i386.h.
71         * src/machfault-macos-powerpc.h: Remove file.
72         * src/machfault-macos-i386.h: Remove file.
73         * configure.ac (CFG_MACHFAULT): Set to machfault-macos.h.
74         (FAULT_CONTEXT_INCLUDE) [MacOSX]: Set to #ifdefs for all four possible
75         architectures.
77 2008-07-20  Bruno Haible  <bruno@clisp.org>
79         Make sigsegv_get_vma async-safe.
80         * src/sigsegv.h.in (sigsegv_handler_t, stackoverflow_handler_t):
81         Mention async-safety constraints.
82         + src/stackvma-rofile.c: New file.
83         * src/stackvma-freebsd.c: Include stackvma-rofile.c.
84         (sigsegv_get_vma): Use struct rofile instead of FILE.
85         * src/stackvma-linux.c: Include stackvma-rofile.c.
86         (sigsegv_get_vma): Use struct rofile instead of FILE.
87         * src/stackvma-procfs.c: Include <sys/mman.h> instead of <stdlib.h> and
88         <stdio.h>.
89         (sigsegv_get_vma): Avoid using sprintf. Ensure pagesize is initialized.
90         Use mmap/munmap instead of malloc/free.
91         * src/Makefile.am (EXTRA_DIST): Add stackvma-rofile.c.
92         Reported by Eric Blake <ebb9@byu.net>.
94 2008-07-20  Bruno Haible  <bruno@clisp.org>
96         * src/handler-unix.c (sigsegv_handler): Preserve errno.
98 2008-07-20  Eric Blake  <ebb9@byu.net>
100         * src/stackvma-mincore.c (mincore_is_near_this): Fix logic.
102 2008-07-20  Bruno Haible  <bruno@clisp.org>
104         * tests/stackoverflow2.c (main): Test also a NULL pointer access.
105         Reported by Eric Blake <ebb9@byu.net>.
107 2008-06-23  Bruno Haible  <bruno@clisp.org>
109         * build-aux/config.guess: Update to GNU version 2008-06-16.
110         * build-aux/config.sub: Likewise.
112 2008-05-31  Bruno Haible  <bruno@clisp.org>
114         Make cross-compile from MacOS X 10.5 to MacOS X 10.4 work.
115         * src/handler-macos.c (MacOS_X_10_5_HEADERS): New macro.
116         * src/machfault-macos-i386.h: Use it.
117         * src/machfault-macos-powerpc.h: Likewise.
118         Reported by Dr Tomaž Slivnik <slivnik@tomaz.name>.
120 2008-05-31  Bruno Haible  <bruno@clisp.org>
122         * m4/mmap-anon.m4 (SV_MMAP_ANON): Add known cross-compile results for
123         MacOS X.
124         Reported by Dr Tomaž Slivnik <slivnik@tomaz.name>.
126 2008-05-27  Bruno Haible  <bruno@clisp.org>
128         * configure.ac: Require at least autoconf 2.62. Merge
129         FAULT_CONTEXT_INCLUDE2 variable into FAULT_CONTEXT_INCLUDE.
130         * src/sigsegv.h.in: Remove FAULT_CONTEXT_INCLUDE2 substitution.
131         * src/Makefile.am (sigsegv.h.msvc): Update.
133 2008-05-27  Bruno Haible  <bruno@clisp.org>
135         * configure.ac: Bump version number to 2.6.
136         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
138 2008-05-27  Bruno Haible  <bruno@clisp.org>
140         Support for 64-bit mode on MacOS X 10.5.
141         * src/handler-macos.c (catch_exception_raise): Align the stack pointer
142         also on x86_64. Needed for MMX instructions.
143         * src/machfault-macos-i386.h: Choose among 64-bit and 32-bit flavours.
144         Use new names for the 32-bit flavour when possible.
145         * src/machfault-macos-powerpc.h: Choose among 64-bit and 32-bit
146         flavours.
147         * configure.ac (FAULT_CONTEXT, FAULT_CONTEXT_INCLUDE2): Choose
148         right flavour (ppc_thread_state_t/ppc_thread_state64_t or
149         i386_thread_state_t/x86_thread_state32_t/x86_thread_state64_t) at
150         compile time.
152 2008-05-18  Bruno Haible  <bruno@clisp.org>
154         * m4/libtool.m4: Update from libtool-2.2.4.
155         * m4/ltoptions.m4: Likewise.
156         * m4/ltversion.m4: Likewise.
157         * m4/lt~obsolete.m4: Likewise.
158         * build-aux/ltmain.sh: Likewise.
160 2008-04-06  Bruno Haible  <bruno@clisp.org>
162         * m4/libtool.m4: Update from libtool-2.2.2.
163         * m4/ltoptions.m4: New file, from libtool-2.2.2.
164         * m4/ltsugar.m4: New file, from libtool-2.2.2.
165         * m4/ltversion.m4: New file, from libtool-2.2.2.
166         * m4/lt~obsolete.m4: New file, from libtool-2.2.2.
167         * build-aux/ltmain.sh: New file, from libtool-2.2.2.
168         * configure.ac: Use LT_INIT instead of AC_PROG_LIBTOOL.
170 2007-11-16  Bruno Haible  <bruno@clisp.org>
172         * src/fault-freebsd-i386.h (SIGSEGV_FAULT_STACKPOINTER): Use sc_rsp
173         also on x86_64-freebsd platform.
174         Reported by Dmitri Hrapof <hrapof@common-lisp.ru> and
175         Petr Salinger <Petr.Salinger@seznam.cz>.
177 2007-11-15  Bruno Haible  <bruno@clisp.org>
179         * configure.ac (CFG_SIGNALS, CFG_FAULT): Port to i586-kfreebsd-gnu
180         and x86_64-kfreebsd-gnu.
181         * src/fault-freebsd-i386.h (SIGSEGV_FAULT_STACKPOINTER): Likewise.
182         Based on patch by Petr Salinger <Petr.Salinger@seznam.cz>.
184 2007-11-11  Bruno Haible  <bruno@clisp.org>
186         * Version 2.5 released.
188 2007-11-11  Bruno Haible  <bruno@clisp.org>
190         * configure.ac: Bump version number to 2.5.
191         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
193 2007-10-28  Bruno Haible  <bruno@clisp.org>
195         * src/handler-macos.c (catch_exception_raise): Align the new stack
196         pointer on a 16-byte boundary.
197         * src/handler-win32.c (main_exception_filter): Correct alignment:
198         %esp must be aligned to == -4 mod 16 upon function entry.
200 2007-10-28  Bruno Haible  <bruno@clisp.org>
202         * src/sigsegv.h.in (stackoverflow_install_handler): Avoid comment
203         inside comment.
204         Reported by Chris Willmore <willmc@rpi.edu>.
206 2007-10-28  Bruno Haible  <bruno@clisp.org>
208         * src/machfault-macos-powerpc.h (SIGSEGV_FAULT_ADDRESS,
209         SIGSEGV_STACK_POINTER, SIGSEGV_PROGRAM_COUNTER): Add __DARWIN_UNIX03
210         conditional.
211         * src/machfault-macos-i386.h (SIGSEGV_FAULT_ADDRESS,
212         SIGSEGV_STACK_POINTER, SIGSEGV_PROGRAM_COUNTER): Likewise.
213         * src/fault-macosdarwin7-powerpc.h (SIGSEGV_FAULT_STACKPOINTER):
214         Likewise.
215         * src/fault-macosdarwin7-powerpc.c (get_fault_addr): Likewise.
216         Reported by Chris Willmore <willmc@rpi.edu>.
218 2007-01-12  Bruno Haible  <bruno@clisp.org>
220         * Makefile.am (check-next): Don't ask for reports from x86_64-*-linux*
221         platforms.
223 2006-07-14  Bruno Haible  <bruno@clisp.org>
225         * m4/sigaltstack.m4 (SV_SIGALTSTACK): Use SIGSTKSZ instead of
226         hardcoding 16384.
227         * m4/sigaltstack-longjmp.m4 (SV_TRY_LEAVE_HANDLER_LONGJMP): Likewise.
228         * m4/sigaltstack-siglongjmp.m4 (SV_TRY_LEAVE_HANDLER_SIGLONGJMP):
229         Likewise.
230         * tests/stackoverflow1.c (main): Likewise.
231         * tests/stackoverflow2.c (main): Likewise.
232         * src/sigsegv.h.in (stackoverflow_install_handler): Update
233         recommendation for extra_stack_size.
234         Needed for ia64.
235         Reported by Peter Van Eynde <pvaneynd@users.sourceforge.net>.
237 2006-06-23  Bruno Haible  <bruno@clisp.org>
239         * Version 2.4 released.
241 2006-06-23  Bruno Haible  <bruno@clisp.org>
243         * configure.ac: Bump version number to 2.4.
244         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
246 2006-06-17  Bruno Haible  <bruno@clisp.org>
248         * src/Makefile.am (noinst_HEADERS): Add fault-netbsd.h.
250 2006-06-17  Bruno Haible  <bruno@clisp.org>
252         * m4/sigaltstack.m4: Insert 'volatile' and pass a pointer, to defeat
253         GCC 4 optimizations.
254         * m4/sigaltstack-longjmp.m4: Likewise.
255         * m4/sigaltstack-siglongjmp.m4: Likewise.
257 2006-06-17  Bruno Haible  <bruno@clisp.org>
259         * tests/stackoverflow1.c (recurse): Remove useless cast.
260         * tests/stackoverflow2.c (recurse): Likewise.
262 2006-06-17  Bruno Haible  <bruno@clisp.org>
264         * src/stackvma-freebsd.c (sigsegv_get_vma): Test whether mincore()
265         works as expected before using it.
267 2006-03-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
269         * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ]: Avoid warning when
270         "parsing" /etc/ld.so.conf and empty /etc/ld.so.conf.d.
272 2006-06-13  Bruno Haible  <bruno@clisp.org>
274         Make NetBSD/i386 stack overflow detection work even without mincore.
275         * src/fault-netbsd.h: New file.
276         * configure.ac (CFG_FAULT): Choose it when appropriate.
278 2006-05-16  Bruno Haible  <bruno@clisp.org>
280         Don't allow the compiler to reorder instructions in the tests.
281         * tests/sigsegv1.c (crashes): Use volatile in pointer access.
282         * tests/sigsegv2.c (main): Likewise.
283         * tests/stackoverflow2.c (main): Likewise.
285 2006-05-14  Bruno Haible  <bruno@clisp.org>
287         Exploit the mincore() system call where available.
288         * src/stackvma-mincore.c: New file.
289         * src/Makefile.am (EXTRA_DIST): Add it.
290         * src/stackvma.h: Add double-inclusion guard.
291         * src/stackvma-freebsd.c: If mincore() is available, include also
292         stackvma-mincore.c.
293         (sigsegv_get_vma): If mincore() is available, use it as fallback.
294         * src/stackvma-linux.c: If mincore() is available, include also
295         stackvma-mincore.c.
296         (sigsegv_get_vma): If mincore() is available, use it as fallback.
297         * src/stackvma-procfs.c: If mincore() is available, include also
298         stackvma-mincore.c.
299         (sigsegv_get_vma): If mincore() is available, use it as fallback.
300         * configure.ac: Test for mincore.
301         (CFG_STACKVMA): Set to stackvma-mincore.c if nothing else is available.
303 2006-05-14  Bruno Haible  <bruno@clisp.org>
305         * src/stackvma-simple.c: New file, extracted from handler-unix.c.
306         * src/Makefile.am (EXTRA_DIST): Add it.
307         * src/stackvma-beos.c: Include stackvma-simple.c.
308         (sigsegv_get_vma): Fill the vma's is_near_this field.
309         * src/stackvma-freebsd.c: Include stackvma-simple.c.
310         (sigsegv_get_vma): Fill the vma's is_near_this field.
311         * src/stackvma-linux.c: Include stackvma-simple.c.
312         (sigsegv_get_vma): Fill the vma's is_near_this field.
313         * src/stackvma-mach.c: Include stackvma-simple.c.
314         (sigsegv_get_vma): Fill the vma's is_near_this field.
315         * src/stackvma-procfs.c: Include stackvma-simple.c.
316         (sigsegv_get_vma): Fill the vma's is_near_this field.
317         * src/stackvma.h (vma_struct): Add is_near_this field.
318         * src/handler-unix.c (sigsegv_handler): Use the vma's is_near_this
319         function.
321 2006-04-28  Bruno Haible  <bruno@clisp.org>
323         * Version 2.3 released.
325 2006-04-28  Bruno Haible  <bruno@clisp.org>
327         * configure.ac: Bump version number to 2.3.
328         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
330         * build-aux/config.guess, build-aux/config.sub: Update to GNU version
331         2006-04-26.
333         * build-aux/install-sh: Update from automake-1.9.6.
334         * build-aux/missing: Likewise.
336         * build-aux/ltmain.sh: Update from libtool-1.5.22.
337         * m4/libtool.m4: Likewise.
339 2006-04-28  Bruno Haible  <bruno@clisp.org>
341         * build-aux: Renamed from autoconf.
342         * configure.ac (AC_CONFIG_AUX_DIR): Set to build-aux.
344 2006-04-22  Bruno Haible  <bruno@clisp.org>
346         * configure.ac: Renamed from configure.in.
348 2006-04-21  Bruno Haible  <bruno@clisp.org>
350         * src/machfault-macos-i386.h: Rewritten for Darwin 8.6.1.
351         * configure.in: Change FAULT_CONTEXT for i?86-darwin.
353 2005-06-21  Paolo Bonzini  <bonzini@gnu.org>
355         * configure.in: For handler-macos.c, include mach/thread_status.h.
356         * configure: Regenerate.
358 2005-06-21  Paolo Bonzini  <bonzini@gnu.org>
360         * tests/stackoverflow1.c (recurse): Make more resilient to compiler
361         optimization.
362         (recurse_1): New.
363         * tests/stackoverflow2.c: Likewise.
365 2005-05-24  Bruno Haible  <bruno@clisp.org>
367         * src/handler-win32.c (main_exception_filter): Copy CONTEXT structure
368         to safe area on the stack.
369         Based on patch by Doug Currie <e@flavors.com>.
371         * src/handler-win32.c (main_exception_filter): Swap arguments passed
372         to stack_overflow_handler.
373         Patch by Doug Currie <e@flavors.com>.
375         * src/handler-win32.c (main_exception_filter): Align %esp on a 16-byte
376         boundary.
378 2005-03-02  Bruno Haible  <bruno@clisp.org>
380         * Version 2.2 released.
382 2005-03-02  Bruno Haible  <bruno@clisp.org>
384         * autoconf/config.guess: Update.
385         * autoconf/config.sub: Update.
386         * autoconf/missing: Update from automake-1.9.5.
388         * m4/libtool.m4: Upgrade to libtool-1.5.14 with gettext modifications.
389         * autoconf/ltmain.sh: Likewise.
391 2005-03-02  Bruno Haible  <bruno@clisp.org>
393         * src/fault-aix5.h: New file.
394         * src/fault-aix5-powerpc.h: New file.
395         * src/Makefile.am (noinst_HEADERS): Add them.
396         * configure.in: Choose them when the POSIX test succeeds on AIX.
398         * src/fault-aix3-powerpc.h: Renamed from src/fault-aix-powerpc.h.
399         * src/fault-aix3.h: Renamed from src/fault-aix.h.
400         * src/Makefile.am (noinst_HEADERS): Update.
401         * configure.in: Update. When cross-compiling, assume the AIX test
402         succeeds only on AIX 3 and AIX 4.
404 2005-03-01  Bruno Haible  <bruno@clisp.org>
406         * configure.in: Fix test of CFG_MACHFAULT.
408 2005-02-27  Bruno Haible  <bruno@clisp.org>
410         * configure.in: Skip tests that are not needed on MacOS X >= 10.2.
411         * m4/sigaltstack.m4 (SV_SIGALTSTACK): Don't perform the test on
412         MacOS X >= 10.2.
414 2005-02-18  Bruno Haible  <bruno@clisp.org>
416         * tests/sigsegv1.c (handler_called): Declare as volatile.
417         * tests/sigsegv2.c (logcount, logdata): Likewise.
418         * tests/stackoverflow1.c (pass): Likewise.
419         * tests/stackoverflow2.c (pass): Likewise.
421 2005-01-29  Bruno Haible  <bruno@clisp.org>
423         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): New macro.
424         (libsigsegv_version): New declaration.
425         * src/version.c: New file.
426         * src/Makefile.am (libsigsegv_la_SOURCES): Add version.c.
427         * Makefile.msvc (OBJECTS): Add version.obj.
428         (version.obj): New rule.
429         Suggested by Sam Steingold.
431 2004-08-25  Bruno Haible  <bruno@clisp.org>
433         * m4/libtool.m4: Upgrade to libtool-1.5.6.
434         * autoconf/ltmain.sh: Upgrade to libtool-1.5.6.
436 2004-08-18  Bruno Haible  <bruno@clisp.org>
438         * configure.in: Bump version number to 2.2.
440 2004-08-17  Bruno Haible  <bruno@clisp.org>
442         Finish the Mach-based MacOS X support.
443         * src/handler-macos.c: Don't include mach/vm_map.h.
444         Include machfault.h instead of fault.h.
445         (save_exc_state): Remove variable.
446         (save_thread_state): New variable.
447         (terminating_handler): New function.
448         (altstack_handler): Pass the save_thread_state, not the save_exc_state,
449         to the user's handler.
450         (catch_exception_raise): Make it work also for platforms which don't
451         have an exc_state type. Call SIGSEGV_FAULT_ADDRESS with 2 arguments.
452         Don't clobber the exc_state; instead set the thread's program counter
453         to terminating_handler or altstack_handler, depending on the case.
454         Return KERN_SUCCESS at the end.
455         * src/machfault.h: New file.
456         * src/machfault-macos-powerpc.h (SIGSEGV_FAULT_ADDRESS): Add a second
457         argument.
458         * src/machfault-macos-i386.h: New file.
459         * src/Makefile.am (EXTRA_DIST): Add handler-macos.c.
460         (NOINST_HEADERS): Add machfault.h, machfault-macos-i386.h,
461         machfault-macos-powerpc.h.
462         * configure.in (CFG_HANDLER): Initialize to empty.
463         (CFG_MACHFAULT): New substituted variable.
464         On MacOS X PowerPC+i386, use CFG_HANDLER=handler-macos.c
465         unconditionally.
466         (sv_cv_fault_include, sv_cv_have_stack_overflow_recovery): Set
467         correctly also in the handler-macos.c case.
469 2004-08-16  Bruno Haible  <bruno@clisp.org>
471         Support for MacOS X 10.3 on PowerPC.
472         * src/fault-macosdarwin5-powerpc.h: Renamed from
473         src/fault-macos-powerpc.h.
474         * src/fault-macosdarwin5-powerpc.c: Renamed from
475         src/fault-macos-powerpc.c.
476         * src/fault-macosdarwin7-powerpc.h: New file.
477         * src/fault-macosdarwin7-powerpc.c: New file.
478         * src/Makefile.am (noinst_HEADERS): Update.
479         * configure.in: Test the method for MacOSX/Darwin5 PowerPC only after
480         the method for MacOSX/Darwin7 PowerPC failed.
481         Substitute FAULT_CONTEXT_INCLUDE2.
482         * src/sigsegv.h.in: Insert @FAULT_CONTEXT_INCLUDE2@.
483         * src/Makefile.am (sigsegv.h.msvc): Replace @FAULT_CONTEXT_INCLUDE2@.
485 2003-12-09  Paolo Bonzini  <bonzini@gnu.org>
487         * src/handler-macos.c: Completed; removed dependency on
488         signals.
489         * src/machfault-macos-powerpc.h: Reorganized.
491 2003-12-08  Paolo Bonzini  <bonzini@gnu.org>
492             Bruno Haible  <bruno@clisp.org>
494         * src/handler-macos.c: New file.
495         * src/machfault.h: New file.
496         * src/machfault-macos-powerpc.h: New file.
498 2003-12-05  Bruno Haible  <bruno@clisp.org>
500         * m4/fault.m4: Tweak indentation. Bump serial number.
501         * m4/getpagesize.m4: Likewise.
502         * m4/mmap-anon.m4: Likewise.
503         * m4/sigaltstack.m4: Likewise.
504         * m4/sigaltstack-longjmp.m4: Likewise.
505         * m4/sigaltstack-siglongjmp.m4: Likewise.
507 2003-12-05  Paolo Bonzini  <bonzini@gnu.org>
509         * aclocal.m4: Regenerate with Automake 1.7h.
510         * configure.in: Drop m4/Makefile from list of generated files.
511         * configure: Regenerate.
512         * Makefile.am (install-data-hook): New name of the install-am
513         target, for Automake 1.8 compatibility.  Other -am targets
514         are not affected because Automake does not have anything to
515         do to make them.
516         (AUTOMAKE_OPTIONS): Bump minimum Automake requirement to 1.7h.
517         (SUBDIRS): Remove m4.
518         ($(srcdir)/config.h.msvc): New target for config.h.msvc.
519         * Makefile.in: Regenerate with Automake 1.7h.
520         * m4/Makefile.am: Delete, Automake 1.7h takes care of it.
521         * m4/Makefile.in: Delete.
522         * src/Makefile.am (installdirs): Delete, Automake 1.7h adds it.
523         * src/Makefile.in: Regenerate with Automake 1.7h.
524         * tests/Makefile.in: Regenerate with Automake 1.7h.
526         * autoconf/config.guess: Update from automake-1.7h.
527         * autoconf/config.sub: Likewise.
528         * autoconf/install.sh: Likewise.
529         * autoconf/missing: Likewise.
530         * autoconf/mkinstalldirs: Delete.
531         * m4/fault.m4: autoupdate and manually tweak.
532         * m4/sigaltstack.m4: Likewise.
533         * m4/sigaltstack-longjmp.m4: Likewise.
534         * m4/sigaltstack-siglongjmp.m4: Likewise.
535         * m4/mmap-anon.m4: Likewise.
536         * m4/getpagesize.m4: Likewise.
538 2003-10-29  Bruno Haible  <bruno@clisp.org>
540         * tests/sigsegv1.c (main): Add a check whether mprotect with
541         PROT_READ_WRITE really works.
542         * tests/sigsegv2.c (main): Likewise.
543         Reported by Ullal Devappa Kini <wmbfqj@vsnl.net>.
545 2003-08-21  Bruno Haible  <bruno@clisp.org>
547         * Version 2.1 released.
549 2003-06-24  Paolo Bonzini  <bonzini@gnu.org>
551         * m4/fault.m4: Exit if we detect an infinite loop.
552         * aclocal.m4: Regenerate.
553         * configure: Regenerate.
555 2003-06-18  Bruno Haible  <bruno@clisp.org>
557         * autoconf/install-sh: Update from automake-1.7.5.
559 2003-05-14  Paolo Bonzini  <bonzini@gnu.org>
561         * configure.in: Use signals-bsd.h for OpenBSD and NetBSD too.
562         Support instruction decoding to get fault address for Alphas.
563         * src/fault-netbsd-alpha.h: New file.
564         * src/fault-netbsd-alpha.c: New file.
565         * src/Makefile.am (noinst_HEADERS): Add them.
567 2003-05-14  Paolo Bonzini  <bonzini@gnu.org>
569         * src/dispatcher.c (insert): Fix lossage in 64-bit environments
570         (cast from void* to unsigned int).
572 2003-05-10  Bruno Haible  <bruno@clisp.org>
574         * tests/Makefile.am (../src/libsigsegv.la): New rule.
576         * Makefile.msvc (handler.obj): Complete the dependencies.
577         (stackoverflow2.exe): New rule.
578         (check): Depend on it.
579         (clean): Remove it.
581 2003-05-10  Paolo Bonzini  <bonzini@gnu.org>
582             Bruno Haible  <bruno@clisp.org>
584         * configure.in: AC_SUBST of CFG_STACKVMA, CFG_LEAVE, CFG_HANDLER.
585         * src/Makefile.am: Add dependencies for the object files.
587 2003-05-08  Paolo Bonzini  <bonzini@gnu.org>
589         * configure.in: Add $srcdir/ to #include statements. Needed when
590         builddir != srcdir.
592         * src/signals-macos.h (SIGSEGV_FOR_ALL_SIGNALS): Add SIGSEGV.
594 2003-05-03  Paolo Bonzini  <bonzini@gnu.org>
596         * configure.in: Tweak 2003-04-26 patch so that it works on mingw32 and
597         Cygwin.
599 2003-05-02  Bruno Haible  <bruno@clisp.org>
601         * src/handler-unix.c: Add special case for stack handling on IA-64.
602         * src/fault-linux-ia64.h: Complete the port.
603         * configure.in: Improve Linux/IA-64 support.
605 2003-05-01  Bruno Haible  <bruno@clisp.org>
607         * configure.in: Don't use fault-hurd.h on NetBSD/alpha. It does not
608         work.
610 2003-05-01  Bruno Haible  <bruno@clisp.org>
612         Support for Linux/HPPA.
613         * fault-linux-hppa.h: Don't include <siginfo.h>.
614         (SIGSEGV_FAULT_ADDRESS): Change.
615         (SIGSEGV_FAULT_ADDRESS_FROM_SIGINFO): Define it, otherwise the value
616         passed for sip is 0.
617         (SIGSEGV_FAULT_CONTEXT, SIGSEGV_FAULT_STACKPOINTER): Remove macros.
618         * configure.in: Improve Linux/HPPA support.
620 2003-05-01  Bruno Haible  <bruno@clisp.org>
622         Support for OpenBSD/i386.
623         * src/fault-openbsd.h: New file.
624         * src/fault-openbsd-i386.h: New file.
625         * src/Makefile.am (noinst_HEADERS): Add them.
626         * configure.in: If the POSIX test works and the OS is OpenBSD, use
627         fault-openbsd.h instead of fault-posix.h.
629 2003-05-01  Bruno Haible  <bruno@clisp.org>
631         * src/fault-hpux-hppa.h: Make it work on machines with 64-bit registers
632         as well.
633         * configure.in: Likewise.
635 2003-04-29  Bruno Haible  <bruno@clisp.org>
637         * configure.in: Define HAVE_STACKVMA if CFG_STACKVMA is nontrivial.
638         * src/handler-unix.c: Test HAVE_STACKVMA instead of CFG_STACKVMA.
640         * m4/fault.m4 (SV_TRY_FAULT): On HP-UX, always pass 0 as first argument
641         of mmap().
642         * tests/mmaputil.h (mmap_zeromap): Likewise.
644 2003-04-28  Bruno Haible  <bruno@clisp.org>
646         * src/stackvma-freebsd.c (sigsegv_get_vma): Fix logic error.
648 2002-04-17  Paolo Bonzini  <bonzini@gnu.org>
650         Support for Cygwin.
651         * configure.in: Treat cygwin* like mingw*.
652         * src/handler-win32.c [CYGWIN] (exception_list, _except_list,
653         debug_get_except_list, cygwin_exception_handler,
654         libsigsegv_exception_handler, do_install_main_exception_filter): New
655         definitions.
656         (install_main_exception_filter): New function.
657         (sigsegv_install_handler, stackoverflow_install_handler): Call it.
659 2003-04-26  Bruno Haible  <bruno@clisp.org>
661         * configure.in: Don't set sv_cv_have_stack_overflow_recovery=yes if
662         not all of the fault-*.h and stackvma-*.h premises are fulfilled.
663         Reported by Paolo Bonzini <bonzini@gnu.org> for NetBSD/Alpha.
665 2003-04-03  Bruno Haible  <bruno@clisp.org>
667         * configure.in: Add --enable-relocatable option.
668         * m4/relocatable.m4: New file, from GNU gettext.
669         * m4/Makefile.am (EXTRA_DIST): Add it.
671         * m4/libtool.m4: Update from GNU gettext, based on libtool-1.4.3.
672         * autoconf/ltmain.sh: Likewise.
674 2003-04-02  Bruno Haible  <bruno@clisp.org>
676         * configure.in: Bump version number to 2.1.
678         * tests/stackoverflow2.c: New file, based on code by Paolo Bonzini.
679         * tests/Makefile.am (TESTS, noinst_PROGRAMS): Add stackoverflow2.
681 2003-04-02  Paolo Bonzini  <bonzini@gnu.org>
682             Bruno Haible  <bruno@clisp.org>
684         Complete the port to MacOS X (Darwin).
685         * m4/fault.m4: Include sys/signal.h. Have an exit status of 3 instead
686         of 1 if fault_address is misdetected.
687         * m4/sigaltstack.m4: Define stack_t to struct sigaltstack if absent.
688         Include <sys/signal.h>.
689         * configure.in: Add check for sys/signal.h.
690         Add support for catching stack overflow on MacOSX.
691         Add support for MacOSX on i386.
692         Provide a fallback for SS_ONSTACK before using it.
693         * src/fault-macos-i386.h: New file.
694         * src/stackvma-mach.c: New file.
695         * src/fault-macos-powerpc.h (SIGSEGV_FAULT_STACKPOINTER): Change.
696         * src/handler-unix.c: Include <sys/signal.h>.
697         (SS_DISABLE): Provide a fallback.
698         * src/leave-sigaltstack.c: Include sys/signal.h.
699         (SS_ONSTACK): Provide a fallback.
700         * src/Makefile.am (noinst_HEADERS): Add fault-macos-i386.h.
701         (EXTRA_DIST): Add stackvma-mach.c.
702         * tests/sigsegv1.c: Abort after 10 handler invocations.
703         (main): Drop SKIP message, now emitted by automake 1.7.x.
704         * tests/sigsegv2.c: Abort after 10 handler invocations.
705         (main): Drop SKIP message, now emitted by automake 1.7.x.
706         * tests/stackoverflow1.c (main): Drop SKIP message, now emitted by
707         automake 1.7.x.
709 2002-10-14  Bruno Haible  <bruno@clisp.org>
711         * src/fault-none.h: New file.
712         * src/fault.h: Include CFG_FAULT unconditionally.
713         * src/leave-none.c: New file.
714         * src/leave.c: Include CFG_LEAVE unconditionally.
715         * src/stackvma.c: Include CFG_STACKVMA unconditionally.
716         * configure.in (CFG_LEAVE, CFG_STACKVMA): Define always.
717         * src/Makefile.am (noinst_HEADERS): Add fault-none.h.
718         (EXTRA_DIST): Add leave-none.c.
719         Reported by Paolo Bonzini <bonzini@gnu.org>.
721 2002-09-30  Bruno Haible  <bruno@clisp.org>
723         * src/Makefile.am (noinst_HEADERS): Add fault-hurd.h,
724         fault-linux-m68k.c, fault-macos-powerpc.h, fault-macos-powerpc.c,
725         signals-hurd.h, signals-macos.h.
727 2002-09-30  Bruno Haible  <bruno@clisp.org>
729         * Makefile.am (check-next): Don't ask for reports from i?86-*-linux*
730         platforms.
732 2002-09-30  Bruno Haible  <bruno@clisp.org>
734         Better Linux/PowerPC support.
735         * configure.in: Change Linux/PowerPC support.
736         * src/fault-linux-powerpc.h (SIGSEGV_FAULT_ADDRESS): New macro.
738 2002-09-30  Bruno Haible  <bruno@clisp.org>
740         Better Linux/m68k support.
741         * configure.in: Change Linux/m68k support.
742         * src/fault-linux-m68k.c: New file.
743         * src/fault-linux-m68k.h: Use it.
745 2002-09-30  Bruno Haible  <bruno@clisp.org>
747         Tentative Hurd support.
748         * configure.in: Add Hurd support.
749         * src/signals-hurd.h: New file.
750         * src/fault-hurd.h: New file.
752 2002-09-30  Bruno Haible  <bruno@clisp.org>
754         MacOSX/PowerPC support.
755         * configure.in: Add MacOSX/PowerPC support.
756         * src/signals-macos.h: New file.
757         * src/fault-macos-powerpc.c: New file.
758         * src/fault-macos-powerpc.h: New file.
760 2002-09-16  Bruno Haible  <bruno@clisp.org>
762         * src/fault-posix.h: Don't include <siginfo.h>. Needed for hppa-linux.
763         Reported by Will Newton <will@misconception.org.uk>.
765 2002-08-28  Bruno Haible  <bruno@clisp.org>
767         * Version 2.0 released.
769 2002-07-28  Bruno Haible  <bruno@clisp.org>
771         Big reorganization and rewrite. Every file changed.