More consistent m4 quoting.
[libsigsegv/ericb.git] / ChangeLog
blobd9e603d8d00dad0bbb3ae339b19af9471c2cd954
1 2009-01-14  Bruno Haible  <bruno@clisp.org>
3         * configure.ac: More consistent m4 quoting.
5 2008-09-27  Bruno Haible  <bruno@clisp.org>
7         * build-aux/config.sub: Update to GNU version 2008-09-08.
9 2008-09-23  Eric Blake  <ebb9@byu.net>
11         Use 2 * SIGSTKSZ consistently in configuration checks.
12         * m4/sigaltstack.m4 (SV_SIGALTSTACK): Work around IRIX sigaltstack bug.
13         * m4/sigaltstack-longjmp.m4 (SV_TRY_LEAVE_HANDLER_LONGJMP): Likewise.
14         * m4/sigaltstack-siglongjmp.m4 (SV_TRY_LEAVE_HANDLER_SIGLONGJMP):
15         Likewise.
17 2008-09-21  Bruno Haible  <bruno@clisp.org>
19         * src/Makefile.am (LIBSIGSEGV_VERSION_INFO): New variable.
20         (libsigsegv_la_LDFLAGS): Pass -rpath and -version-info option.
21         Reported by Thomas Klausner <tk@giga.or.at>.
23 2008-09-21  Eric Blake  <ebb9@byu.net>
24             Bruno Haible  <bruno@clisp.org>
26         Detect and work around bug in Irix 5.3 sigaltstack.
27         * m4/sigaltstack.m4 (SV_SIGALTSTACK): Test for broken stack_t direction
28         in sigaltstack.
29         * src/handler-unix.c (stackoverflow_install_handler): Adjust stack
30         accordingly.
31         * tests/stackoverflow1.c (stack_lower_bound, stack_upper_bound): New
32         variables.
33         (stackoverflow_handler): Use them to expose IRIX bug.
34         (main): Initialize them.
36 2008-09-07  Bruno Haible  <bruno@clisp.org>
38         * m4/libtool.m4: Update from libtool-2.2.6.
39         * m4/ltoptions.m4: Likewise.
40         * m4/ltsugar.m4: Likewise.
41         * m4/ltversion.m4: Likewise.
42         * build-aux/ltmain.sh: Likewise.
44 2008-08-25  Bruno Haible  <bruno@clisp.org>
46         * Version 2.6 released.
48 2008-08-24  Bruno Haible  <bruno@clisp.org>
50         * configure.ac: Treat Dragonfly BSD platforms like FreeBSD.
51         Reported by Thomas Klausner <tk@giga.or.at>.
53 2008-08-24  Bruno Haible  <bruno@clisp.org>
55         * src/stackvma-mincore.c (mincore_is_near_this): Improve logic. Needed
56         for reliable NULL pointer access classification as SIGSEGV on AIX 4.3.
58 2008-08-24  Bruno Haible  <bruno@clisp.org>
60         * m4/sigaltstack.m4: Change 'volatile int' return type to 'int'. Needed
61         for AIX 4.3 xlc.
62         * m4/sigaltstack-longjmp.m4: Likewise.
63         * m4/sigaltstack-siglongjmp.m4: Likewise.
64         * tests/stackoverflow1.c (recurse): Likewise.
65         * tests/stackoverflow2.c (recurse): Likewise.
67 2008-08-24  Bruno Haible  <bruno@clisp.org>
69         * tests/sigsegv1.c: Include <config.h>.
70         * tests/sigsegv2.c: Likewise.
71         * tests/sigsegv3.c: Include <config.h> before all other headers.
72         * tests/stackoverflow1.c: Likewise.
73         * tests/stackoverflow2.c: Likewise.
75 2008-08-24  Bruno Haible  <bruno@clisp.org>
77         Fix the sigsegv3 test on MacOS X.
78         * src/sigsegv.h.in (sigsegv_leave_handler): Take 4 arguments.
79         * NEWS: Mention the change.
80         * src/handler-macos.c (our_exception_thread, signalled_thread): New
81         variables.
82         (catch_exception_raise): Set signalled_thread during the user_handler
83         invocation.
84         (mach_exception_thread): Initialize our_exception_thread.
85         (sigsegv_leave_handler): Take 4 arguments. When called from within
86         the exception thread, let the signalled thread do a hyperjump.
87         * src/handler-unix.c (sigsegv_leave_handler): Take 4 arguments.
88         * src/handler-win32.c (sigsegv_leave_handler): Likewise.
89         * src/handler-none.c (sigsegv_leave_handler): Likewise.
90         * src/machfault-macos.h (SIGSEGV_INTEGER_ARGUMENT_1,
91         SIGSEGV_INTEGER_ARGUMENT_2, SIGSEGV_INTEGER_ARGUMENT_3,
92         SIGSEGV_FRAME_POINTER): New macros.
93         * tests/sigsegv3.c (handler_continuation): New function.
94         (handler): Update to new API.
95         * tests/stackoverflow1.c (stackoverflow_handler_continuation): New
96         function.
97         (stackoverflow_handler): Update to new API.
98         * tests/stackoverflow2.c (stackoverflow_handler_continuation): New
99         function.
100         (stackoverflow_handler, sigsegv_handler): Update to new API.
102 2008-08-24  Bruno Haible  <bruno@clisp.org>
104         Test the use of sigsegv_leave_handler from within a SIGSEGV handler.
105         * tests/sigsegv3.c: New file.
106         * tests/Makefile.am (TESTS, noinst_PROGRAMS): Add sigsegv3.
108 2008-08-23  Eric Blake  <ebb9@byu.net>
110         * src/Makefile.am (noinst_HEADERS): Remove machfault-macos-powerpc.h
111         and machfault-macos-i386.h. Add machfault-macos.h.
113 2008-08-17  Bruno Haible  <bruno@clisp.org>
115         Allow building universal binaries on MacOS X.
116         * src/machfault-macos.h: New file, combining
117         src/machfault-macos-powerpc.h and src/machfault-macos-i386.h.
118         * src/machfault-macos-powerpc.h: Remove file.
119         * src/machfault-macos-i386.h: Remove file.
120         * configure.ac (CFG_MACHFAULT): Set to machfault-macos.h.
121         (FAULT_CONTEXT_INCLUDE) [MacOSX]: Set to #ifdefs for all four possible
122         architectures.
124 2008-07-20  Bruno Haible  <bruno@clisp.org>
126         Make sigsegv_get_vma async-safe.
127         * src/sigsegv.h.in (sigsegv_handler_t, stackoverflow_handler_t):
128         Mention async-safety constraints.
129         + src/stackvma-rofile.c: New file.
130         * src/stackvma-freebsd.c: Include stackvma-rofile.c.
131         (sigsegv_get_vma): Use struct rofile instead of FILE.
132         * src/stackvma-linux.c: Include stackvma-rofile.c.
133         (sigsegv_get_vma): Use struct rofile instead of FILE.
134         * src/stackvma-procfs.c: Include <sys/mman.h> instead of <stdlib.h> and
135         <stdio.h>.
136         (sigsegv_get_vma): Avoid using sprintf. Ensure pagesize is initialized.
137         Use mmap/munmap instead of malloc/free.
138         * src/Makefile.am (EXTRA_DIST): Add stackvma-rofile.c.
139         Reported by Eric Blake <ebb9@byu.net>.
141 2008-07-20  Bruno Haible  <bruno@clisp.org>
143         * src/handler-unix.c (sigsegv_handler): Preserve errno.
145 2008-07-20  Eric Blake  <ebb9@byu.net>
147         * src/stackvma-mincore.c (mincore_is_near_this): Fix logic.
149 2008-07-20  Bruno Haible  <bruno@clisp.org>
151         * tests/stackoverflow2.c (main): Test also a NULL pointer access.
152         Reported by Eric Blake <ebb9@byu.net>.
154 2008-06-23  Bruno Haible  <bruno@clisp.org>
156         * build-aux/config.guess: Update to GNU version 2008-06-16.
157         * build-aux/config.sub: Likewise.
159 2008-05-31  Bruno Haible  <bruno@clisp.org>
161         Make cross-compile from MacOS X 10.5 to MacOS X 10.4 work.
162         * src/handler-macos.c (MacOS_X_10_5_HEADERS): New macro.
163         * src/machfault-macos-i386.h: Use it.
164         * src/machfault-macos-powerpc.h: Likewise.
165         Reported by Dr Tomaž Slivnik <slivnik@tomaz.name>.
167 2008-05-31  Bruno Haible  <bruno@clisp.org>
169         * m4/mmap-anon.m4 (SV_MMAP_ANON): Add known cross-compile results for
170         MacOS X.
171         Reported by Dr Tomaž Slivnik <slivnik@tomaz.name>.
173 2008-05-27  Bruno Haible  <bruno@clisp.org>
175         * configure.ac: Require at least autoconf 2.62. Merge
176         FAULT_CONTEXT_INCLUDE2 variable into FAULT_CONTEXT_INCLUDE.
177         * src/sigsegv.h.in: Remove FAULT_CONTEXT_INCLUDE2 substitution.
178         * src/Makefile.am (sigsegv.h.msvc): Update.
180 2008-05-27  Bruno Haible  <bruno@clisp.org>
182         * configure.ac: Bump version number to 2.6.
183         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
185 2008-05-27  Bruno Haible  <bruno@clisp.org>
187         Support for 64-bit mode on MacOS X 10.5.
188         * src/handler-macos.c (catch_exception_raise): Align the stack pointer
189         also on x86_64. Needed for MMX instructions.
190         * src/machfault-macos-i386.h: Choose among 64-bit and 32-bit flavours.
191         Use new names for the 32-bit flavour when possible.
192         * src/machfault-macos-powerpc.h: Choose among 64-bit and 32-bit
193         flavours.
194         * configure.ac (FAULT_CONTEXT, FAULT_CONTEXT_INCLUDE2): Choose
195         right flavour (ppc_thread_state_t/ppc_thread_state64_t or
196         i386_thread_state_t/x86_thread_state32_t/x86_thread_state64_t) at
197         compile time.
199 2008-05-18  Bruno Haible  <bruno@clisp.org>
201         * m4/libtool.m4: Update from libtool-2.2.4.
202         * m4/ltoptions.m4: Likewise.
203         * m4/ltversion.m4: Likewise.
204         * m4/lt~obsolete.m4: Likewise.
205         * build-aux/ltmain.sh: Likewise.
207 2008-04-06  Bruno Haible  <bruno@clisp.org>
209         * m4/libtool.m4: Update from libtool-2.2.2.
210         * m4/ltoptions.m4: New file, from libtool-2.2.2.
211         * m4/ltsugar.m4: New file, from libtool-2.2.2.
212         * m4/ltversion.m4: New file, from libtool-2.2.2.
213         * m4/lt~obsolete.m4: New file, from libtool-2.2.2.
214         * build-aux/ltmain.sh: New file, from libtool-2.2.2.
215         * configure.ac: Use LT_INIT instead of AC_PROG_LIBTOOL.
217 2007-11-16  Bruno Haible  <bruno@clisp.org>
219         * src/fault-freebsd-i386.h (SIGSEGV_FAULT_STACKPOINTER): Use sc_rsp
220         also on x86_64-freebsd platform.
221         Reported by Dmitri Hrapof <hrapof@common-lisp.ru> and
222         Petr Salinger <Petr.Salinger@seznam.cz>.
224 2007-11-15  Bruno Haible  <bruno@clisp.org>
226         * configure.ac (CFG_SIGNALS, CFG_FAULT): Port to i586-kfreebsd-gnu
227         and x86_64-kfreebsd-gnu.
228         * src/fault-freebsd-i386.h (SIGSEGV_FAULT_STACKPOINTER): Likewise.
229         Based on patch by Petr Salinger <Petr.Salinger@seznam.cz>.
231 2007-11-11  Bruno Haible  <bruno@clisp.org>
233         * Version 2.5 released.
235 2007-11-11  Bruno Haible  <bruno@clisp.org>
237         * configure.ac: Bump version number to 2.5.
238         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
240 2007-10-28  Bruno Haible  <bruno@clisp.org>
242         * src/handler-macos.c (catch_exception_raise): Align the new stack
243         pointer on a 16-byte boundary.
244         * src/handler-win32.c (main_exception_filter): Correct alignment:
245         %esp must be aligned to == -4 mod 16 upon function entry.
247 2007-10-28  Bruno Haible  <bruno@clisp.org>
249         * src/sigsegv.h.in (stackoverflow_install_handler): Avoid comment
250         inside comment.
251         Reported by Chris Willmore <willmc@rpi.edu>.
253 2007-10-28  Bruno Haible  <bruno@clisp.org>
255         * src/machfault-macos-powerpc.h (SIGSEGV_FAULT_ADDRESS,
256         SIGSEGV_STACK_POINTER, SIGSEGV_PROGRAM_COUNTER): Add __DARWIN_UNIX03
257         conditional.
258         * src/machfault-macos-i386.h (SIGSEGV_FAULT_ADDRESS,
259         SIGSEGV_STACK_POINTER, SIGSEGV_PROGRAM_COUNTER): Likewise.
260         * src/fault-macosdarwin7-powerpc.h (SIGSEGV_FAULT_STACKPOINTER):
261         Likewise.
262         * src/fault-macosdarwin7-powerpc.c (get_fault_addr): Likewise.
263         Reported by Chris Willmore <willmc@rpi.edu>.
265 2007-01-12  Bruno Haible  <bruno@clisp.org>
267         * Makefile.am (check-next): Don't ask for reports from x86_64-*-linux*
268         platforms.
270 2006-07-14  Bruno Haible  <bruno@clisp.org>
272         * m4/sigaltstack.m4 (SV_SIGALTSTACK): Use SIGSTKSZ instead of
273         hardcoding 16384.
274         * m4/sigaltstack-longjmp.m4 (SV_TRY_LEAVE_HANDLER_LONGJMP): Likewise.
275         * m4/sigaltstack-siglongjmp.m4 (SV_TRY_LEAVE_HANDLER_SIGLONGJMP):
276         Likewise.
277         * tests/stackoverflow1.c (main): Likewise.
278         * tests/stackoverflow2.c (main): Likewise.
279         * src/sigsegv.h.in (stackoverflow_install_handler): Update
280         recommendation for extra_stack_size.
281         Needed for ia64.
282         Reported by Peter Van Eynde <pvaneynd@users.sourceforge.net>.
284 2006-06-23  Bruno Haible  <bruno@clisp.org>
286         * Version 2.4 released.
288 2006-06-23  Bruno Haible  <bruno@clisp.org>
290         * configure.ac: Bump version number to 2.4.
291         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
293 2006-06-17  Bruno Haible  <bruno@clisp.org>
295         * src/Makefile.am (noinst_HEADERS): Add fault-netbsd.h.
297 2006-06-17  Bruno Haible  <bruno@clisp.org>
299         * m4/sigaltstack.m4: Insert 'volatile' and pass a pointer, to defeat
300         GCC 4 optimizations.
301         * m4/sigaltstack-longjmp.m4: Likewise.
302         * m4/sigaltstack-siglongjmp.m4: Likewise.
304 2006-06-17  Bruno Haible  <bruno@clisp.org>
306         * tests/stackoverflow1.c (recurse): Remove useless cast.
307         * tests/stackoverflow2.c (recurse): Likewise.
309 2006-06-17  Bruno Haible  <bruno@clisp.org>
311         * src/stackvma-freebsd.c (sigsegv_get_vma): Test whether mincore()
312         works as expected before using it.
314 2006-03-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
316         * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ]: Avoid warning when
317         "parsing" /etc/ld.so.conf and empty /etc/ld.so.conf.d.
319 2006-06-13  Bruno Haible  <bruno@clisp.org>
321         Make NetBSD/i386 stack overflow detection work even without mincore.
322         * src/fault-netbsd.h: New file.
323         * configure.ac (CFG_FAULT): Choose it when appropriate.
325 2006-05-16  Bruno Haible  <bruno@clisp.org>
327         Don't allow the compiler to reorder instructions in the tests.
328         * tests/sigsegv1.c (crashes): Use volatile in pointer access.
329         * tests/sigsegv2.c (main): Likewise.
330         * tests/stackoverflow2.c (main): Likewise.
332 2006-05-14  Bruno Haible  <bruno@clisp.org>
334         Exploit the mincore() system call where available.
335         * src/stackvma-mincore.c: New file.
336         * src/Makefile.am (EXTRA_DIST): Add it.
337         * src/stackvma.h: Add double-inclusion guard.
338         * src/stackvma-freebsd.c: If mincore() is available, include also
339         stackvma-mincore.c.
340         (sigsegv_get_vma): If mincore() is available, use it as fallback.
341         * src/stackvma-linux.c: If mincore() is available, include also
342         stackvma-mincore.c.
343         (sigsegv_get_vma): If mincore() is available, use it as fallback.
344         * src/stackvma-procfs.c: If mincore() is available, include also
345         stackvma-mincore.c.
346         (sigsegv_get_vma): If mincore() is available, use it as fallback.
347         * configure.ac: Test for mincore.
348         (CFG_STACKVMA): Set to stackvma-mincore.c if nothing else is available.
350 2006-05-14  Bruno Haible  <bruno@clisp.org>
352         * src/stackvma-simple.c: New file, extracted from handler-unix.c.
353         * src/Makefile.am (EXTRA_DIST): Add it.
354         * src/stackvma-beos.c: Include stackvma-simple.c.
355         (sigsegv_get_vma): Fill the vma's is_near_this field.
356         * src/stackvma-freebsd.c: Include stackvma-simple.c.
357         (sigsegv_get_vma): Fill the vma's is_near_this field.
358         * src/stackvma-linux.c: Include stackvma-simple.c.
359         (sigsegv_get_vma): Fill the vma's is_near_this field.
360         * src/stackvma-mach.c: Include stackvma-simple.c.
361         (sigsegv_get_vma): Fill the vma's is_near_this field.
362         * src/stackvma-procfs.c: Include stackvma-simple.c.
363         (sigsegv_get_vma): Fill the vma's is_near_this field.
364         * src/stackvma.h (vma_struct): Add is_near_this field.
365         * src/handler-unix.c (sigsegv_handler): Use the vma's is_near_this
366         function.
368 2006-04-28  Bruno Haible  <bruno@clisp.org>
370         * Version 2.3 released.
372 2006-04-28  Bruno Haible  <bruno@clisp.org>
374         * configure.ac: Bump version number to 2.3.
375         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
377         * build-aux/config.guess, build-aux/config.sub: Update to GNU version
378         2006-04-26.
380         * build-aux/install-sh: Update from automake-1.9.6.
381         * build-aux/missing: Likewise.
383         * build-aux/ltmain.sh: Update from libtool-1.5.22.
384         * m4/libtool.m4: Likewise.
386 2006-04-28  Bruno Haible  <bruno@clisp.org>
388         * build-aux: Renamed from autoconf.
389         * configure.ac (AC_CONFIG_AUX_DIR): Set to build-aux.
391 2006-04-22  Bruno Haible  <bruno@clisp.org>
393         * configure.ac: Renamed from configure.in.
395 2006-04-21  Bruno Haible  <bruno@clisp.org>
397         * src/machfault-macos-i386.h: Rewritten for Darwin 8.6.1.
398         * configure.in: Change FAULT_CONTEXT for i?86-darwin.
400 2005-06-21  Paolo Bonzini  <bonzini@gnu.org>
402         * configure.in: For handler-macos.c, include mach/thread_status.h.
403         * configure: Regenerate.
405 2005-06-21  Paolo Bonzini  <bonzini@gnu.org>
407         * tests/stackoverflow1.c (recurse): Make more resilient to compiler
408         optimization.
409         (recurse_1): New.
410         * tests/stackoverflow2.c: Likewise.
412 2005-05-24  Bruno Haible  <bruno@clisp.org>
414         * src/handler-win32.c (main_exception_filter): Copy CONTEXT structure
415         to safe area on the stack.
416         Based on patch by Doug Currie <e@flavors.com>.
418         * src/handler-win32.c (main_exception_filter): Swap arguments passed
419         to stack_overflow_handler.
420         Patch by Doug Currie <e@flavors.com>.
422         * src/handler-win32.c (main_exception_filter): Align %esp on a 16-byte
423         boundary.
425 2005-03-02  Bruno Haible  <bruno@clisp.org>
427         * Version 2.2 released.
429 2005-03-02  Bruno Haible  <bruno@clisp.org>
431         * autoconf/config.guess: Update.
432         * autoconf/config.sub: Update.
433         * autoconf/missing: Update from automake-1.9.5.
435         * m4/libtool.m4: Upgrade to libtool-1.5.14 with gettext modifications.
436         * autoconf/ltmain.sh: Likewise.
438 2005-03-02  Bruno Haible  <bruno@clisp.org>
440         * src/fault-aix5.h: New file.
441         * src/fault-aix5-powerpc.h: New file.
442         * src/Makefile.am (noinst_HEADERS): Add them.
443         * configure.in: Choose them when the POSIX test succeeds on AIX.
445         * src/fault-aix3-powerpc.h: Renamed from src/fault-aix-powerpc.h.
446         * src/fault-aix3.h: Renamed from src/fault-aix.h.
447         * src/Makefile.am (noinst_HEADERS): Update.
448         * configure.in: Update. When cross-compiling, assume the AIX test
449         succeeds only on AIX 3 and AIX 4.
451 2005-03-01  Bruno Haible  <bruno@clisp.org>
453         * configure.in: Fix test of CFG_MACHFAULT.
455 2005-02-27  Bruno Haible  <bruno@clisp.org>
457         * configure.in: Skip tests that are not needed on MacOS X >= 10.2.
458         * m4/sigaltstack.m4 (SV_SIGALTSTACK): Don't perform the test on
459         MacOS X >= 10.2.
461 2005-02-18  Bruno Haible  <bruno@clisp.org>
463         * tests/sigsegv1.c (handler_called): Declare as volatile.
464         * tests/sigsegv2.c (logcount, logdata): Likewise.
465         * tests/stackoverflow1.c (pass): Likewise.
466         * tests/stackoverflow2.c (pass): Likewise.
468 2005-01-29  Bruno Haible  <bruno@clisp.org>
470         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): New macro.
471         (libsigsegv_version): New declaration.
472         * src/version.c: New file.
473         * src/Makefile.am (libsigsegv_la_SOURCES): Add version.c.
474         * Makefile.msvc (OBJECTS): Add version.obj.
475         (version.obj): New rule.
476         Suggested by Sam Steingold.
478 2004-08-25  Bruno Haible  <bruno@clisp.org>
480         * m4/libtool.m4: Upgrade to libtool-1.5.6.
481         * autoconf/ltmain.sh: Upgrade to libtool-1.5.6.
483 2004-08-18  Bruno Haible  <bruno@clisp.org>
485         * configure.in: Bump version number to 2.2.
487 2004-08-17  Bruno Haible  <bruno@clisp.org>
489         Finish the Mach-based MacOS X support.
490         * src/handler-macos.c: Don't include mach/vm_map.h.
491         Include machfault.h instead of fault.h.
492         (save_exc_state): Remove variable.
493         (save_thread_state): New variable.
494         (terminating_handler): New function.
495         (altstack_handler): Pass the save_thread_state, not the save_exc_state,
496         to the user's handler.
497         (catch_exception_raise): Make it work also for platforms which don't
498         have an exc_state type. Call SIGSEGV_FAULT_ADDRESS with 2 arguments.
499         Don't clobber the exc_state; instead set the thread's program counter
500         to terminating_handler or altstack_handler, depending on the case.
501         Return KERN_SUCCESS at the end.
502         * src/machfault.h: New file.
503         * src/machfault-macos-powerpc.h (SIGSEGV_FAULT_ADDRESS): Add a second
504         argument.
505         * src/machfault-macos-i386.h: New file.
506         * src/Makefile.am (EXTRA_DIST): Add handler-macos.c.
507         (NOINST_HEADERS): Add machfault.h, machfault-macos-i386.h,
508         machfault-macos-powerpc.h.
509         * configure.in (CFG_HANDLER): Initialize to empty.
510         (CFG_MACHFAULT): New substituted variable.
511         On MacOS X PowerPC+i386, use CFG_HANDLER=handler-macos.c
512         unconditionally.
513         (sv_cv_fault_include, sv_cv_have_stack_overflow_recovery): Set
514         correctly also in the handler-macos.c case.
516 2004-08-16  Bruno Haible  <bruno@clisp.org>
518         Support for MacOS X 10.3 on PowerPC.
519         * src/fault-macosdarwin5-powerpc.h: Renamed from
520         src/fault-macos-powerpc.h.
521         * src/fault-macosdarwin5-powerpc.c: Renamed from
522         src/fault-macos-powerpc.c.
523         * src/fault-macosdarwin7-powerpc.h: New file.
524         * src/fault-macosdarwin7-powerpc.c: New file.
525         * src/Makefile.am (noinst_HEADERS): Update.
526         * configure.in: Test the method for MacOSX/Darwin5 PowerPC only after
527         the method for MacOSX/Darwin7 PowerPC failed.
528         Substitute FAULT_CONTEXT_INCLUDE2.
529         * src/sigsegv.h.in: Insert @FAULT_CONTEXT_INCLUDE2@.
530         * src/Makefile.am (sigsegv.h.msvc): Replace @FAULT_CONTEXT_INCLUDE2@.
532 2003-12-09  Paolo Bonzini  <bonzini@gnu.org>
534         * src/handler-macos.c: Completed; removed dependency on
535         signals.
536         * src/machfault-macos-powerpc.h: Reorganized.
538 2003-12-08  Paolo Bonzini  <bonzini@gnu.org>
539             Bruno Haible  <bruno@clisp.org>
541         * src/handler-macos.c: New file.
542         * src/machfault.h: New file.
543         * src/machfault-macos-powerpc.h: New file.
545 2003-12-05  Bruno Haible  <bruno@clisp.org>
547         * m4/fault.m4: Tweak indentation. Bump serial number.
548         * m4/getpagesize.m4: Likewise.
549         * m4/mmap-anon.m4: Likewise.
550         * m4/sigaltstack.m4: Likewise.
551         * m4/sigaltstack-longjmp.m4: Likewise.
552         * m4/sigaltstack-siglongjmp.m4: Likewise.
554 2003-12-05  Paolo Bonzini  <bonzini@gnu.org>
556         * aclocal.m4: Regenerate with Automake 1.7h.
557         * configure.in: Drop m4/Makefile from list of generated files.
558         * configure: Regenerate.
559         * Makefile.am (install-data-hook): New name of the install-am
560         target, for Automake 1.8 compatibility.  Other -am targets
561         are not affected because Automake does not have anything to
562         do to make them.
563         (AUTOMAKE_OPTIONS): Bump minimum Automake requirement to 1.7h.
564         (SUBDIRS): Remove m4.
565         ($(srcdir)/config.h.msvc): New target for config.h.msvc.
566         * Makefile.in: Regenerate with Automake 1.7h.
567         * m4/Makefile.am: Delete, Automake 1.7h takes care of it.
568         * m4/Makefile.in: Delete.
569         * src/Makefile.am (installdirs): Delete, Automake 1.7h adds it.
570         * src/Makefile.in: Regenerate with Automake 1.7h.
571         * tests/Makefile.in: Regenerate with Automake 1.7h.
573         * autoconf/config.guess: Update from automake-1.7h.
574         * autoconf/config.sub: Likewise.
575         * autoconf/install.sh: Likewise.
576         * autoconf/missing: Likewise.
577         * autoconf/mkinstalldirs: Delete.
578         * m4/fault.m4: autoupdate and manually tweak.
579         * m4/sigaltstack.m4: Likewise.
580         * m4/sigaltstack-longjmp.m4: Likewise.
581         * m4/sigaltstack-siglongjmp.m4: Likewise.
582         * m4/mmap-anon.m4: Likewise.
583         * m4/getpagesize.m4: Likewise.
585 2003-10-29  Bruno Haible  <bruno@clisp.org>
587         * tests/sigsegv1.c (main): Add a check whether mprotect with
588         PROT_READ_WRITE really works.
589         * tests/sigsegv2.c (main): Likewise.
590         Reported by Ullal Devappa Kini <wmbfqj@vsnl.net>.
592 2003-08-21  Bruno Haible  <bruno@clisp.org>
594         * Version 2.1 released.
596 2003-06-24  Paolo Bonzini  <bonzini@gnu.org>
598         * m4/fault.m4: Exit if we detect an infinite loop.
599         * aclocal.m4: Regenerate.
600         * configure: Regenerate.
602 2003-06-18  Bruno Haible  <bruno@clisp.org>
604         * autoconf/install-sh: Update from automake-1.7.5.
606 2003-05-14  Paolo Bonzini  <bonzini@gnu.org>
608         * configure.in: Use signals-bsd.h for OpenBSD and NetBSD too.
609         Support instruction decoding to get fault address for Alphas.
610         * src/fault-netbsd-alpha.h: New file.
611         * src/fault-netbsd-alpha.c: New file.
612         * src/Makefile.am (noinst_HEADERS): Add them.
614 2003-05-14  Paolo Bonzini  <bonzini@gnu.org>
616         * src/dispatcher.c (insert): Fix lossage in 64-bit environments
617         (cast from void* to unsigned int).
619 2003-05-10  Bruno Haible  <bruno@clisp.org>
621         * tests/Makefile.am (../src/libsigsegv.la): New rule.
623         * Makefile.msvc (handler.obj): Complete the dependencies.
624         (stackoverflow2.exe): New rule.
625         (check): Depend on it.
626         (clean): Remove it.
628 2003-05-10  Paolo Bonzini  <bonzini@gnu.org>
629             Bruno Haible  <bruno@clisp.org>
631         * configure.in: AC_SUBST of CFG_STACKVMA, CFG_LEAVE, CFG_HANDLER.
632         * src/Makefile.am: Add dependencies for the object files.
634 2003-05-08  Paolo Bonzini  <bonzini@gnu.org>
636         * configure.in: Add $srcdir/ to #include statements. Needed when
637         builddir != srcdir.
639         * src/signals-macos.h (SIGSEGV_FOR_ALL_SIGNALS): Add SIGSEGV.
641 2003-05-03  Paolo Bonzini  <bonzini@gnu.org>
643         * configure.in: Tweak 2003-04-26 patch so that it works on mingw32 and
644         Cygwin.
646 2003-05-02  Bruno Haible  <bruno@clisp.org>
648         * src/handler-unix.c: Add special case for stack handling on IA-64.
649         * src/fault-linux-ia64.h: Complete the port.
650         * configure.in: Improve Linux/IA-64 support.
652 2003-05-01  Bruno Haible  <bruno@clisp.org>
654         * configure.in: Don't use fault-hurd.h on NetBSD/alpha. It does not
655         work.
657 2003-05-01  Bruno Haible  <bruno@clisp.org>
659         Support for Linux/HPPA.
660         * fault-linux-hppa.h: Don't include <siginfo.h>.
661         (SIGSEGV_FAULT_ADDRESS): Change.
662         (SIGSEGV_FAULT_ADDRESS_FROM_SIGINFO): Define it, otherwise the value
663         passed for sip is 0.
664         (SIGSEGV_FAULT_CONTEXT, SIGSEGV_FAULT_STACKPOINTER): Remove macros.
665         * configure.in: Improve Linux/HPPA support.
667 2003-05-01  Bruno Haible  <bruno@clisp.org>
669         Support for OpenBSD/i386.
670         * src/fault-openbsd.h: New file.
671         * src/fault-openbsd-i386.h: New file.
672         * src/Makefile.am (noinst_HEADERS): Add them.
673         * configure.in: If the POSIX test works and the OS is OpenBSD, use
674         fault-openbsd.h instead of fault-posix.h.
676 2003-05-01  Bruno Haible  <bruno@clisp.org>
678         * src/fault-hpux-hppa.h: Make it work on machines with 64-bit registers
679         as well.
680         * configure.in: Likewise.
682 2003-04-29  Bruno Haible  <bruno@clisp.org>
684         * configure.in: Define HAVE_STACKVMA if CFG_STACKVMA is nontrivial.
685         * src/handler-unix.c: Test HAVE_STACKVMA instead of CFG_STACKVMA.
687         * m4/fault.m4 (SV_TRY_FAULT): On HP-UX, always pass 0 as first argument
688         of mmap().
689         * tests/mmaputil.h (mmap_zeromap): Likewise.
691 2003-04-28  Bruno Haible  <bruno@clisp.org>
693         * src/stackvma-freebsd.c (sigsegv_get_vma): Fix logic error.
695 2002-04-17  Paolo Bonzini  <bonzini@gnu.org>
697         Support for Cygwin.
698         * configure.in: Treat cygwin* like mingw*.
699         * src/handler-win32.c [CYGWIN] (exception_list, _except_list,
700         debug_get_except_list, cygwin_exception_handler,
701         libsigsegv_exception_handler, do_install_main_exception_filter): New
702         definitions.
703         (install_main_exception_filter): New function.
704         (sigsegv_install_handler, stackoverflow_install_handler): Call it.
706 2003-04-26  Bruno Haible  <bruno@clisp.org>
708         * configure.in: Don't set sv_cv_have_stack_overflow_recovery=yes if
709         not all of the fault-*.h and stackvma-*.h premises are fulfilled.
710         Reported by Paolo Bonzini <bonzini@gnu.org> for NetBSD/Alpha.
712 2003-04-03  Bruno Haible  <bruno@clisp.org>
714         * configure.in: Add --enable-relocatable option.
715         * m4/relocatable.m4: New file, from GNU gettext.
716         * m4/Makefile.am (EXTRA_DIST): Add it.
718         * m4/libtool.m4: Update from GNU gettext, based on libtool-1.4.3.
719         * autoconf/ltmain.sh: Likewise.
721 2003-04-02  Bruno Haible  <bruno@clisp.org>
723         * configure.in: Bump version number to 2.1.
725         * tests/stackoverflow2.c: New file, based on code by Paolo Bonzini.
726         * tests/Makefile.am (TESTS, noinst_PROGRAMS): Add stackoverflow2.
728 2003-04-02  Paolo Bonzini  <bonzini@gnu.org>
729             Bruno Haible  <bruno@clisp.org>
731         Complete the port to MacOS X (Darwin).
732         * m4/fault.m4: Include sys/signal.h. Have an exit status of 3 instead
733         of 1 if fault_address is misdetected.
734         * m4/sigaltstack.m4: Define stack_t to struct sigaltstack if absent.
735         Include <sys/signal.h>.
736         * configure.in: Add check for sys/signal.h.
737         Add support for catching stack overflow on MacOSX.
738         Add support for MacOSX on i386.
739         Provide a fallback for SS_ONSTACK before using it.
740         * src/fault-macos-i386.h: New file.
741         * src/stackvma-mach.c: New file.
742         * src/fault-macos-powerpc.h (SIGSEGV_FAULT_STACKPOINTER): Change.
743         * src/handler-unix.c: Include <sys/signal.h>.
744         (SS_DISABLE): Provide a fallback.
745         * src/leave-sigaltstack.c: Include sys/signal.h.
746         (SS_ONSTACK): Provide a fallback.
747         * src/Makefile.am (noinst_HEADERS): Add fault-macos-i386.h.
748         (EXTRA_DIST): Add stackvma-mach.c.
749         * tests/sigsegv1.c: Abort after 10 handler invocations.
750         (main): Drop SKIP message, now emitted by automake 1.7.x.
751         * tests/sigsegv2.c: Abort after 10 handler invocations.
752         (main): Drop SKIP message, now emitted by automake 1.7.x.
753         * tests/stackoverflow1.c (main): Drop SKIP message, now emitted by
754         automake 1.7.x.
756 2002-10-14  Bruno Haible  <bruno@clisp.org>
758         * src/fault-none.h: New file.
759         * src/fault.h: Include CFG_FAULT unconditionally.
760         * src/leave-none.c: New file.
761         * src/leave.c: Include CFG_LEAVE unconditionally.
762         * src/stackvma.c: Include CFG_STACKVMA unconditionally.
763         * configure.in (CFG_LEAVE, CFG_STACKVMA): Define always.
764         * src/Makefile.am (noinst_HEADERS): Add fault-none.h.
765         (EXTRA_DIST): Add leave-none.c.
766         Reported by Paolo Bonzini <bonzini@gnu.org>.
768 2002-09-30  Bruno Haible  <bruno@clisp.org>
770         * src/Makefile.am (noinst_HEADERS): Add fault-hurd.h,
771         fault-linux-m68k.c, fault-macos-powerpc.h, fault-macos-powerpc.c,
772         signals-hurd.h, signals-macos.h.
774 2002-09-30  Bruno Haible  <bruno@clisp.org>
776         * Makefile.am (check-next): Don't ask for reports from i?86-*-linux*
777         platforms.
779 2002-09-30  Bruno Haible  <bruno@clisp.org>
781         Better Linux/PowerPC support.
782         * configure.in: Change Linux/PowerPC support.
783         * src/fault-linux-powerpc.h (SIGSEGV_FAULT_ADDRESS): New macro.
785 2002-09-30  Bruno Haible  <bruno@clisp.org>
787         Better Linux/m68k support.
788         * configure.in: Change Linux/m68k support.
789         * src/fault-linux-m68k.c: New file.
790         * src/fault-linux-m68k.h: Use it.
792 2002-09-30  Bruno Haible  <bruno@clisp.org>
794         Tentative Hurd support.
795         * configure.in: Add Hurd support.
796         * src/signals-hurd.h: New file.
797         * src/fault-hurd.h: New file.
799 2002-09-30  Bruno Haible  <bruno@clisp.org>
801         MacOSX/PowerPC support.
802         * configure.in: Add MacOSX/PowerPC support.
803         * src/signals-macos.h: New file.
804         * src/fault-macos-powerpc.c: New file.
805         * src/fault-macos-powerpc.h: New file.
807 2002-09-16  Bruno Haible  <bruno@clisp.org>
809         * src/fault-posix.h: Don't include <siginfo.h>. Needed for hppa-linux.
810         Reported by Will Newton <will@misconception.org.uk>.
812 2002-08-28  Bruno Haible  <bruno@clisp.org>
814         * Version 2.0 released.
816 2002-07-28  Bruno Haible  <bruno@clisp.org>
818         Big reorganization and rewrite. Every file changed.