Regenerated.
[libsigsegv/ericb.git] / ChangeLog
blobc2fa1273bea3dba1030d11fc3296edbf5c43615a
1 2009-06-23  Bruno Haible  <bruno@clisp.org>
3         * Makefile.am (check-next): No longer ask for copies of config.log.
5 2009-06-23  Bruno Haible  <bruno@clisp.org>
7         Improve support for MirBSD 10.
8         * configure.ac (CFG_FAULT, FAULT_CONTEXT): Treat MirBSD/i386 like
9         OpenBSD/i386.
11 2009-06-23  Bruno Haible  <bruno@clisp.org>
13         Add support for platforms that follow POSIX:2008, not POSIX:2001.
14         * configure.ac (POSIX): Add MirBSD to known list.
15         (CFG_FAULT, FAULT_CONTEXT, FAULT_CONTEXT_INCLUDE): Define appropriately
16         when <ucontext.h> does not exist.
17         * src/fault-posix-ucontext.h: Renamed from src/fault-posix.h.
18         * src/fault-posix.h: New file.
19         * src/fault-aix5.h: Update.
20         * src/fault-hpux-hppa.h: Update.
21         * src/fault-netbsd.h: Update.
22         * src/fault-solaris.h: Update.
23         * src/Makefile.am (noinst_HEADERS): Add fault-posix-ucontext.h.
25 2009-06-23  Bruno Haible  <bruno@clisp.org>
27         * configure.ac (FAULT_CONTEXT_INCLUDE): Reinstall the AC_SUBST
28         invocation.
30 2009-05-21  Bruno Haible  <bruno@clisp.org>
32         * configure.ac (FAULT_CONTEXT_INCLUDE): Don't substitute into
33         Makefiles.
35 2009-05-21  Bruno Haible  <bruno@clisp.org>
37         * tests/Makefile.am (AUTOMAKE_OPTIONS): Assume automake >= 1.11.
38         Use color-tests option.
40 2009-01-14  Bruno Haible  <bruno@clisp.org>
42         * configure.ac: More consistent m4 quoting.
44 2008-09-27  Bruno Haible  <bruno@clisp.org>
46         * build-aux/config.sub: Update to GNU version 2008-09-08.
48 2008-09-23  Eric Blake  <ebb9@byu.net>
50         Use 2 * SIGSTKSZ consistently in configuration checks.
51         * m4/sigaltstack.m4 (SV_SIGALTSTACK): Work around IRIX sigaltstack bug.
52         * m4/sigaltstack-longjmp.m4 (SV_TRY_LEAVE_HANDLER_LONGJMP): Likewise.
53         * m4/sigaltstack-siglongjmp.m4 (SV_TRY_LEAVE_HANDLER_SIGLONGJMP):
54         Likewise.
56 2008-09-21  Bruno Haible  <bruno@clisp.org>
58         * src/Makefile.am (LIBSIGSEGV_VERSION_INFO): New variable.
59         (libsigsegv_la_LDFLAGS): Pass -rpath and -version-info option.
60         Reported by Thomas Klausner <tk@giga.or.at>.
62 2008-09-21  Eric Blake  <ebb9@byu.net>
63             Bruno Haible  <bruno@clisp.org>
65         Detect and work around bug in Irix 5.3 sigaltstack.
66         * m4/sigaltstack.m4 (SV_SIGALTSTACK): Test for broken stack_t direction
67         in sigaltstack.
68         * src/handler-unix.c (stackoverflow_install_handler): Adjust stack
69         accordingly.
70         * tests/stackoverflow1.c (stack_lower_bound, stack_upper_bound): New
71         variables.
72         (stackoverflow_handler): Use them to expose IRIX bug.
73         (main): Initialize them.
75 2008-09-07  Bruno Haible  <bruno@clisp.org>
77         * m4/libtool.m4: Update from libtool-2.2.6.
78         * m4/ltoptions.m4: Likewise.
79         * m4/ltsugar.m4: Likewise.
80         * m4/ltversion.m4: Likewise.
81         * build-aux/ltmain.sh: Likewise.
83 2008-08-25  Bruno Haible  <bruno@clisp.org>
85         * Version 2.6 released.
87 2008-08-24  Bruno Haible  <bruno@clisp.org>
89         * configure.ac: Treat Dragonfly BSD platforms like FreeBSD.
90         Reported by Thomas Klausner <tk@giga.or.at>.
92 2008-08-24  Bruno Haible  <bruno@clisp.org>
94         * src/stackvma-mincore.c (mincore_is_near_this): Improve logic. Needed
95         for reliable NULL pointer access classification as SIGSEGV on AIX 4.3.
97 2008-08-24  Bruno Haible  <bruno@clisp.org>
99         * m4/sigaltstack.m4: Change 'volatile int' return type to 'int'. Needed
100         for AIX 4.3 xlc.
101         * m4/sigaltstack-longjmp.m4: Likewise.
102         * m4/sigaltstack-siglongjmp.m4: Likewise.
103         * tests/stackoverflow1.c (recurse): Likewise.
104         * tests/stackoverflow2.c (recurse): Likewise.
106 2008-08-24  Bruno Haible  <bruno@clisp.org>
108         * tests/sigsegv1.c: Include <config.h>.
109         * tests/sigsegv2.c: Likewise.
110         * tests/sigsegv3.c: Include <config.h> before all other headers.
111         * tests/stackoverflow1.c: Likewise.
112         * tests/stackoverflow2.c: Likewise.
114 2008-08-24  Bruno Haible  <bruno@clisp.org>
116         Fix the sigsegv3 test on MacOS X.
117         * src/sigsegv.h.in (sigsegv_leave_handler): Take 4 arguments.
118         * NEWS: Mention the change.
119         * src/handler-macos.c (our_exception_thread, signalled_thread): New
120         variables.
121         (catch_exception_raise): Set signalled_thread during the user_handler
122         invocation.
123         (mach_exception_thread): Initialize our_exception_thread.
124         (sigsegv_leave_handler): Take 4 arguments. When called from within
125         the exception thread, let the signalled thread do a hyperjump.
126         * src/handler-unix.c (sigsegv_leave_handler): Take 4 arguments.
127         * src/handler-win32.c (sigsegv_leave_handler): Likewise.
128         * src/handler-none.c (sigsegv_leave_handler): Likewise.
129         * src/machfault-macos.h (SIGSEGV_INTEGER_ARGUMENT_1,
130         SIGSEGV_INTEGER_ARGUMENT_2, SIGSEGV_INTEGER_ARGUMENT_3,
131         SIGSEGV_FRAME_POINTER): New macros.
132         * tests/sigsegv3.c (handler_continuation): New function.
133         (handler): Update to new API.
134         * tests/stackoverflow1.c (stackoverflow_handler_continuation): New
135         function.
136         (stackoverflow_handler): Update to new API.
137         * tests/stackoverflow2.c (stackoverflow_handler_continuation): New
138         function.
139         (stackoverflow_handler, sigsegv_handler): Update to new API.
141 2008-08-24  Bruno Haible  <bruno@clisp.org>
143         Test the use of sigsegv_leave_handler from within a SIGSEGV handler.
144         * tests/sigsegv3.c: New file.
145         * tests/Makefile.am (TESTS, noinst_PROGRAMS): Add sigsegv3.
147 2008-08-23  Eric Blake  <ebb9@byu.net>
149         * src/Makefile.am (noinst_HEADERS): Remove machfault-macos-powerpc.h
150         and machfault-macos-i386.h. Add machfault-macos.h.
152 2008-08-17  Bruno Haible  <bruno@clisp.org>
154         Allow building universal binaries on MacOS X.
155         * src/machfault-macos.h: New file, combining
156         src/machfault-macos-powerpc.h and src/machfault-macos-i386.h.
157         * src/machfault-macos-powerpc.h: Remove file.
158         * src/machfault-macos-i386.h: Remove file.
159         * configure.ac (CFG_MACHFAULT): Set to machfault-macos.h.
160         (FAULT_CONTEXT_INCLUDE) [MacOSX]: Set to #ifdefs for all four possible
161         architectures.
163 2008-07-20  Bruno Haible  <bruno@clisp.org>
165         Make sigsegv_get_vma async-safe.
166         * src/sigsegv.h.in (sigsegv_handler_t, stackoverflow_handler_t):
167         Mention async-safety constraints.
168         + src/stackvma-rofile.c: New file.
169         * src/stackvma-freebsd.c: Include stackvma-rofile.c.
170         (sigsegv_get_vma): Use struct rofile instead of FILE.
171         * src/stackvma-linux.c: Include stackvma-rofile.c.
172         (sigsegv_get_vma): Use struct rofile instead of FILE.
173         * src/stackvma-procfs.c: Include <sys/mman.h> instead of <stdlib.h> and
174         <stdio.h>.
175         (sigsegv_get_vma): Avoid using sprintf. Ensure pagesize is initialized.
176         Use mmap/munmap instead of malloc/free.
177         * src/Makefile.am (EXTRA_DIST): Add stackvma-rofile.c.
178         Reported by Eric Blake <ebb9@byu.net>.
180 2008-07-20  Bruno Haible  <bruno@clisp.org>
182         * src/handler-unix.c (sigsegv_handler): Preserve errno.
184 2008-07-20  Eric Blake  <ebb9@byu.net>
186         * src/stackvma-mincore.c (mincore_is_near_this): Fix logic.
188 2008-07-20  Bruno Haible  <bruno@clisp.org>
190         * tests/stackoverflow2.c (main): Test also a NULL pointer access.
191         Reported by Eric Blake <ebb9@byu.net>.
193 2008-06-23  Bruno Haible  <bruno@clisp.org>
195         * build-aux/config.guess: Update to GNU version 2008-06-16.
196         * build-aux/config.sub: Likewise.
198 2008-05-31  Bruno Haible  <bruno@clisp.org>
200         Make cross-compile from MacOS X 10.5 to MacOS X 10.4 work.
201         * src/handler-macos.c (MacOS_X_10_5_HEADERS): New macro.
202         * src/machfault-macos-i386.h: Use it.
203         * src/machfault-macos-powerpc.h: Likewise.
204         Reported by Dr Tomaž Slivnik <slivnik@tomaz.name>.
206 2008-05-31  Bruno Haible  <bruno@clisp.org>
208         * m4/mmap-anon.m4 (SV_MMAP_ANON): Add known cross-compile results for
209         MacOS X.
210         Reported by Dr Tomaž Slivnik <slivnik@tomaz.name>.
212 2008-05-27  Bruno Haible  <bruno@clisp.org>
214         * configure.ac: Require at least autoconf 2.62. Merge
215         FAULT_CONTEXT_INCLUDE2 variable into FAULT_CONTEXT_INCLUDE.
216         * src/sigsegv.h.in: Remove FAULT_CONTEXT_INCLUDE2 substitution.
217         * src/Makefile.am (sigsegv.h.msvc): Update.
219 2008-05-27  Bruno Haible  <bruno@clisp.org>
221         * configure.ac: Bump version number to 2.6.
222         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
224 2008-05-27  Bruno Haible  <bruno@clisp.org>
226         Support for 64-bit mode on MacOS X 10.5.
227         * src/handler-macos.c (catch_exception_raise): Align the stack pointer
228         also on x86_64. Needed for MMX instructions.
229         * src/machfault-macos-i386.h: Choose among 64-bit and 32-bit flavours.
230         Use new names for the 32-bit flavour when possible.
231         * src/machfault-macos-powerpc.h: Choose among 64-bit and 32-bit
232         flavours.
233         * configure.ac (FAULT_CONTEXT, FAULT_CONTEXT_INCLUDE2): Choose
234         right flavour (ppc_thread_state_t/ppc_thread_state64_t or
235         i386_thread_state_t/x86_thread_state32_t/x86_thread_state64_t) at
236         compile time.
238 2008-05-18  Bruno Haible  <bruno@clisp.org>
240         * m4/libtool.m4: Update from libtool-2.2.4.
241         * m4/ltoptions.m4: Likewise.
242         * m4/ltversion.m4: Likewise.
243         * m4/lt~obsolete.m4: Likewise.
244         * build-aux/ltmain.sh: Likewise.
246 2008-04-06  Bruno Haible  <bruno@clisp.org>
248         * m4/libtool.m4: Update from libtool-2.2.2.
249         * m4/ltoptions.m4: New file, from libtool-2.2.2.
250         * m4/ltsugar.m4: New file, from libtool-2.2.2.
251         * m4/ltversion.m4: New file, from libtool-2.2.2.
252         * m4/lt~obsolete.m4: New file, from libtool-2.2.2.
253         * build-aux/ltmain.sh: New file, from libtool-2.2.2.
254         * configure.ac: Use LT_INIT instead of AC_PROG_LIBTOOL.
256 2007-11-16  Bruno Haible  <bruno@clisp.org>
258         * src/fault-freebsd-i386.h (SIGSEGV_FAULT_STACKPOINTER): Use sc_rsp
259         also on x86_64-freebsd platform.
260         Reported by Dmitri Hrapof <hrapof@common-lisp.ru> and
261         Petr Salinger <Petr.Salinger@seznam.cz>.
263 2007-11-15  Bruno Haible  <bruno@clisp.org>
265         * configure.ac (CFG_SIGNALS, CFG_FAULT): Port to i586-kfreebsd-gnu
266         and x86_64-kfreebsd-gnu.
267         * src/fault-freebsd-i386.h (SIGSEGV_FAULT_STACKPOINTER): Likewise.
268         Based on patch by Petr Salinger <Petr.Salinger@seznam.cz>.
270 2007-11-11  Bruno Haible  <bruno@clisp.org>
272         * Version 2.5 released.
274 2007-11-11  Bruno Haible  <bruno@clisp.org>
276         * configure.ac: Bump version number to 2.5.
277         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
279 2007-10-28  Bruno Haible  <bruno@clisp.org>
281         * src/handler-macos.c (catch_exception_raise): Align the new stack
282         pointer on a 16-byte boundary.
283         * src/handler-win32.c (main_exception_filter): Correct alignment:
284         %esp must be aligned to == -4 mod 16 upon function entry.
286 2007-10-28  Bruno Haible  <bruno@clisp.org>
288         * src/sigsegv.h.in (stackoverflow_install_handler): Avoid comment
289         inside comment.
290         Reported by Chris Willmore <willmc@rpi.edu>.
292 2007-10-28  Bruno Haible  <bruno@clisp.org>
294         * src/machfault-macos-powerpc.h (SIGSEGV_FAULT_ADDRESS,
295         SIGSEGV_STACK_POINTER, SIGSEGV_PROGRAM_COUNTER): Add __DARWIN_UNIX03
296         conditional.
297         * src/machfault-macos-i386.h (SIGSEGV_FAULT_ADDRESS,
298         SIGSEGV_STACK_POINTER, SIGSEGV_PROGRAM_COUNTER): Likewise.
299         * src/fault-macosdarwin7-powerpc.h (SIGSEGV_FAULT_STACKPOINTER):
300         Likewise.
301         * src/fault-macosdarwin7-powerpc.c (get_fault_addr): Likewise.
302         Reported by Chris Willmore <willmc@rpi.edu>.
304 2007-01-12  Bruno Haible  <bruno@clisp.org>
306         * Makefile.am (check-next): Don't ask for reports from x86_64-*-linux*
307         platforms.
309 2006-07-14  Bruno Haible  <bruno@clisp.org>
311         * m4/sigaltstack.m4 (SV_SIGALTSTACK): Use SIGSTKSZ instead of
312         hardcoding 16384.
313         * m4/sigaltstack-longjmp.m4 (SV_TRY_LEAVE_HANDLER_LONGJMP): Likewise.
314         * m4/sigaltstack-siglongjmp.m4 (SV_TRY_LEAVE_HANDLER_SIGLONGJMP):
315         Likewise.
316         * tests/stackoverflow1.c (main): Likewise.
317         * tests/stackoverflow2.c (main): Likewise.
318         * src/sigsegv.h.in (stackoverflow_install_handler): Update
319         recommendation for extra_stack_size.
320         Needed for ia64.
321         Reported by Peter Van Eynde <pvaneynd@users.sourceforge.net>.
323 2006-06-23  Bruno Haible  <bruno@clisp.org>
325         * Version 2.4 released.
327 2006-06-23  Bruno Haible  <bruno@clisp.org>
329         * configure.ac: Bump version number to 2.4.
330         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
332 2006-06-17  Bruno Haible  <bruno@clisp.org>
334         * src/Makefile.am (noinst_HEADERS): Add fault-netbsd.h.
336 2006-06-17  Bruno Haible  <bruno@clisp.org>
338         * m4/sigaltstack.m4: Insert 'volatile' and pass a pointer, to defeat
339         GCC 4 optimizations.
340         * m4/sigaltstack-longjmp.m4: Likewise.
341         * m4/sigaltstack-siglongjmp.m4: Likewise.
343 2006-06-17  Bruno Haible  <bruno@clisp.org>
345         * tests/stackoverflow1.c (recurse): Remove useless cast.
346         * tests/stackoverflow2.c (recurse): Likewise.
348 2006-06-17  Bruno Haible  <bruno@clisp.org>
350         * src/stackvma-freebsd.c (sigsegv_get_vma): Test whether mincore()
351         works as expected before using it.
353 2006-03-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
355         * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ]: Avoid warning when
356         "parsing" /etc/ld.so.conf and empty /etc/ld.so.conf.d.
358 2006-06-13  Bruno Haible  <bruno@clisp.org>
360         Make NetBSD/i386 stack overflow detection work even without mincore.
361         * src/fault-netbsd.h: New file.
362         * configure.ac (CFG_FAULT): Choose it when appropriate.
364 2006-05-16  Bruno Haible  <bruno@clisp.org>
366         Don't allow the compiler to reorder instructions in the tests.
367         * tests/sigsegv1.c (crashes): Use volatile in pointer access.
368         * tests/sigsegv2.c (main): Likewise.
369         * tests/stackoverflow2.c (main): Likewise.
371 2006-05-14  Bruno Haible  <bruno@clisp.org>
373         Exploit the mincore() system call where available.
374         * src/stackvma-mincore.c: New file.
375         * src/Makefile.am (EXTRA_DIST): Add it.
376         * src/stackvma.h: Add double-inclusion guard.
377         * src/stackvma-freebsd.c: If mincore() is available, include also
378         stackvma-mincore.c.
379         (sigsegv_get_vma): If mincore() is available, use it as fallback.
380         * src/stackvma-linux.c: If mincore() is available, include also
381         stackvma-mincore.c.
382         (sigsegv_get_vma): If mincore() is available, use it as fallback.
383         * src/stackvma-procfs.c: If mincore() is available, include also
384         stackvma-mincore.c.
385         (sigsegv_get_vma): If mincore() is available, use it as fallback.
386         * configure.ac: Test for mincore.
387         (CFG_STACKVMA): Set to stackvma-mincore.c if nothing else is available.
389 2006-05-14  Bruno Haible  <bruno@clisp.org>
391         * src/stackvma-simple.c: New file, extracted from handler-unix.c.
392         * src/Makefile.am (EXTRA_DIST): Add it.
393         * src/stackvma-beos.c: Include stackvma-simple.c.
394         (sigsegv_get_vma): Fill the vma's is_near_this field.
395         * src/stackvma-freebsd.c: Include stackvma-simple.c.
396         (sigsegv_get_vma): Fill the vma's is_near_this field.
397         * src/stackvma-linux.c: Include stackvma-simple.c.
398         (sigsegv_get_vma): Fill the vma's is_near_this field.
399         * src/stackvma-mach.c: Include stackvma-simple.c.
400         (sigsegv_get_vma): Fill the vma's is_near_this field.
401         * src/stackvma-procfs.c: Include stackvma-simple.c.
402         (sigsegv_get_vma): Fill the vma's is_near_this field.
403         * src/stackvma.h (vma_struct): Add is_near_this field.
404         * src/handler-unix.c (sigsegv_handler): Use the vma's is_near_this
405         function.
407 2006-04-28  Bruno Haible  <bruno@clisp.org>
409         * Version 2.3 released.
411 2006-04-28  Bruno Haible  <bruno@clisp.org>
413         * configure.ac: Bump version number to 2.3.
414         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
416         * build-aux/config.guess, build-aux/config.sub: Update to GNU version
417         2006-04-26.
419         * build-aux/install-sh: Update from automake-1.9.6.
420         * build-aux/missing: Likewise.
422         * build-aux/ltmain.sh: Update from libtool-1.5.22.
423         * m4/libtool.m4: Likewise.
425 2006-04-28  Bruno Haible  <bruno@clisp.org>
427         * build-aux: Renamed from autoconf.
428         * configure.ac (AC_CONFIG_AUX_DIR): Set to build-aux.
430 2006-04-22  Bruno Haible  <bruno@clisp.org>
432         * configure.ac: Renamed from configure.in.
434 2006-04-21  Bruno Haible  <bruno@clisp.org>
436         * src/machfault-macos-i386.h: Rewritten for Darwin 8.6.1.
437         * configure.in: Change FAULT_CONTEXT for i?86-darwin.
439 2005-06-21  Paolo Bonzini  <bonzini@gnu.org>
441         * configure.in: For handler-macos.c, include mach/thread_status.h.
442         * configure: Regenerate.
444 2005-06-21  Paolo Bonzini  <bonzini@gnu.org>
446         * tests/stackoverflow1.c (recurse): Make more resilient to compiler
447         optimization.
448         (recurse_1): New.
449         * tests/stackoverflow2.c: Likewise.
451 2005-05-24  Bruno Haible  <bruno@clisp.org>
453         * src/handler-win32.c (main_exception_filter): Copy CONTEXT structure
454         to safe area on the stack.
455         Based on patch by Doug Currie <e@flavors.com>.
457         * src/handler-win32.c (main_exception_filter): Swap arguments passed
458         to stack_overflow_handler.
459         Patch by Doug Currie <e@flavors.com>.
461         * src/handler-win32.c (main_exception_filter): Align %esp on a 16-byte
462         boundary.
464 2005-03-02  Bruno Haible  <bruno@clisp.org>
466         * Version 2.2 released.
468 2005-03-02  Bruno Haible  <bruno@clisp.org>
470         * autoconf/config.guess: Update.
471         * autoconf/config.sub: Update.
472         * autoconf/missing: Update from automake-1.9.5.
474         * m4/libtool.m4: Upgrade to libtool-1.5.14 with gettext modifications.
475         * autoconf/ltmain.sh: Likewise.
477 2005-03-02  Bruno Haible  <bruno@clisp.org>
479         * src/fault-aix5.h: New file.
480         * src/fault-aix5-powerpc.h: New file.
481         * src/Makefile.am (noinst_HEADERS): Add them.
482         * configure.in: Choose them when the POSIX test succeeds on AIX.
484         * src/fault-aix3-powerpc.h: Renamed from src/fault-aix-powerpc.h.
485         * src/fault-aix3.h: Renamed from src/fault-aix.h.
486         * src/Makefile.am (noinst_HEADERS): Update.
487         * configure.in: Update. When cross-compiling, assume the AIX test
488         succeeds only on AIX 3 and AIX 4.
490 2005-03-01  Bruno Haible  <bruno@clisp.org>
492         * configure.in: Fix test of CFG_MACHFAULT.
494 2005-02-27  Bruno Haible  <bruno@clisp.org>
496         * configure.in: Skip tests that are not needed on MacOS X >= 10.2.
497         * m4/sigaltstack.m4 (SV_SIGALTSTACK): Don't perform the test on
498         MacOS X >= 10.2.
500 2005-02-18  Bruno Haible  <bruno@clisp.org>
502         * tests/sigsegv1.c (handler_called): Declare as volatile.
503         * tests/sigsegv2.c (logcount, logdata): Likewise.
504         * tests/stackoverflow1.c (pass): Likewise.
505         * tests/stackoverflow2.c (pass): Likewise.
507 2005-01-29  Bruno Haible  <bruno@clisp.org>
509         * src/sigsegv.h.in (LIBSIGSEGV_VERSION): New macro.
510         (libsigsegv_version): New declaration.
511         * src/version.c: New file.
512         * src/Makefile.am (libsigsegv_la_SOURCES): Add version.c.
513         * Makefile.msvc (OBJECTS): Add version.obj.
514         (version.obj): New rule.
515         Suggested by Sam Steingold.
517 2004-08-25  Bruno Haible  <bruno@clisp.org>
519         * m4/libtool.m4: Upgrade to libtool-1.5.6.
520         * autoconf/ltmain.sh: Upgrade to libtool-1.5.6.
522 2004-08-18  Bruno Haible  <bruno@clisp.org>
524         * configure.in: Bump version number to 2.2.
526 2004-08-17  Bruno Haible  <bruno@clisp.org>
528         Finish the Mach-based MacOS X support.
529         * src/handler-macos.c: Don't include mach/vm_map.h.
530         Include machfault.h instead of fault.h.
531         (save_exc_state): Remove variable.
532         (save_thread_state): New variable.
533         (terminating_handler): New function.
534         (altstack_handler): Pass the save_thread_state, not the save_exc_state,
535         to the user's handler.
536         (catch_exception_raise): Make it work also for platforms which don't
537         have an exc_state type. Call SIGSEGV_FAULT_ADDRESS with 2 arguments.
538         Don't clobber the exc_state; instead set the thread's program counter
539         to terminating_handler or altstack_handler, depending on the case.
540         Return KERN_SUCCESS at the end.
541         * src/machfault.h: New file.
542         * src/machfault-macos-powerpc.h (SIGSEGV_FAULT_ADDRESS): Add a second
543         argument.
544         * src/machfault-macos-i386.h: New file.
545         * src/Makefile.am (EXTRA_DIST): Add handler-macos.c.
546         (NOINST_HEADERS): Add machfault.h, machfault-macos-i386.h,
547         machfault-macos-powerpc.h.
548         * configure.in (CFG_HANDLER): Initialize to empty.
549         (CFG_MACHFAULT): New substituted variable.
550         On MacOS X PowerPC+i386, use CFG_HANDLER=handler-macos.c
551         unconditionally.
552         (sv_cv_fault_include, sv_cv_have_stack_overflow_recovery): Set
553         correctly also in the handler-macos.c case.
555 2004-08-16  Bruno Haible  <bruno@clisp.org>
557         Support for MacOS X 10.3 on PowerPC.
558         * src/fault-macosdarwin5-powerpc.h: Renamed from
559         src/fault-macos-powerpc.h.
560         * src/fault-macosdarwin5-powerpc.c: Renamed from
561         src/fault-macos-powerpc.c.
562         * src/fault-macosdarwin7-powerpc.h: New file.
563         * src/fault-macosdarwin7-powerpc.c: New file.
564         * src/Makefile.am (noinst_HEADERS): Update.
565         * configure.in: Test the method for MacOSX/Darwin5 PowerPC only after
566         the method for MacOSX/Darwin7 PowerPC failed.
567         Substitute FAULT_CONTEXT_INCLUDE2.
568         * src/sigsegv.h.in: Insert @FAULT_CONTEXT_INCLUDE2@.
569         * src/Makefile.am (sigsegv.h.msvc): Replace @FAULT_CONTEXT_INCLUDE2@.
571 2003-12-09  Paolo Bonzini  <bonzini@gnu.org>
573         * src/handler-macos.c: Completed; removed dependency on
574         signals.
575         * src/machfault-macos-powerpc.h: Reorganized.
577 2003-12-08  Paolo Bonzini  <bonzini@gnu.org>
578             Bruno Haible  <bruno@clisp.org>
580         * src/handler-macos.c: New file.
581         * src/machfault.h: New file.
582         * src/machfault-macos-powerpc.h: New file.
584 2003-12-05  Bruno Haible  <bruno@clisp.org>
586         * m4/fault.m4: Tweak indentation. Bump serial number.
587         * m4/getpagesize.m4: Likewise.
588         * m4/mmap-anon.m4: Likewise.
589         * m4/sigaltstack.m4: Likewise.
590         * m4/sigaltstack-longjmp.m4: Likewise.
591         * m4/sigaltstack-siglongjmp.m4: Likewise.
593 2003-12-05  Paolo Bonzini  <bonzini@gnu.org>
595         * aclocal.m4: Regenerate with Automake 1.7h.
596         * configure.in: Drop m4/Makefile from list of generated files.
597         * configure: Regenerate.
598         * Makefile.am (install-data-hook): New name of the install-am
599         target, for Automake 1.8 compatibility.  Other -am targets
600         are not affected because Automake does not have anything to
601         do to make them.
602         (AUTOMAKE_OPTIONS): Bump minimum Automake requirement to 1.7h.
603         (SUBDIRS): Remove m4.
604         ($(srcdir)/config.h.msvc): New target for config.h.msvc.
605         * Makefile.in: Regenerate with Automake 1.7h.
606         * m4/Makefile.am: Delete, Automake 1.7h takes care of it.
607         * m4/Makefile.in: Delete.
608         * src/Makefile.am (installdirs): Delete, Automake 1.7h adds it.
609         * src/Makefile.in: Regenerate with Automake 1.7h.
610         * tests/Makefile.in: Regenerate with Automake 1.7h.
612         * autoconf/config.guess: Update from automake-1.7h.
613         * autoconf/config.sub: Likewise.
614         * autoconf/install.sh: Likewise.
615         * autoconf/missing: Likewise.
616         * autoconf/mkinstalldirs: Delete.
617         * m4/fault.m4: autoupdate and manually tweak.
618         * m4/sigaltstack.m4: Likewise.
619         * m4/sigaltstack-longjmp.m4: Likewise.
620         * m4/sigaltstack-siglongjmp.m4: Likewise.
621         * m4/mmap-anon.m4: Likewise.
622         * m4/getpagesize.m4: Likewise.
624 2003-10-29  Bruno Haible  <bruno@clisp.org>
626         * tests/sigsegv1.c (main): Add a check whether mprotect with
627         PROT_READ_WRITE really works.
628         * tests/sigsegv2.c (main): Likewise.
629         Reported by Ullal Devappa Kini <wmbfqj@vsnl.net>.
631 2003-08-21  Bruno Haible  <bruno@clisp.org>
633         * Version 2.1 released.
635 2003-06-24  Paolo Bonzini  <bonzini@gnu.org>
637         * m4/fault.m4: Exit if we detect an infinite loop.
638         * aclocal.m4: Regenerate.
639         * configure: Regenerate.
641 2003-06-18  Bruno Haible  <bruno@clisp.org>
643         * autoconf/install-sh: Update from automake-1.7.5.
645 2003-05-14  Paolo Bonzini  <bonzini@gnu.org>
647         * configure.in: Use signals-bsd.h for OpenBSD and NetBSD too.
648         Support instruction decoding to get fault address for Alphas.
649         * src/fault-netbsd-alpha.h: New file.
650         * src/fault-netbsd-alpha.c: New file.
651         * src/Makefile.am (noinst_HEADERS): Add them.
653 2003-05-14  Paolo Bonzini  <bonzini@gnu.org>
655         * src/dispatcher.c (insert): Fix lossage in 64-bit environments
656         (cast from void* to unsigned int).
658 2003-05-10  Bruno Haible  <bruno@clisp.org>
660         * tests/Makefile.am (../src/libsigsegv.la): New rule.
662         * Makefile.msvc (handler.obj): Complete the dependencies.
663         (stackoverflow2.exe): New rule.
664         (check): Depend on it.
665         (clean): Remove it.
667 2003-05-10  Paolo Bonzini  <bonzini@gnu.org>
668             Bruno Haible  <bruno@clisp.org>
670         * configure.in: AC_SUBST of CFG_STACKVMA, CFG_LEAVE, CFG_HANDLER.
671         * src/Makefile.am: Add dependencies for the object files.
673 2003-05-08  Paolo Bonzini  <bonzini@gnu.org>
675         * configure.in: Add $srcdir/ to #include statements. Needed when
676         builddir != srcdir.
678         * src/signals-macos.h (SIGSEGV_FOR_ALL_SIGNALS): Add SIGSEGV.
680 2003-05-03  Paolo Bonzini  <bonzini@gnu.org>
682         * configure.in: Tweak 2003-04-26 patch so that it works on mingw32 and
683         Cygwin.
685 2003-05-02  Bruno Haible  <bruno@clisp.org>
687         * src/handler-unix.c: Add special case for stack handling on IA-64.
688         * src/fault-linux-ia64.h: Complete the port.
689         * configure.in: Improve Linux/IA-64 support.
691 2003-05-01  Bruno Haible  <bruno@clisp.org>
693         * configure.in: Don't use fault-hurd.h on NetBSD/alpha. It does not
694         work.
696 2003-05-01  Bruno Haible  <bruno@clisp.org>
698         Support for Linux/HPPA.
699         * fault-linux-hppa.h: Don't include <siginfo.h>.
700         (SIGSEGV_FAULT_ADDRESS): Change.
701         (SIGSEGV_FAULT_ADDRESS_FROM_SIGINFO): Define it, otherwise the value
702         passed for sip is 0.
703         (SIGSEGV_FAULT_CONTEXT, SIGSEGV_FAULT_STACKPOINTER): Remove macros.
704         * configure.in: Improve Linux/HPPA support.
706 2003-05-01  Bruno Haible  <bruno@clisp.org>
708         Support for OpenBSD/i386.
709         * src/fault-openbsd.h: New file.
710         * src/fault-openbsd-i386.h: New file.
711         * src/Makefile.am (noinst_HEADERS): Add them.
712         * configure.in: If the POSIX test works and the OS is OpenBSD, use
713         fault-openbsd.h instead of fault-posix.h.
715 2003-05-01  Bruno Haible  <bruno@clisp.org>
717         * src/fault-hpux-hppa.h: Make it work on machines with 64-bit registers
718         as well.
719         * configure.in: Likewise.
721 2003-04-29  Bruno Haible  <bruno@clisp.org>
723         * configure.in: Define HAVE_STACKVMA if CFG_STACKVMA is nontrivial.
724         * src/handler-unix.c: Test HAVE_STACKVMA instead of CFG_STACKVMA.
726         * m4/fault.m4 (SV_TRY_FAULT): On HP-UX, always pass 0 as first argument
727         of mmap().
728         * tests/mmaputil.h (mmap_zeromap): Likewise.
730 2003-04-28  Bruno Haible  <bruno@clisp.org>
732         * src/stackvma-freebsd.c (sigsegv_get_vma): Fix logic error.
734 2002-04-17  Paolo Bonzini  <bonzini@gnu.org>
736         Support for Cygwin.
737         * configure.in: Treat cygwin* like mingw*.
738         * src/handler-win32.c [CYGWIN] (exception_list, _except_list,
739         debug_get_except_list, cygwin_exception_handler,
740         libsigsegv_exception_handler, do_install_main_exception_filter): New
741         definitions.
742         (install_main_exception_filter): New function.
743         (sigsegv_install_handler, stackoverflow_install_handler): Call it.
745 2003-04-26  Bruno Haible  <bruno@clisp.org>
747         * configure.in: Don't set sv_cv_have_stack_overflow_recovery=yes if
748         not all of the fault-*.h and stackvma-*.h premises are fulfilled.
749         Reported by Paolo Bonzini <bonzini@gnu.org> for NetBSD/Alpha.
751 2003-04-03  Bruno Haible  <bruno@clisp.org>
753         * configure.in: Add --enable-relocatable option.
754         * m4/relocatable.m4: New file, from GNU gettext.
755         * m4/Makefile.am (EXTRA_DIST): Add it.
757         * m4/libtool.m4: Update from GNU gettext, based on libtool-1.4.3.
758         * autoconf/ltmain.sh: Likewise.
760 2003-04-02  Bruno Haible  <bruno@clisp.org>
762         * configure.in: Bump version number to 2.1.
764         * tests/stackoverflow2.c: New file, based on code by Paolo Bonzini.
765         * tests/Makefile.am (TESTS, noinst_PROGRAMS): Add stackoverflow2.
767 2003-04-02  Paolo Bonzini  <bonzini@gnu.org>
768             Bruno Haible  <bruno@clisp.org>
770         Complete the port to MacOS X (Darwin).
771         * m4/fault.m4: Include sys/signal.h. Have an exit status of 3 instead
772         of 1 if fault_address is misdetected.
773         * m4/sigaltstack.m4: Define stack_t to struct sigaltstack if absent.
774         Include <sys/signal.h>.
775         * configure.in: Add check for sys/signal.h.
776         Add support for catching stack overflow on MacOSX.
777         Add support for MacOSX on i386.
778         Provide a fallback for SS_ONSTACK before using it.
779         * src/fault-macos-i386.h: New file.
780         * src/stackvma-mach.c: New file.
781         * src/fault-macos-powerpc.h (SIGSEGV_FAULT_STACKPOINTER): Change.
782         * src/handler-unix.c: Include <sys/signal.h>.
783         (SS_DISABLE): Provide a fallback.
784         * src/leave-sigaltstack.c: Include sys/signal.h.
785         (SS_ONSTACK): Provide a fallback.
786         * src/Makefile.am (noinst_HEADERS): Add fault-macos-i386.h.
787         (EXTRA_DIST): Add stackvma-mach.c.
788         * tests/sigsegv1.c: Abort after 10 handler invocations.
789         (main): Drop SKIP message, now emitted by automake 1.7.x.
790         * tests/sigsegv2.c: Abort after 10 handler invocations.
791         (main): Drop SKIP message, now emitted by automake 1.7.x.
792         * tests/stackoverflow1.c (main): Drop SKIP message, now emitted by
793         automake 1.7.x.
795 2002-10-14  Bruno Haible  <bruno@clisp.org>
797         * src/fault-none.h: New file.
798         * src/fault.h: Include CFG_FAULT unconditionally.
799         * src/leave-none.c: New file.
800         * src/leave.c: Include CFG_LEAVE unconditionally.
801         * src/stackvma.c: Include CFG_STACKVMA unconditionally.
802         * configure.in (CFG_LEAVE, CFG_STACKVMA): Define always.
803         * src/Makefile.am (noinst_HEADERS): Add fault-none.h.
804         (EXTRA_DIST): Add leave-none.c.
805         Reported by Paolo Bonzini <bonzini@gnu.org>.
807 2002-09-30  Bruno Haible  <bruno@clisp.org>
809         * src/Makefile.am (noinst_HEADERS): Add fault-hurd.h,
810         fault-linux-m68k.c, fault-macos-powerpc.h, fault-macos-powerpc.c,
811         signals-hurd.h, signals-macos.h.
813 2002-09-30  Bruno Haible  <bruno@clisp.org>
815         * Makefile.am (check-next): Don't ask for reports from i?86-*-linux*
816         platforms.
818 2002-09-30  Bruno Haible  <bruno@clisp.org>
820         Better Linux/PowerPC support.
821         * configure.in: Change Linux/PowerPC support.
822         * src/fault-linux-powerpc.h (SIGSEGV_FAULT_ADDRESS): New macro.
824 2002-09-30  Bruno Haible  <bruno@clisp.org>
826         Better Linux/m68k support.
827         * configure.in: Change Linux/m68k support.
828         * src/fault-linux-m68k.c: New file.
829         * src/fault-linux-m68k.h: Use it.
831 2002-09-30  Bruno Haible  <bruno@clisp.org>
833         Tentative Hurd support.
834         * configure.in: Add Hurd support.
835         * src/signals-hurd.h: New file.
836         * src/fault-hurd.h: New file.
838 2002-09-30  Bruno Haible  <bruno@clisp.org>
840         MacOSX/PowerPC support.
841         * configure.in: Add MacOSX/PowerPC support.
842         * src/signals-macos.h: New file.
843         * src/fault-macos-powerpc.c: New file.
844         * src/fault-macos-powerpc.h: New file.
846 2002-09-16  Bruno Haible  <bruno@clisp.org>
848         * src/fault-posix.h: Don't include <siginfo.h>. Needed for hppa-linux.
849         Reported by Will Newton <will@misconception.org.uk>.
851 2002-08-28  Bruno Haible  <bruno@clisp.org>
853         * Version 2.0 released.
855 2002-07-28  Bruno Haible  <bruno@clisp.org>
857         Big reorganization and rewrite. Every file changed.