Contributed by Ruslan Sorokin (Руслан Сорокин) <sorokin@oogis.ru>.
[libsigsegv/ericb.git] / ChangeLog
bloba13ed27541c4088fdd6a7df3b68f0160512bca9b
1 2008-09-27  Bruno Haible  <bruno@clisp.org>
3         * build-aux/config.sub: Update to GNU version 2008-09-08.
5 2008-09-23  Eric Blake  <ebb9@byu.net>
7         Use 2 * SIGSTKSZ consistently in configuration checks.
8         * m4/sigaltstack.m4 (SV_SIGALTSTACK): Work around IRIX sigaltstack bug.
9         * m4/sigaltstack-longjmp.m4 (SV_TRY_LEAVE_HANDLER_LONGJMP): Likewise.
10         * m4/sigaltstack-siglongjmp.m4 (SV_TRY_LEAVE_HANDLER_SIGLONGJMP):
11         Likewise.
13 2008-09-21  Bruno Haible  <bruno@clisp.org>
15         * src/Makefile.am (LIBSIGSEGV_VERSION_INFO): New variable.
16         (libsigsegv_la_LDFLAGS): Pass -rpath and -version-info option.
17         Reported by Thomas Klausner <tk@giga.or.at>.
19 2008-09-21  Eric Blake  <ebb9@byu.net>
20             Bruno Haible  <bruno@clisp.org>
22         Detect and work around bug in Irix 5.3 sigaltstack.
23         * m4/sigaltstack.m4 (SV_SIGALTSTACK): Test for broken stack_t direction
24         in sigaltstack.
25         * src/handler-unix.c (stackoverflow_install_handler): Adjust stack
26         accordingly.
27         * tests/stackoverflow1.c (stack_lower_bound, stack_upper_bound): New
28         variables.
29         (stackoverflow_handler): Use them to expose IRIX bug.
30         (main): Initialize them.
32 2008-09-07  Bruno Haible  <bruno@clisp.org>
34         * m4/libtool.m4: Update from libtool-2.2.6.
35         * m4/ltoptions.m4: Likewise.
36         * m4/ltsugar.m4: Likewise.
37         * m4/ltversion.m4: Likewise.
38         * build-aux/ltmain.sh: Likewise.
40 2008-08-25  Bruno Haible  <bruno@clisp.org>
42         * Version 2.6 released.
44 2008-08-24  Bruno Haible  <bruno@clisp.org>
46         * configure.ac: Treat Dragonfly BSD platforms like FreeBSD.
47         Reported by Thomas Klausner <tk@giga.or.at>.
49 2008-08-24  Bruno Haible  <bruno@clisp.org>
51         * src/stackvma-mincore.c (mincore_is_near_this): Improve logic. Needed
52         for reliable NULL pointer access classification as SIGSEGV on AIX 4.3.
54 2008-08-24  Bruno Haible  <bruno@clisp.org>
56         * m4/sigaltstack.m4: Change 'volatile int' return type to 'int'. Needed
57         for AIX 4.3 xlc.
58         * m4/sigaltstack-longjmp.m4: Likewise.
59         * m4/sigaltstack-siglongjmp.m4: Likewise.
60         * tests/stackoverflow1.c (recurse): Likewise.
61         * tests/stackoverflow2.c (recurse): Likewise.
63 2008-08-24  Bruno Haible  <bruno@clisp.org>
65         * tests/sigsegv1.c: Include <config.h>.
66         * tests/sigsegv2.c: Likewise.
67         * tests/sigsegv3.c: Include <config.h> before all other headers.
68         * tests/stackoverflow1.c: Likewise.
69         * tests/stackoverflow2.c: Likewise.
71 2008-08-24  Bruno Haible  <bruno@clisp.org>
73         Fix the sigsegv3 test on MacOS X.
74         * src/sigsegv.h.in (sigsegv_leave_handler): Take 4 arguments.
75         * NEWS: Mention the change.
76         * src/handler-macos.c (our_exception_thread, signalled_thread): New
77         variables.
78         (catch_exception_raise): Set signalled_thread during the user_handler
79         invocation.
80         (mach_exception_thread): Initialize our_exception_thread.
81         (sigsegv_leave_handler): Take 4 arguments. When called from within
82         the exception thread, let the signalled thread do a hyperjump.
83         * src/handler-unix.c (sigsegv_leave_handler): Take 4 arguments.
84         * src/handler-win32.c (sigsegv_leave_handler): Likewise.
85         * src/handler-none.c (sigsegv_leave_handler): Likewise.
86         * src/machfault-macos.h (SIGSEGV_INTEGER_ARGUMENT_1,
87         SIGSEGV_INTEGER_ARGUMENT_2, SIGSEGV_INTEGER_ARGUMENT_3,
88         SIGSEGV_FRAME_POINTER): New macros.
89         * tests/sigsegv3.c (handler_continuation): New function.
90         (handler): Update to new API.
91         * tests/stackoverflow1.c (stackoverflow_handler_continuation): New
92         function.
93         (stackoverflow_handler): Update to new API.
94         * tests/stackoverflow2.c (stackoverflow_handler_continuation): New
95         function.
96         (stackoverflow_handler, sigsegv_handler): Update to new API.
98 2008-08-24  Bruno Haible  <bruno@clisp.org>
100         Test the use of sigsegv_leave_handler from within a SIGSEGV handler.
101         * tests/sigsegv3.c: New file.
102         * tests/Makefile.am (TESTS, noinst_PROGRAMS): Add sigsegv3.
104 2008-08-23  Eric Blake  <ebb9@byu.net>
106         * src/Makefile.am (noinst_HEADERS): Remove machfault-macos-powerpc.h
107         and machfault-macos-i386.h. Add machfault-macos.h.
109 2008-08-17  Bruno Haible  <bruno@clisp.org>
111         Allow building universal binaries on MacOS X.
112         * src/machfault-macos.h: New file, combining
113         src/machfault-macos-powerpc.h and src/machfault-macos-i386.h.
114         * src/machfault-macos-powerpc.h: Remove file.
115         * src/machfault-macos-i386.h: Remove file.
116         * configure.ac (CFG_MACHFAULT): Set to machfault-macos.h.
117         (FAULT_CONTEXT_INCLUDE) [MacOSX]: Set to #ifdefs for all four possible
118         architectures.
120 2008-07-20  Bruno Haible  <bruno@clisp.org>
122         Make sigsegv_get_vma async-safe.
123         * src/sigsegv.h.in (sigsegv_handler_t, stackoverflow_handler_t):
124         Mention async-safety constraints.
125         + src/stackvma-rofile.c: New file.
126         * src/stackvma-freebsd.c: Include stackvma-rofile.c.
127         (sigsegv_get_vma): Use struct rofile instead of FILE.
128         * src/stackvma-linux.c: Include stackvma-rofile.c.
129         (sigsegv_get_vma): Use struct rofile instead of FILE.
130         * src/stackvma-procfs.c: Include <sys/mman.h> instead of <stdlib.h> and
131         <stdio.h>.
132         (sigsegv_get_vma): Avoid using sprintf. Ensure pagesize is initialized.
133         Use mmap/munmap instead of malloc/free.
134         * src/Makefile.am (EXTRA_DIST): Add stackvma-rofile.c.
135         Reported by Eric Blake <ebb9@byu.net>.
137 2008-07-20  Bruno Haible  <bruno@clisp.org>
139         * src/handler-unix.c (sigsegv_handler): Preserve errno.
141 2008-07-20  Eric Blake  <ebb9@byu.net>
143         * src/stackvma-mincore.c (mincore_is_near_this): Fix logic.
145 2008-07-20  Bruno Haible  <bruno@clisp.org>
147         * tests/stackoverflow2.c (main): Test also a NULL pointer access.
148         Reported by Eric Blake <ebb9@byu.net>.
150 2008-06-23  Bruno Haible  <bruno@clisp.org>
152         * build-aux/config.guess: Update to GNU version 2008-06-16.
153         * build-aux/config.sub: Likewise.
155 2008-05-31  Bruno Haible  <bruno@clisp.org>
157         Make cross-compile from MacOS X 10.5 to MacOS X 10.4 work.
158         * src/handler-macos.c (MacOS_X_10_5_HEADERS): New macro.
159         * src/machfault-macos-i386.h: Use it.
160         * src/machfault-macos-powerpc.h: Likewise.
161         Reported by Dr Tomaž Slivnik <slivnik@tomaz.name>.
163 2008-05-31  Bruno Haible  <bruno@clisp.org>
165         * m4/mmap-anon.m4 (SV_MMAP_ANON): Add known cross-compile results for
166         MacOS X.
167         Reported by Dr Tomaž Slivnik <slivnik@tomaz.name>.
169 2008-05-27  Bruno Haible  <bruno@clisp.org>
171         * configure.ac: Require at least autoconf 2.62. Merge
172         FAULT_CONTEXT_INCLUDE2 variable into FAULT_CONTEXT_INCLUDE.
173         * src/sigsegv.h.in: Remove FAULT_CONTEXT_INCLUDE2 substitution.
174         * src/Makefile.am (sigsegv.h.msvc): Update.
176 2008-05-27  Bruno Haible  <bruno@clisp.org>
178         * configure.ac: Bump version number to 2.6.
179         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
181 2008-05-27  Bruno Haible  <bruno@clisp.org>
183         Support for 64-bit mode on MacOS X 10.5.
184         * src/handler-macos.c (catch_exception_raise): Align the stack pointer
185         also on x86_64. Needed for MMX instructions.
186         * src/machfault-macos-i386.h: Choose among 64-bit and 32-bit flavours.
187         Use new names for the 32-bit flavour when possible.
188         * src/machfault-macos-powerpc.h: Choose among 64-bit and 32-bit
189         flavours.
190         * configure.ac (FAULT_CONTEXT, FAULT_CONTEXT_INCLUDE2): Choose
191         right flavour (ppc_thread_state_t/ppc_thread_state64_t or
192         i386_thread_state_t/x86_thread_state32_t/x86_thread_state64_t) at
193         compile time.
195 2008-05-18  Bruno Haible  <bruno@clisp.org>
197         * m4/libtool.m4: Update from libtool-2.2.4.
198         * m4/ltoptions.m4: Likewise.
199         * m4/ltversion.m4: Likewise.
200         * m4/lt~obsolete.m4: Likewise.
201         * build-aux/ltmain.sh: Likewise.
203 2008-04-06  Bruno Haible  <bruno@clisp.org>
205         * m4/libtool.m4: Update from libtool-2.2.2.
206         * m4/ltoptions.m4: New file, from libtool-2.2.2.
207         * m4/ltsugar.m4: New file, from libtool-2.2.2.
208         * m4/ltversion.m4: New file, from libtool-2.2.2.
209         * m4/lt~obsolete.m4: New file, from libtool-2.2.2.
210         * build-aux/ltmain.sh: New file, from libtool-2.2.2.
211         * configure.ac: Use LT_INIT instead of AC_PROG_LIBTOOL.
213 2007-11-16  Bruno Haible  <bruno@clisp.org>
215         * src/fault-freebsd-i386.h (SIGSEGV_FAULT_STACKPOINTER): Use sc_rsp
216         also on x86_64-freebsd platform.
217         Reported by Dmitri Hrapof <hrapof@common-lisp.ru> and
218         Petr Salinger <Petr.Salinger@seznam.cz>.
220 2007-11-15  Bruno Haible  <bruno@clisp.org>
222         * configure.ac (CFG_SIGNALS, CFG_FAULT): Port to i586-kfreebsd-gnu
223         and x86_64-kfreebsd-gnu.
224         * src/fault-freebsd-i386.h (SIGSEGV_FAULT_STACKPOINTER): Likewise.
225         Based on patch by Petr Salinger <Petr.Salinger@seznam.cz>.
227 2007-11-11  Bruno Haible  <bruno@clisp.org>
229         * Version 2.5 released.
231 2007-11-11  Bruno Haible  <bruno@clisp.org>
233         * configure.ac: Bump version number to 2.5.
234         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
236 2007-10-28  Bruno Haible  <bruno@clisp.org>
238         * src/handler-macos.c (catch_exception_raise): Align the new stack
239         pointer on a 16-byte boundary.
240         * src/handler-win32.c (main_exception_filter): Correct alignment:
241         %esp must be aligned to == -4 mod 16 upon function entry.
243 2007-10-28  Bruno Haible  <bruno@clisp.org>
245         * src/sigsegv.h.in (stackoverflow_install_handler): Avoid comment
246         inside comment.
247         Reported by Chris Willmore <willmc@rpi.edu>.
249 2007-10-28  Bruno Haible  <bruno@clisp.org>
251         * src/machfault-macos-powerpc.h (SIGSEGV_FAULT_ADDRESS,
252         SIGSEGV_STACK_POINTER, SIGSEGV_PROGRAM_COUNTER): Add __DARWIN_UNIX03
253         conditional.
254         * src/machfault-macos-i386.h (SIGSEGV_FAULT_ADDRESS,
255         SIGSEGV_STACK_POINTER, SIGSEGV_PROGRAM_COUNTER): Likewise.
256         * src/fault-macosdarwin7-powerpc.h (SIGSEGV_FAULT_STACKPOINTER):
257         Likewise.
258         * src/fault-macosdarwin7-powerpc.c (get_fault_addr): Likewise.
259         Reported by Chris Willmore <willmc@rpi.edu>.
261 2007-01-12  Bruno Haible  <bruno@clisp.org>
263         * Makefile.am (check-next): Don't ask for reports from x86_64-*-linux*
264         platforms.
266 2006-07-14  Bruno Haible  <bruno@clisp.org>
268         * m4/sigaltstack.m4 (SV_SIGALTSTACK): Use SIGSTKSZ instead of
269         hardcoding 16384.
270         * m4/sigaltstack-longjmp.m4 (SV_TRY_LEAVE_HANDLER_LONGJMP): Likewise.
271         * m4/sigaltstack-siglongjmp.m4 (SV_TRY_LEAVE_HANDLER_SIGLONGJMP):
272         Likewise.
273         * tests/stackoverflow1.c (main): Likewise.
274         * tests/stackoverflow2.c (main): Likewise.
275         * src/sigsegv.h.in (stackoverflow_install_handler): Update
276         recommendation for extra_stack_size.
277         Needed for ia64.
278         Reported by Peter Van Eynde <pvaneynd@users.sourceforge.net>.
280 2006-06-23  Bruno Haible  <bruno@clisp.org>
282         * Version 2.4 released.
284 2006-06-23  Bruno Haible  <bruno@clisp.org>
286         * configure.ac: Bump version number to 2.4.
287         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
289 2006-06-17  Bruno Haible  <bruno@clisp.org>
291         * src/Makefile.am (noinst_HEADERS): Add fault-netbsd.h.
293 2006-06-17  Bruno Haible  <bruno@clisp.org>
295         * m4/sigaltstack.m4: Insert 'volatile' and pass a pointer, to defeat
296         GCC 4 optimizations.
297         * m4/sigaltstack-longjmp.m4: Likewise.
298         * m4/sigaltstack-siglongjmp.m4: Likewise.
300 2006-06-17  Bruno Haible  <bruno@clisp.org>
302         * tests/stackoverflow1.c (recurse): Remove useless cast.
303         * tests/stackoverflow2.c (recurse): Likewise.
305 2006-06-17  Bruno Haible  <bruno@clisp.org>
307         * src/stackvma-freebsd.c (sigsegv_get_vma): Test whether mincore()
308         works as expected before using it.
310 2006-03-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
312         * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ]: Avoid warning when
313         "parsing" /etc/ld.so.conf and empty /etc/ld.so.conf.d.
315 2006-06-13  Bruno Haible  <bruno@clisp.org>
317         Make NetBSD/i386 stack overflow detection work even without mincore.
318         * src/fault-netbsd.h: New file.
319         * configure.ac (CFG_FAULT): Choose it when appropriate.
321 2006-05-16  Bruno Haible  <bruno@clisp.org>
323         Don't allow the compiler to reorder instructions in the tests.
324         * tests/sigsegv1.c (crashes): Use volatile in pointer access.
325         * tests/sigsegv2.c (main): Likewise.
326         * tests/stackoverflow2.c (main): Likewise.
328 2006-05-14  Bruno Haible  <bruno@clisp.org>
330         Exploit the mincore() system call where available.
331         * src/stackvma-mincore.c: New file.
332         * src/Makefile.am (EXTRA_DIST): Add it.
333         * src/stackvma.h: Add double-inclusion guard.
334         * src/stackvma-freebsd.c: If mincore() is available, include also
335         stackvma-mincore.c.
336         (sigsegv_get_vma): If mincore() is available, use it as fallback.
337         * src/stackvma-linux.c: If mincore() is available, include also
338         stackvma-mincore.c.
339         (sigsegv_get_vma): If mincore() is available, use it as fallback.
340         * src/stackvma-procfs.c: If mincore() is available, include also
341         stackvma-mincore.c.
342         (sigsegv_get_vma): If mincore() is available, use it as fallback.
343         * configure.ac: Test for mincore.
344         (CFG_STACKVMA): Set to stackvma-mincore.c if nothing else is available.
346 2006-05-14  Bruno Haible  <bruno@clisp.org>
348         * src/stackvma-simple.c: New file, extracted from handler-unix.c.
349         * src/Makefile.am (EXTRA_DIST): Add it.
350         * src/stackvma-beos.c: Include stackvma-simple.c.
351         (sigsegv_get_vma): Fill the vma's is_near_this field.
352         * src/stackvma-freebsd.c: Include stackvma-simple.c.
353         (sigsegv_get_vma): Fill the vma's is_near_this field.
354         * src/stackvma-linux.c: Include stackvma-simple.c.
355         (sigsegv_get_vma): Fill the vma's is_near_this field.
356         * src/stackvma-mach.c: Include stackvma-simple.c.
357         (sigsegv_get_vma): Fill the vma's is_near_this field.
358         * src/stackvma-procfs.c: Include stackvma-simple.c.
359         (sigsegv_get_vma): Fill the vma's is_near_this field.
360         * src/stackvma.h (vma_struct): Add is_near_this field.
361         * src/handler-unix.c (sigsegv_handler): Use the vma's is_near_this
362         function.
364 2006-04-28  Bruno Haible  <bruno@clisp.org>
366         * Version 2.3 released.
368 2006-04-28  Bruno Haible  <bruno@clisp.org>
370         * configure.ac: Bump version number to 2.3.
371         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
373         * build-aux/config.guess, build-aux/config.sub: Update to GNU version
374         2006-04-26.
376         * build-aux/install-sh: Update from automake-1.9.6.
377         * build-aux/missing: Likewise.
379         * build-aux/ltmain.sh: Update from libtool-1.5.22.
380         * m4/libtool.m4: Likewise.
382 2006-04-28  Bruno Haible  <bruno@clisp.org>
384         * build-aux: Renamed from autoconf.
385         * configure.ac (AC_CONFIG_AUX_DIR): Set to build-aux.
387 2006-04-22  Bruno Haible  <bruno@clisp.org>
389         * configure.ac: Renamed from configure.in.
391 2006-04-21  Bruno Haible  <bruno@clisp.org>
393         * src/machfault-macos-i386.h: Rewritten for Darwin 8.6.1.
394         * configure.in: Change FAULT_CONTEXT for i?86-darwin.
396 2005-06-21  Paolo Bonzini  <bonzini@gnu.org>
398         * configure.in: For handler-macos.c, include mach/thread_status.h.
399         * configure: Regenerate.
401 2005-06-21  Paolo Bonzini  <bonzini@gnu.org>
403         * tests/stackoverflow1.c (recurse): Make more resilient to compiler
404         optimization.
405         (recurse_1): New.
406         * tests/stackoverflow2.c: Likewise.
408 2005-05-24  Bruno Haible  <bruno@clisp.org>
410         * src/handler-win32.c (main_exception_filter): Copy CONTEXT structure
411         to safe area on the stack.
412         Based on patch by Doug Currie <e@flavors.com>.
414         * src/handler-win32.c (main_exception_filter): Swap arguments passed
415         to stack_overflow_handler.
416         Patch by Doug Currie <e@flavors.com>.
418         * src/handler-win32.c (main_exception_filter): Align %esp on a 16-byte
419         boundary.
421 2005-03-02  Bruno Haible  <bruno@clisp.org>
423         * Version 2.2 released.
425 2005-03-02  Bruno Haible  <bruno@clisp.org>
427         * autoconf/config.guess: Update.
428         * autoconf/config.sub: Update.
429         * autoconf/missing: Update from automake-1.9.5.
431         * m4/libtool.m4: Upgrade to libtool-1.5.14 with gettext modifications.
432         * autoconf/ltmain.sh: Likewise.
434 2005-03-02  Bruno Haible  <bruno@clisp.org>
436         * src/fault-aix5.h: New file.
437         * src/fault-aix5-powerpc.h: New file.
438         * src/Makefile.am (noinst_HEADERS): Add them.
439         * configure.in: Choose them when the POSIX test succeeds on AIX.
441         * src/fault-aix3-powerpc.h: Renamed from src/fault-aix-powerpc.h.
442         * src/fault-aix3.h: Renamed from src/fault-aix.h.
443         * src/Makefile.am (noinst_HEADERS): Update.
444         * configure.in: Update. When cross-compiling, assume the AIX test
445         succeeds only on AIX 3 and AIX 4.
447 2005-03-01  Bruno Haible  <bruno@clisp.org>
449         * configure.in: Fix test of CFG_MACHFAULT.
451 2005-02-27  Bruno Haible  <bruno@clisp.org>
453         * configure.in: Skip tests that are not needed on MacOS X >= 10.2.
454         * m4/sigaltstack.m4 (SV_SIGALTSTACK): Don't perform the test on
455         MacOS X >= 10.2.
457 2005-02-18  Bruno Haible  <bruno@clisp.org>
459         * tests/sigsegv1.c (handler_called): Declare as volatile.
460         * tests/sigsegv2.c (logcount, logdata): Likewise.
461         * tests/stackoverflow1.c (pass): Likewise.
462         * tests/stackoverflow2.c (pass): Likewise.
464 2005-01-29  Bruno Haible  <bruno@clisp.org>
466         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): New macro.
467         (libsigsegv_version): New declaration.
468         * src/version.c: New file.
469         * src/Makefile.am (libsigsegv_la_SOURCES): Add version.c.
470         * Makefile.msvc (OBJECTS): Add version.obj.
471         (version.obj): New rule.
472         Suggested by Sam Steingold.
474 2004-08-25  Bruno Haible  <bruno@clisp.org>
476         * m4/libtool.m4: Upgrade to libtool-1.5.6.
477         * autoconf/ltmain.sh: Upgrade to libtool-1.5.6.
479 2004-08-18  Bruno Haible  <bruno@clisp.org>
481         * configure.in: Bump version number to 2.2.
483 2004-08-17  Bruno Haible  <bruno@clisp.org>
485         Finish the Mach-based MacOS X support.
486         * src/handler-macos.c: Don't include mach/vm_map.h.
487         Include machfault.h instead of fault.h.
488         (save_exc_state): Remove variable.
489         (save_thread_state): New variable.
490         (terminating_handler): New function.
491         (altstack_handler): Pass the save_thread_state, not the save_exc_state,
492         to the user's handler.
493         (catch_exception_raise): Make it work also for platforms which don't
494         have an exc_state type. Call SIGSEGV_FAULT_ADDRESS with 2 arguments.
495         Don't clobber the exc_state; instead set the thread's program counter
496         to terminating_handler or altstack_handler, depending on the case.
497         Return KERN_SUCCESS at the end.
498         * src/machfault.h: New file.
499         * src/machfault-macos-powerpc.h (SIGSEGV_FAULT_ADDRESS): Add a second
500         argument.
501         * src/machfault-macos-i386.h: New file.
502         * src/Makefile.am (EXTRA_DIST): Add handler-macos.c.
503         (NOINST_HEADERS): Add machfault.h, machfault-macos-i386.h,
504         machfault-macos-powerpc.h.
505         * configure.in (CFG_HANDLER): Initialize to empty.
506         (CFG_MACHFAULT): New substituted variable.
507         On MacOS X PowerPC+i386, use CFG_HANDLER=handler-macos.c
508         unconditionally.
509         (sv_cv_fault_include, sv_cv_have_stack_overflow_recovery): Set
510         correctly also in the handler-macos.c case.
512 2004-08-16  Bruno Haible  <bruno@clisp.org>
514         Support for MacOS X 10.3 on PowerPC.
515         * src/fault-macosdarwin5-powerpc.h: Renamed from
516         src/fault-macos-powerpc.h.
517         * src/fault-macosdarwin5-powerpc.c: Renamed from
518         src/fault-macos-powerpc.c.
519         * src/fault-macosdarwin7-powerpc.h: New file.
520         * src/fault-macosdarwin7-powerpc.c: New file.
521         * src/Makefile.am (noinst_HEADERS): Update.
522         * configure.in: Test the method for MacOSX/Darwin5 PowerPC only after
523         the method for MacOSX/Darwin7 PowerPC failed.
524         Substitute FAULT_CONTEXT_INCLUDE2.
525         * src/sigsegv.h.in: Insert @FAULT_CONTEXT_INCLUDE2@.
526         * src/Makefile.am (sigsegv.h.msvc): Replace @FAULT_CONTEXT_INCLUDE2@.
528 2003-12-09  Paolo Bonzini  <bonzini@gnu.org>
530         * src/handler-macos.c: Completed; removed dependency on
531         signals.
532         * src/machfault-macos-powerpc.h: Reorganized.
534 2003-12-08  Paolo Bonzini  <bonzini@gnu.org>
535             Bruno Haible  <bruno@clisp.org>
537         * src/handler-macos.c: New file.
538         * src/machfault.h: New file.
539         * src/machfault-macos-powerpc.h: New file.
541 2003-12-05  Bruno Haible  <bruno@clisp.org>
543         * m4/fault.m4: Tweak indentation. Bump serial number.
544         * m4/getpagesize.m4: Likewise.
545         * m4/mmap-anon.m4: Likewise.
546         * m4/sigaltstack.m4: Likewise.
547         * m4/sigaltstack-longjmp.m4: Likewise.
548         * m4/sigaltstack-siglongjmp.m4: Likewise.
550 2003-12-05  Paolo Bonzini  <bonzini@gnu.org>
552         * aclocal.m4: Regenerate with Automake 1.7h.
553         * configure.in: Drop m4/Makefile from list of generated files.
554         * configure: Regenerate.
555         * Makefile.am (install-data-hook): New name of the install-am
556         target, for Automake 1.8 compatibility.  Other -am targets
557         are not affected because Automake does not have anything to
558         do to make them.
559         (AUTOMAKE_OPTIONS): Bump minimum Automake requirement to 1.7h.
560         (SUBDIRS): Remove m4.
561         ($(srcdir)/config.h.msvc): New target for config.h.msvc.
562         * Makefile.in: Regenerate with Automake 1.7h.
563         * m4/Makefile.am: Delete, Automake 1.7h takes care of it.
564         * m4/Makefile.in: Delete.
565         * src/Makefile.am (installdirs): Delete, Automake 1.7h adds it.
566         * src/Makefile.in: Regenerate with Automake 1.7h.
567         * tests/Makefile.in: Regenerate with Automake 1.7h.
569         * autoconf/config.guess: Update from automake-1.7h.
570         * autoconf/config.sub: Likewise.
571         * autoconf/install.sh: Likewise.
572         * autoconf/missing: Likewise.
573         * autoconf/mkinstalldirs: Delete.
574         * m4/fault.m4: autoupdate and manually tweak.
575         * m4/sigaltstack.m4: Likewise.
576         * m4/sigaltstack-longjmp.m4: Likewise.
577         * m4/sigaltstack-siglongjmp.m4: Likewise.
578         * m4/mmap-anon.m4: Likewise.
579         * m4/getpagesize.m4: Likewise.
581 2003-10-29  Bruno Haible  <bruno@clisp.org>
583         * tests/sigsegv1.c (main): Add a check whether mprotect with
584         PROT_READ_WRITE really works.
585         * tests/sigsegv2.c (main): Likewise.
586         Reported by Ullal Devappa Kini <wmbfqj@vsnl.net>.
588 2003-08-21  Bruno Haible  <bruno@clisp.org>
590         * Version 2.1 released.
592 2003-06-24  Paolo Bonzini  <bonzini@gnu.org>
594         * m4/fault.m4: Exit if we detect an infinite loop.
595         * aclocal.m4: Regenerate.
596         * configure: Regenerate.
598 2003-06-18  Bruno Haible  <bruno@clisp.org>
600         * autoconf/install-sh: Update from automake-1.7.5.
602 2003-05-14  Paolo Bonzini  <bonzini@gnu.org>
604         * configure.in: Use signals-bsd.h for OpenBSD and NetBSD too.
605         Support instruction decoding to get fault address for Alphas.
606         * src/fault-netbsd-alpha.h: New file.
607         * src/fault-netbsd-alpha.c: New file.
608         * src/Makefile.am (noinst_HEADERS): Add them.
610 2003-05-14  Paolo Bonzini  <bonzini@gnu.org>
612         * src/dispatcher.c (insert): Fix lossage in 64-bit environments
613         (cast from void* to unsigned int).
615 2003-05-10  Bruno Haible  <bruno@clisp.org>
617         * tests/Makefile.am (../src/libsigsegv.la): New rule.
619         * Makefile.msvc (handler.obj): Complete the dependencies.
620         (stackoverflow2.exe): New rule.
621         (check): Depend on it.
622         (clean): Remove it.
624 2003-05-10  Paolo Bonzini  <bonzini@gnu.org>
625             Bruno Haible  <bruno@clisp.org>
627         * configure.in: AC_SUBST of CFG_STACKVMA, CFG_LEAVE, CFG_HANDLER.
628         * src/Makefile.am: Add dependencies for the object files.
630 2003-05-08  Paolo Bonzini  <bonzini@gnu.org>
632         * configure.in: Add $srcdir/ to #include statements. Needed when
633         builddir != srcdir.
635         * src/signals-macos.h (SIGSEGV_FOR_ALL_SIGNALS): Add SIGSEGV.
637 2003-05-03  Paolo Bonzini  <bonzini@gnu.org>
639         * configure.in: Tweak 2003-04-26 patch so that it works on mingw32 and
640         Cygwin.
642 2003-05-02  Bruno Haible  <bruno@clisp.org>
644         * src/handler-unix.c: Add special case for stack handling on IA-64.
645         * src/fault-linux-ia64.h: Complete the port.
646         * configure.in: Improve Linux/IA-64 support.
648 2003-05-01  Bruno Haible  <bruno@clisp.org>
650         * configure.in: Don't use fault-hurd.h on NetBSD/alpha. It does not
651         work.
653 2003-05-01  Bruno Haible  <bruno@clisp.org>
655         Support for Linux/HPPA.
656         * fault-linux-hppa.h: Don't include <siginfo.h>.
657         (SIGSEGV_FAULT_ADDRESS): Change.
658         (SIGSEGV_FAULT_ADDRESS_FROM_SIGINFO): Define it, otherwise the value
659         passed for sip is 0.
660         (SIGSEGV_FAULT_CONTEXT, SIGSEGV_FAULT_STACKPOINTER): Remove macros.
661         * configure.in: Improve Linux/HPPA support.
663 2003-05-01  Bruno Haible  <bruno@clisp.org>
665         Support for OpenBSD/i386.
666         * src/fault-openbsd.h: New file.
667         * src/fault-openbsd-i386.h: New file.
668         * src/Makefile.am (noinst_HEADERS): Add them.
669         * configure.in: If the POSIX test works and the OS is OpenBSD, use
670         fault-openbsd.h instead of fault-posix.h.
672 2003-05-01  Bruno Haible  <bruno@clisp.org>
674         * src/fault-hpux-hppa.h: Make it work on machines with 64-bit registers
675         as well.
676         * configure.in: Likewise.
678 2003-04-29  Bruno Haible  <bruno@clisp.org>
680         * configure.in: Define HAVE_STACKVMA if CFG_STACKVMA is nontrivial.
681         * src/handler-unix.c: Test HAVE_STACKVMA instead of CFG_STACKVMA.
683         * m4/fault.m4 (SV_TRY_FAULT): On HP-UX, always pass 0 as first argument
684         of mmap().
685         * tests/mmaputil.h (mmap_zeromap): Likewise.
687 2003-04-28  Bruno Haible  <bruno@clisp.org>
689         * src/stackvma-freebsd.c (sigsegv_get_vma): Fix logic error.
691 2002-04-17  Paolo Bonzini  <bonzini@gnu.org>
693         Support for Cygwin.
694         * configure.in: Treat cygwin* like mingw*.
695         * src/handler-win32.c [CYGWIN] (exception_list, _except_list,
696         debug_get_except_list, cygwin_exception_handler,
697         libsigsegv_exception_handler, do_install_main_exception_filter): New
698         definitions.
699         (install_main_exception_filter): New function.
700         (sigsegv_install_handler, stackoverflow_install_handler): Call it.
702 2003-04-26  Bruno Haible  <bruno@clisp.org>
704         * configure.in: Don't set sv_cv_have_stack_overflow_recovery=yes if
705         not all of the fault-*.h and stackvma-*.h premises are fulfilled.
706         Reported by Paolo Bonzini <bonzini@gnu.org> for NetBSD/Alpha.
708 2003-04-03  Bruno Haible  <bruno@clisp.org>
710         * configure.in: Add --enable-relocatable option.
711         * m4/relocatable.m4: New file, from GNU gettext.
712         * m4/Makefile.am (EXTRA_DIST): Add it.
714         * m4/libtool.m4: Update from GNU gettext, based on libtool-1.4.3.
715         * autoconf/ltmain.sh: Likewise.
717 2003-04-02  Bruno Haible  <bruno@clisp.org>
719         * configure.in: Bump version number to 2.1.
721         * tests/stackoverflow2.c: New file, based on code by Paolo Bonzini.
722         * tests/Makefile.am (TESTS, noinst_PROGRAMS): Add stackoverflow2.
724 2003-04-02  Paolo Bonzini  <bonzini@gnu.org>
725             Bruno Haible  <bruno@clisp.org>
727         Complete the port to MacOS X (Darwin).
728         * m4/fault.m4: Include sys/signal.h. Have an exit status of 3 instead
729         of 1 if fault_address is misdetected.
730         * m4/sigaltstack.m4: Define stack_t to struct sigaltstack if absent.
731         Include <sys/signal.h>.
732         * configure.in: Add check for sys/signal.h.
733         Add support for catching stack overflow on MacOSX.
734         Add support for MacOSX on i386.
735         Provide a fallback for SS_ONSTACK before using it.
736         * src/fault-macos-i386.h: New file.
737         * src/stackvma-mach.c: New file.
738         * src/fault-macos-powerpc.h (SIGSEGV_FAULT_STACKPOINTER): Change.
739         * src/handler-unix.c: Include <sys/signal.h>.
740         (SS_DISABLE): Provide a fallback.
741         * src/leave-sigaltstack.c: Include sys/signal.h.
742         (SS_ONSTACK): Provide a fallback.
743         * src/Makefile.am (noinst_HEADERS): Add fault-macos-i386.h.
744         (EXTRA_DIST): Add stackvma-mach.c.
745         * tests/sigsegv1.c: Abort after 10 handler invocations.
746         (main): Drop SKIP message, now emitted by automake 1.7.x.
747         * tests/sigsegv2.c: Abort after 10 handler invocations.
748         (main): Drop SKIP message, now emitted by automake 1.7.x.
749         * tests/stackoverflow1.c (main): Drop SKIP message, now emitted by
750         automake 1.7.x.
752 2002-10-14  Bruno Haible  <bruno@clisp.org>
754         * src/fault-none.h: New file.
755         * src/fault.h: Include CFG_FAULT unconditionally.
756         * src/leave-none.c: New file.
757         * src/leave.c: Include CFG_LEAVE unconditionally.
758         * src/stackvma.c: Include CFG_STACKVMA unconditionally.
759         * configure.in (CFG_LEAVE, CFG_STACKVMA): Define always.
760         * src/Makefile.am (noinst_HEADERS): Add fault-none.h.
761         (EXTRA_DIST): Add leave-none.c.
762         Reported by Paolo Bonzini <bonzini@gnu.org>.
764 2002-09-30  Bruno Haible  <bruno@clisp.org>
766         * src/Makefile.am (noinst_HEADERS): Add fault-hurd.h,
767         fault-linux-m68k.c, fault-macos-powerpc.h, fault-macos-powerpc.c,
768         signals-hurd.h, signals-macos.h.
770 2002-09-30  Bruno Haible  <bruno@clisp.org>
772         * Makefile.am (check-next): Don't ask for reports from i?86-*-linux*
773         platforms.
775 2002-09-30  Bruno Haible  <bruno@clisp.org>
777         Better Linux/PowerPC support.
778         * configure.in: Change Linux/PowerPC support.
779         * src/fault-linux-powerpc.h (SIGSEGV_FAULT_ADDRESS): New macro.
781 2002-09-30  Bruno Haible  <bruno@clisp.org>
783         Better Linux/m68k support.
784         * configure.in: Change Linux/m68k support.
785         * src/fault-linux-m68k.c: New file.
786         * src/fault-linux-m68k.h: Use it.
788 2002-09-30  Bruno Haible  <bruno@clisp.org>
790         Tentative Hurd support.
791         * configure.in: Add Hurd support.
792         * src/signals-hurd.h: New file.
793         * src/fault-hurd.h: New file.
795 2002-09-30  Bruno Haible  <bruno@clisp.org>
797         MacOSX/PowerPC support.
798         * configure.in: Add MacOSX/PowerPC support.
799         * src/signals-macos.h: New file.
800         * src/fault-macos-powerpc.c: New file.
801         * src/fault-macos-powerpc.h: New file.
803 2002-09-16  Bruno Haible  <bruno@clisp.org>
805         * src/fault-posix.h: Don't include <siginfo.h>. Needed for hppa-linux.
806         Reported by Will Newton <will@misconception.org.uk>.
808 2002-08-28  Bruno Haible  <bruno@clisp.org>
810         * Version 2.0 released.
812 2002-07-28  Bruno Haible  <bruno@clisp.org>
814         Big reorganization and rewrite. Every file changed.