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
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
30 2009-05-21 Bruno Haible <bruno@clisp.org>
32 * configure.ac (FAULT_CONTEXT_INCLUDE): Don't substitute into
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):
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
68 * src/handler-unix.c (stackoverflow_install_handler): Adjust stack
70 * tests/stackoverflow1.c (stack_lower_bound, stack_upper_bound): New
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
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
121 (catch_exception_raise): Set signalled_thread during the user_handler
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
136 (stackoverflow_handler): Update to new API.
137 * tests/stackoverflow2.c (stackoverflow_handler_continuation): New
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
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
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
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
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
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
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
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):
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*
309 2006-07-14 Bruno Haible <bruno@clisp.org>
311 * m4/sigaltstack.m4 (SV_SIGALTSTACK): Use SIGSTKSZ instead of
313 * m4/sigaltstack-longjmp.m4 (SV_TRY_LEAVE_HANDLER_LONGJMP): Likewise.
314 * m4/sigaltstack-siglongjmp.m4 (SV_TRY_LEAVE_HANDLER_SIGLONGJMP):
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.
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
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
379 (sigsegv_get_vma): If mincore() is available, use it as fallback.
380 * src/stackvma-linux.c: If mincore() is available, include also
382 (sigsegv_get_vma): If mincore() is available, use it as fallback.
383 * src/stackvma-procfs.c: If mincore() is available, include also
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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>
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
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
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*
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.