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