1 2009-08-14 Bruno Haible <bruno@clisp.org>
3 Remove autogenerated files from version control.
4 * autogen.sh: New file.
5 * aclocal.m4: Remove file.
6 * configure: Remove file.
7 * config.h.in: Remove file.
8 * Makefile.in: Remove file.
9 * src/Makefile.in: Remove file.
10 * tests/Makefile.in: Remove file.
11 * build-aux/install-sh: Remove file.
12 * build-aux/missing: Remove file.
13 * config.h.msvc: Remove file.
14 * src/sigsegv.h.msvc: Remove file.
16 2009-08-14 Bruno Haible <bruno@clisp.org>
18 Override automake's tar command used for creating distributions.
19 * configure.ac (am__tar): New variable.
21 2009-08-09 Bruno Haible <bruno@clisp.org>
23 * configure.ac: Bump version number to 2.7.
24 * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
25 * src/Makefile.am (LIBSIGSEGV_VERSION_INFO): Bump to 2:0:0.
27 2009-08-09 Bruno Haible <bruno@clisp.org>
29 * src/fault-linux-powerpc.h (SIGSEGV_FAULT_STACKPOINTER): Fix mistake.
31 2009-08-09 Bruno Haible <bruno@clisp.org>
33 Avoid warnings on glibc systems.
34 * src/stackvma-mincore.c (pageinfo_t): New type.
35 (is_mapped, mapped_range_start, mapped_range_end): Use it.
37 2009-08-01 Bruno Haible <bruno@clisp.org>
39 Prefer the POSIX way over the traditional one, on Linux.
40 * configure.ac: Use the traditional Linux way only if the POSIX way
42 * NEWS: Mention the change.
44 2009-08-01 Bruno Haible <bruno@clisp.org>
46 Add knowledge where to find the stack pointer on Linux platforms.
47 * src/fault-linux-alpha.h: New file.
48 * src/fault-linux-arm.h: New file.
49 * src/fault-linux-cris.h: New file.
50 * src/fault-linux-hppa.h: New file.
51 * src/fault-linux-i386.h: New file.
52 * src/fault-linux-ia64.h: New file.
53 * src/fault-linux-m68k.h: New file.
54 * src/fault-linux-mips.h: New file.
55 * src/fault-linux-powerpc.h: New file.
56 * src/fault-linux-s390.h: New file.
57 * src/fault-linux-sh.h: New file.
58 * src/fault-linux-sparc.h: New file.
59 * src/Makefile.am (noinst_HEADERS): Add them.
60 * src/handler-unix.c (_GNU_SOURCE): Define.
61 * src/fault-linux-hppa-old.h: Add alternative code, commented.
62 * src/fault-linux-sparc-old.h: Likewise.
63 * configure.ac (CFG_FAULT): Use these files on Linux when the POSIX way
64 of catching page faults works.
66 2009-08-01 Bruno Haible <bruno@clisp.org>
68 * src/fault-linux-i386-old.h: Renamed from src/fault-linux-i386.h.
69 * src/Makefile.am (noinst_HEADERS): Update.
70 * configure.ac: Update.
72 * src/fault-linux-i386-oldold.h: Renamed from
73 src/fault-linux-i386-old.h.
74 * src/Makefile.am (noinst_HEADERS): Update.
75 * configure.ac: Update.
77 * src/fault-linux-alpha-old.h: Renamed from src/fault-linux-alpha.h.
78 * src/fault-linux-arm-old.h: Renamed from src/fault-linux-arm.h.
79 * src/fault-linux-cris-old.h: Renamed from src/fault-linux-cris.h.
80 * src/fault-linux-hppa-old.h: Renamed from src/fault-linux-hppa.h.
81 * src/fault-linux-ia64-old.h: Renamed from src/fault-linux-ia64.h.
82 * src/fault-linux-m68k-old.c: Renamed from src/fault-linux-m68k.c.
83 * src/fault-linux-m68k-old.h: Renamed from src/fault-linux-m68k.h.
85 * src/fault-linux-mips-old.h: Renamed from src/fault-linux-mips.h.
86 * src/fault-linux-powerpc-old.h: Renamed from src/fault-linux-powerpc.h.
87 * src/fault-linux-s390-old.h: Renamed from src/fault-linux-s390.h.
88 * src/fault-linux-sh-old.h: Renamed from src/fault-linux-sh.h.
89 * src/fault-linux-sparc-old.h: Renamed from src/fault-linux-sparc.h.
90 * src/fault-linux-x86_64-old.h: Renamed from src/fault-linux-x86_64.h.
91 * src/Makefile.am (noinst_HEADERS): Update.
92 * configure.ac: Update.
94 2009-06-23 Bruno Haible <bruno@clisp.org>
96 * Makefile.am (check-next): No longer ask for copies of config.log.
98 2009-06-23 Bruno Haible <bruno@clisp.org>
100 Improve support for MirBSD 10.
101 * configure.ac (CFG_FAULT, FAULT_CONTEXT): Treat MirBSD/i386 like
104 2009-06-23 Bruno Haible <bruno@clisp.org>
106 Add support for platforms that follow POSIX:2008, not POSIX:2001.
107 * configure.ac (POSIX): Add MirBSD to known list.
108 (CFG_FAULT, FAULT_CONTEXT, FAULT_CONTEXT_INCLUDE): Define appropriately
109 when <ucontext.h> does not exist.
110 * src/fault-posix-ucontext.h: Renamed from src/fault-posix.h.
111 * src/fault-posix.h: New file.
112 * src/fault-aix5.h: Update.
113 * src/fault-hpux-hppa.h: Update.
114 * src/fault-netbsd.h: Update.
115 * src/fault-solaris.h: Update.
116 * src/Makefile.am (noinst_HEADERS): Add fault-posix-ucontext.h.
118 2009-06-23 Bruno Haible <bruno@clisp.org>
120 * configure.ac (FAULT_CONTEXT_INCLUDE): Reinstall the AC_SUBST
123 2009-05-21 Bruno Haible <bruno@clisp.org>
125 * configure.ac (FAULT_CONTEXT_INCLUDE): Don't substitute into
128 2009-05-21 Bruno Haible <bruno@clisp.org>
130 * tests/Makefile.am (AUTOMAKE_OPTIONS): Assume automake >= 1.11.
131 Use color-tests option.
133 2009-01-14 Bruno Haible <bruno@clisp.org>
135 * configure.ac: More consistent m4 quoting.
137 2008-09-27 Bruno Haible <bruno@clisp.org>
139 * build-aux/config.sub: Update to GNU version 2008-09-08.
141 2008-09-23 Eric Blake <ebb9@byu.net>
143 Use 2 * SIGSTKSZ consistently in configuration checks.
144 * m4/sigaltstack.m4 (SV_SIGALTSTACK): Work around IRIX sigaltstack bug.
145 * m4/sigaltstack-longjmp.m4 (SV_TRY_LEAVE_HANDLER_LONGJMP): Likewise.
146 * m4/sigaltstack-siglongjmp.m4 (SV_TRY_LEAVE_HANDLER_SIGLONGJMP):
149 2008-09-21 Bruno Haible <bruno@clisp.org>
151 * src/Makefile.am (LIBSIGSEGV_VERSION_INFO): New variable.
152 (libsigsegv_la_LDFLAGS): Pass -rpath and -version-info option.
153 Reported by Thomas Klausner <tk@giga.or.at>.
155 2008-09-21 Eric Blake <ebb9@byu.net>
156 Bruno Haible <bruno@clisp.org>
158 Detect and work around bug in Irix 5.3 sigaltstack.
159 * m4/sigaltstack.m4 (SV_SIGALTSTACK): Test for broken stack_t direction
161 * src/handler-unix.c (stackoverflow_install_handler): Adjust stack
163 * tests/stackoverflow1.c (stack_lower_bound, stack_upper_bound): New
165 (stackoverflow_handler): Use them to expose IRIX bug.
166 (main): Initialize them.
168 2008-09-07 Bruno Haible <bruno@clisp.org>
170 * m4/libtool.m4: Update from libtool-2.2.6.
171 * m4/ltoptions.m4: Likewise.
172 * m4/ltsugar.m4: Likewise.
173 * m4/ltversion.m4: Likewise.
174 * build-aux/ltmain.sh: Likewise.
176 2008-08-25 Bruno Haible <bruno@clisp.org>
178 * Version 2.6 released.
180 2008-08-24 Bruno Haible <bruno@clisp.org>
182 * configure.ac: Treat Dragonfly BSD platforms like FreeBSD.
183 Reported by Thomas Klausner <tk@giga.or.at>.
185 2008-08-24 Bruno Haible <bruno@clisp.org>
187 * src/stackvma-mincore.c (mincore_is_near_this): Improve logic. Needed
188 for reliable NULL pointer access classification as SIGSEGV on AIX 4.3.
190 2008-08-24 Bruno Haible <bruno@clisp.org>
192 * m4/sigaltstack.m4: Change 'volatile int' return type to 'int'. Needed
194 * m4/sigaltstack-longjmp.m4: Likewise.
195 * m4/sigaltstack-siglongjmp.m4: Likewise.
196 * tests/stackoverflow1.c (recurse): Likewise.
197 * tests/stackoverflow2.c (recurse): Likewise.
199 2008-08-24 Bruno Haible <bruno@clisp.org>
201 * tests/sigsegv1.c: Include <config.h>.
202 * tests/sigsegv2.c: Likewise.
203 * tests/sigsegv3.c: Include <config.h> before all other headers.
204 * tests/stackoverflow1.c: Likewise.
205 * tests/stackoverflow2.c: Likewise.
207 2008-08-24 Bruno Haible <bruno@clisp.org>
209 Fix the sigsegv3 test on MacOS X.
210 * src/sigsegv.h.in (sigsegv_leave_handler): Take 4 arguments.
211 * NEWS: Mention the change.
212 * src/handler-macos.c (our_exception_thread, signalled_thread): New
214 (catch_exception_raise): Set signalled_thread during the user_handler
216 (mach_exception_thread): Initialize our_exception_thread.
217 (sigsegv_leave_handler): Take 4 arguments. When called from within
218 the exception thread, let the signalled thread do a hyperjump.
219 * src/handler-unix.c (sigsegv_leave_handler): Take 4 arguments.
220 * src/handler-win32.c (sigsegv_leave_handler): Likewise.
221 * src/handler-none.c (sigsegv_leave_handler): Likewise.
222 * src/machfault-macos.h (SIGSEGV_INTEGER_ARGUMENT_1,
223 SIGSEGV_INTEGER_ARGUMENT_2, SIGSEGV_INTEGER_ARGUMENT_3,
224 SIGSEGV_FRAME_POINTER): New macros.
225 * tests/sigsegv3.c (handler_continuation): New function.
226 (handler): Update to new API.
227 * tests/stackoverflow1.c (stackoverflow_handler_continuation): New
229 (stackoverflow_handler): Update to new API.
230 * tests/stackoverflow2.c (stackoverflow_handler_continuation): New
232 (stackoverflow_handler, sigsegv_handler): Update to new API.
234 2008-08-24 Bruno Haible <bruno@clisp.org>
236 Test the use of sigsegv_leave_handler from within a SIGSEGV handler.
237 * tests/sigsegv3.c: New file.
238 * tests/Makefile.am (TESTS, noinst_PROGRAMS): Add sigsegv3.
240 2008-08-23 Eric Blake <ebb9@byu.net>
242 * src/Makefile.am (noinst_HEADERS): Remove machfault-macos-powerpc.h
243 and machfault-macos-i386.h. Add machfault-macos.h.
245 2008-08-17 Bruno Haible <bruno@clisp.org>
247 Allow building universal binaries on MacOS X.
248 * src/machfault-macos.h: New file, combining
249 src/machfault-macos-powerpc.h and src/machfault-macos-i386.h.
250 * src/machfault-macos-powerpc.h: Remove file.
251 * src/machfault-macos-i386.h: Remove file.
252 * configure.ac (CFG_MACHFAULT): Set to machfault-macos.h.
253 (FAULT_CONTEXT_INCLUDE) [MacOSX]: Set to #ifdefs for all four possible
256 2008-07-20 Bruno Haible <bruno@clisp.org>
258 Make sigsegv_get_vma async-safe.
259 * src/sigsegv.h.in (sigsegv_handler_t, stackoverflow_handler_t):
260 Mention async-safety constraints.
261 + src/stackvma-rofile.c: New file.
262 * src/stackvma-freebsd.c: Include stackvma-rofile.c.
263 (sigsegv_get_vma): Use struct rofile instead of FILE.
264 * src/stackvma-linux.c: Include stackvma-rofile.c.
265 (sigsegv_get_vma): Use struct rofile instead of FILE.
266 * src/stackvma-procfs.c: Include <sys/mman.h> instead of <stdlib.h> and
268 (sigsegv_get_vma): Avoid using sprintf. Ensure pagesize is initialized.
269 Use mmap/munmap instead of malloc/free.
270 * src/Makefile.am (EXTRA_DIST): Add stackvma-rofile.c.
271 Reported by Eric Blake <ebb9@byu.net>.
273 2008-07-20 Bruno Haible <bruno@clisp.org>
275 * src/handler-unix.c (sigsegv_handler): Preserve errno.
277 2008-07-20 Eric Blake <ebb9@byu.net>
279 * src/stackvma-mincore.c (mincore_is_near_this): Fix logic.
281 2008-07-20 Bruno Haible <bruno@clisp.org>
283 * tests/stackoverflow2.c (main): Test also a NULL pointer access.
284 Reported by Eric Blake <ebb9@byu.net>.
286 2008-06-23 Bruno Haible <bruno@clisp.org>
288 * build-aux/config.guess: Update to GNU version 2008-06-16.
289 * build-aux/config.sub: Likewise.
291 2008-05-31 Bruno Haible <bruno@clisp.org>
293 Make cross-compile from MacOS X 10.5 to MacOS X 10.4 work.
294 * src/handler-macos.c (MacOS_X_10_5_HEADERS): New macro.
295 * src/machfault-macos-i386.h: Use it.
296 * src/machfault-macos-powerpc.h: Likewise.
297 Reported by Dr Tomaž Slivnik <slivnik@tomaz.name>.
299 2008-05-31 Bruno Haible <bruno@clisp.org>
301 * m4/mmap-anon.m4 (SV_MMAP_ANON): Add known cross-compile results for
303 Reported by Dr Tomaž Slivnik <slivnik@tomaz.name>.
305 2008-05-27 Bruno Haible <bruno@clisp.org>
307 * configure.ac: Require at least autoconf 2.62. Merge
308 FAULT_CONTEXT_INCLUDE2 variable into FAULT_CONTEXT_INCLUDE.
309 * src/sigsegv.h.in: Remove FAULT_CONTEXT_INCLUDE2 substitution.
310 * src/Makefile.am (sigsegv.h.msvc): Update.
312 2008-05-27 Bruno Haible <bruno@clisp.org>
314 * configure.ac: Bump version number to 2.6.
315 * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
317 2008-05-27 Bruno Haible <bruno@clisp.org>
319 Support for 64-bit mode on MacOS X 10.5.
320 * src/handler-macos.c (catch_exception_raise): Align the stack pointer
321 also on x86_64. Needed for MMX instructions.
322 * src/machfault-macos-i386.h: Choose among 64-bit and 32-bit flavours.
323 Use new names for the 32-bit flavour when possible.
324 * src/machfault-macos-powerpc.h: Choose among 64-bit and 32-bit
326 * configure.ac (FAULT_CONTEXT, FAULT_CONTEXT_INCLUDE2): Choose
327 right flavour (ppc_thread_state_t/ppc_thread_state64_t or
328 i386_thread_state_t/x86_thread_state32_t/x86_thread_state64_t) at
331 2008-05-18 Bruno Haible <bruno@clisp.org>
333 * m4/libtool.m4: Update from libtool-2.2.4.
334 * m4/ltoptions.m4: Likewise.
335 * m4/ltversion.m4: Likewise.
336 * m4/lt~obsolete.m4: Likewise.
337 * build-aux/ltmain.sh: Likewise.
339 2008-04-06 Bruno Haible <bruno@clisp.org>
341 * m4/libtool.m4: Update from libtool-2.2.2.
342 * m4/ltoptions.m4: New file, from libtool-2.2.2.
343 * m4/ltsugar.m4: New file, from libtool-2.2.2.
344 * m4/ltversion.m4: New file, from libtool-2.2.2.
345 * m4/lt~obsolete.m4: New file, from libtool-2.2.2.
346 * build-aux/ltmain.sh: New file, from libtool-2.2.2.
347 * configure.ac: Use LT_INIT instead of AC_PROG_LIBTOOL.
349 2007-11-16 Bruno Haible <bruno@clisp.org>
351 * src/fault-freebsd-i386.h (SIGSEGV_FAULT_STACKPOINTER): Use sc_rsp
352 also on x86_64-freebsd platform.
353 Reported by Dmitri Hrapof <hrapof@common-lisp.ru> and
354 Petr Salinger <Petr.Salinger@seznam.cz>.
356 2007-11-15 Bruno Haible <bruno@clisp.org>
358 * configure.ac (CFG_SIGNALS, CFG_FAULT): Port to i586-kfreebsd-gnu
359 and x86_64-kfreebsd-gnu.
360 * src/fault-freebsd-i386.h (SIGSEGV_FAULT_STACKPOINTER): Likewise.
361 Based on patch by Petr Salinger <Petr.Salinger@seznam.cz>.
363 2007-11-11 Bruno Haible <bruno@clisp.org>
365 * Version 2.5 released.
367 2007-11-11 Bruno Haible <bruno@clisp.org>
369 * configure.ac: Bump version number to 2.5.
370 * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
372 2007-10-28 Bruno Haible <bruno@clisp.org>
374 * src/handler-macos.c (catch_exception_raise): Align the new stack
375 pointer on a 16-byte boundary.
376 * src/handler-win32.c (main_exception_filter): Correct alignment:
377 %esp must be aligned to == -4 mod 16 upon function entry.
379 2007-10-28 Bruno Haible <bruno@clisp.org>
381 * src/sigsegv.h.in (stackoverflow_install_handler): Avoid comment
383 Reported by Chris Willmore <willmc@rpi.edu>.
385 2007-10-28 Bruno Haible <bruno@clisp.org>
387 * src/machfault-macos-powerpc.h (SIGSEGV_FAULT_ADDRESS,
388 SIGSEGV_STACK_POINTER, SIGSEGV_PROGRAM_COUNTER): Add __DARWIN_UNIX03
390 * src/machfault-macos-i386.h (SIGSEGV_FAULT_ADDRESS,
391 SIGSEGV_STACK_POINTER, SIGSEGV_PROGRAM_COUNTER): Likewise.
392 * src/fault-macosdarwin7-powerpc.h (SIGSEGV_FAULT_STACKPOINTER):
394 * src/fault-macosdarwin7-powerpc.c (get_fault_addr): Likewise.
395 Reported by Chris Willmore <willmc@rpi.edu>.
397 2007-01-12 Bruno Haible <bruno@clisp.org>
399 * Makefile.am (check-next): Don't ask for reports from x86_64-*-linux*
402 2006-07-14 Bruno Haible <bruno@clisp.org>
404 * m4/sigaltstack.m4 (SV_SIGALTSTACK): Use SIGSTKSZ instead of
406 * m4/sigaltstack-longjmp.m4 (SV_TRY_LEAVE_HANDLER_LONGJMP): Likewise.
407 * m4/sigaltstack-siglongjmp.m4 (SV_TRY_LEAVE_HANDLER_SIGLONGJMP):
409 * tests/stackoverflow1.c (main): Likewise.
410 * tests/stackoverflow2.c (main): Likewise.
411 * src/sigsegv.h.in (stackoverflow_install_handler): Update
412 recommendation for extra_stack_size.
414 Reported by Peter Van Eynde <pvaneynd@users.sourceforge.net>.
416 2006-06-23 Bruno Haible <bruno@clisp.org>
418 * Version 2.4 released.
420 2006-06-23 Bruno Haible <bruno@clisp.org>
422 * configure.ac: Bump version number to 2.4.
423 * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
425 2006-06-17 Bruno Haible <bruno@clisp.org>
427 * src/Makefile.am (noinst_HEADERS): Add fault-netbsd.h.
429 2006-06-17 Bruno Haible <bruno@clisp.org>
431 * m4/sigaltstack.m4: Insert 'volatile' and pass a pointer, to defeat
433 * m4/sigaltstack-longjmp.m4: Likewise.
434 * m4/sigaltstack-siglongjmp.m4: Likewise.
436 2006-06-17 Bruno Haible <bruno@clisp.org>
438 * tests/stackoverflow1.c (recurse): Remove useless cast.
439 * tests/stackoverflow2.c (recurse): Likewise.
441 2006-06-17 Bruno Haible <bruno@clisp.org>
443 * src/stackvma-freebsd.c (sigsegv_get_vma): Test whether mincore()
444 works as expected before using it.
446 2006-03-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
448 * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ]: Avoid warning when
449 "parsing" /etc/ld.so.conf and empty /etc/ld.so.conf.d.
451 2006-06-13 Bruno Haible <bruno@clisp.org>
453 Make NetBSD/i386 stack overflow detection work even without mincore.
454 * src/fault-netbsd.h: New file.
455 * configure.ac (CFG_FAULT): Choose it when appropriate.
457 2006-05-16 Bruno Haible <bruno@clisp.org>
459 Don't allow the compiler to reorder instructions in the tests.
460 * tests/sigsegv1.c (crashes): Use volatile in pointer access.
461 * tests/sigsegv2.c (main): Likewise.
462 * tests/stackoverflow2.c (main): Likewise.
464 2006-05-14 Bruno Haible <bruno@clisp.org>
466 Exploit the mincore() system call where available.
467 * src/stackvma-mincore.c: New file.
468 * src/Makefile.am (EXTRA_DIST): Add it.
469 * src/stackvma.h: Add double-inclusion guard.
470 * src/stackvma-freebsd.c: If mincore() is available, include also
472 (sigsegv_get_vma): If mincore() is available, use it as fallback.
473 * src/stackvma-linux.c: If mincore() is available, include also
475 (sigsegv_get_vma): If mincore() is available, use it as fallback.
476 * src/stackvma-procfs.c: If mincore() is available, include also
478 (sigsegv_get_vma): If mincore() is available, use it as fallback.
479 * configure.ac: Test for mincore.
480 (CFG_STACKVMA): Set to stackvma-mincore.c if nothing else is available.
482 2006-05-14 Bruno Haible <bruno@clisp.org>
484 * src/stackvma-simple.c: New file, extracted from handler-unix.c.
485 * src/Makefile.am (EXTRA_DIST): Add it.
486 * src/stackvma-beos.c: Include stackvma-simple.c.
487 (sigsegv_get_vma): Fill the vma's is_near_this field.
488 * src/stackvma-freebsd.c: Include stackvma-simple.c.
489 (sigsegv_get_vma): Fill the vma's is_near_this field.
490 * src/stackvma-linux.c: Include stackvma-simple.c.
491 (sigsegv_get_vma): Fill the vma's is_near_this field.
492 * src/stackvma-mach.c: Include stackvma-simple.c.
493 (sigsegv_get_vma): Fill the vma's is_near_this field.
494 * src/stackvma-procfs.c: Include stackvma-simple.c.
495 (sigsegv_get_vma): Fill the vma's is_near_this field.
496 * src/stackvma.h (vma_struct): Add is_near_this field.
497 * src/handler-unix.c (sigsegv_handler): Use the vma's is_near_this
500 2006-04-28 Bruno Haible <bruno@clisp.org>
502 * Version 2.3 released.
504 2006-04-28 Bruno Haible <bruno@clisp.org>
506 * configure.ac: Bump version number to 2.3.
507 * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.
509 * build-aux/config.guess, build-aux/config.sub: Update to GNU version
512 * build-aux/install-sh: Update from automake-1.9.6.
513 * build-aux/missing: Likewise.
515 * build-aux/ltmain.sh: Update from libtool-1.5.22.
516 * m4/libtool.m4: Likewise.
518 2006-04-28 Bruno Haible <bruno@clisp.org>
520 * build-aux: Renamed from autoconf.
521 * configure.ac (AC_CONFIG_AUX_DIR): Set to build-aux.
523 2006-04-22 Bruno Haible <bruno@clisp.org>
525 * configure.ac: Renamed from configure.in.
527 2006-04-21 Bruno Haible <bruno@clisp.org>
529 * src/machfault-macos-i386.h: Rewritten for Darwin 8.6.1.
530 * configure.in: Change FAULT_CONTEXT for i?86-darwin.
532 2005-06-21 Paolo Bonzini <bonzini@gnu.org>
534 * configure.in: For handler-macos.c, include mach/thread_status.h.
535 * configure: Regenerate.
537 2005-06-21 Paolo Bonzini <bonzini@gnu.org>
539 * tests/stackoverflow1.c (recurse): Make more resilient to compiler
542 * tests/stackoverflow2.c: Likewise.
544 2005-05-24 Bruno Haible <bruno@clisp.org>
546 * src/handler-win32.c (main_exception_filter): Copy CONTEXT structure
547 to safe area on the stack.
548 Based on patch by Doug Currie <e@flavors.com>.
550 * src/handler-win32.c (main_exception_filter): Swap arguments passed
551 to stack_overflow_handler.
552 Patch by Doug Currie <e@flavors.com>.
554 * src/handler-win32.c (main_exception_filter): Align %esp on a 16-byte
557 2005-03-02 Bruno Haible <bruno@clisp.org>
559 * Version 2.2 released.
561 2005-03-02 Bruno Haible <bruno@clisp.org>
563 * autoconf/config.guess: Update.
564 * autoconf/config.sub: Update.
565 * autoconf/missing: Update from automake-1.9.5.
567 * m4/libtool.m4: Upgrade to libtool-1.5.14 with gettext modifications.
568 * autoconf/ltmain.sh: Likewise.
570 2005-03-02 Bruno Haible <bruno@clisp.org>
572 * src/fault-aix5.h: New file.
573 * src/fault-aix5-powerpc.h: New file.
574 * src/Makefile.am (noinst_HEADERS): Add them.
575 * configure.in: Choose them when the POSIX test succeeds on AIX.
577 * src/fault-aix3-powerpc.h: Renamed from src/fault-aix-powerpc.h.
578 * src/fault-aix3.h: Renamed from src/fault-aix.h.
579 * src/Makefile.am (noinst_HEADERS): Update.
580 * configure.in: Update. When cross-compiling, assume the AIX test
581 succeeds only on AIX 3 and AIX 4.
583 2005-03-01 Bruno Haible <bruno@clisp.org>
585 * configure.in: Fix test of CFG_MACHFAULT.
587 2005-02-27 Bruno Haible <bruno@clisp.org>
589 * configure.in: Skip tests that are not needed on MacOS X >= 10.2.
590 * m4/sigaltstack.m4 (SV_SIGALTSTACK): Don't perform the test on
593 2005-02-18 Bruno Haible <bruno@clisp.org>
595 * tests/sigsegv1.c (handler_called): Declare as volatile.
596 * tests/sigsegv2.c (logcount, logdata): Likewise.
597 * tests/stackoverflow1.c (pass): Likewise.
598 * tests/stackoverflow2.c (pass): Likewise.
600 2005-01-29 Bruno Haible <bruno@clisp.org>
602 * src/sigsegv.h.in (LIBSIGSEGV_VERSION): New macro.
603 (libsigsegv_version): New declaration.
604 * src/version.c: New file.
605 * src/Makefile.am (libsigsegv_la_SOURCES): Add version.c.
606 * Makefile.msvc (OBJECTS): Add version.obj.
607 (version.obj): New rule.
608 Suggested by Sam Steingold.
610 2004-08-25 Bruno Haible <bruno@clisp.org>
612 * m4/libtool.m4: Upgrade to libtool-1.5.6.
613 * autoconf/ltmain.sh: Upgrade to libtool-1.5.6.
615 2004-08-18 Bruno Haible <bruno@clisp.org>
617 * configure.in: Bump version number to 2.2.
619 2004-08-17 Bruno Haible <bruno@clisp.org>
621 Finish the Mach-based MacOS X support.
622 * src/handler-macos.c: Don't include mach/vm_map.h.
623 Include machfault.h instead of fault.h.
624 (save_exc_state): Remove variable.
625 (save_thread_state): New variable.
626 (terminating_handler): New function.
627 (altstack_handler): Pass the save_thread_state, not the save_exc_state,
628 to the user's handler.
629 (catch_exception_raise): Make it work also for platforms which don't
630 have an exc_state type. Call SIGSEGV_FAULT_ADDRESS with 2 arguments.
631 Don't clobber the exc_state; instead set the thread's program counter
632 to terminating_handler or altstack_handler, depending on the case.
633 Return KERN_SUCCESS at the end.
634 * src/machfault.h: New file.
635 * src/machfault-macos-powerpc.h (SIGSEGV_FAULT_ADDRESS): Add a second
637 * src/machfault-macos-i386.h: New file.
638 * src/Makefile.am (EXTRA_DIST): Add handler-macos.c.
639 (NOINST_HEADERS): Add machfault.h, machfault-macos-i386.h,
640 machfault-macos-powerpc.h.
641 * configure.in (CFG_HANDLER): Initialize to empty.
642 (CFG_MACHFAULT): New substituted variable.
643 On MacOS X PowerPC+i386, use CFG_HANDLER=handler-macos.c
645 (sv_cv_fault_include, sv_cv_have_stack_overflow_recovery): Set
646 correctly also in the handler-macos.c case.
648 2004-08-16 Bruno Haible <bruno@clisp.org>
650 Support for MacOS X 10.3 on PowerPC.
651 * src/fault-macosdarwin5-powerpc.h: Renamed from
652 src/fault-macos-powerpc.h.
653 * src/fault-macosdarwin5-powerpc.c: Renamed from
654 src/fault-macos-powerpc.c.
655 * src/fault-macosdarwin7-powerpc.h: New file.
656 * src/fault-macosdarwin7-powerpc.c: New file.
657 * src/Makefile.am (noinst_HEADERS): Update.
658 * configure.in: Test the method for MacOSX/Darwin5 PowerPC only after
659 the method for MacOSX/Darwin7 PowerPC failed.
660 Substitute FAULT_CONTEXT_INCLUDE2.
661 * src/sigsegv.h.in: Insert @FAULT_CONTEXT_INCLUDE2@.
662 * src/Makefile.am (sigsegv.h.msvc): Replace @FAULT_CONTEXT_INCLUDE2@.
664 2003-12-09 Paolo Bonzini <bonzini@gnu.org>
666 * src/handler-macos.c: Completed; removed dependency on
668 * src/machfault-macos-powerpc.h: Reorganized.
670 2003-12-08 Paolo Bonzini <bonzini@gnu.org>
671 Bruno Haible <bruno@clisp.org>
673 * src/handler-macos.c: New file.
674 * src/machfault.h: New file.
675 * src/machfault-macos-powerpc.h: New file.
677 2003-12-05 Bruno Haible <bruno@clisp.org>
679 * m4/fault.m4: Tweak indentation. Bump serial number.
680 * m4/getpagesize.m4: Likewise.
681 * m4/mmap-anon.m4: Likewise.
682 * m4/sigaltstack.m4: Likewise.
683 * m4/sigaltstack-longjmp.m4: Likewise.
684 * m4/sigaltstack-siglongjmp.m4: Likewise.
686 2003-12-05 Paolo Bonzini <bonzini@gnu.org>
688 * aclocal.m4: Regenerate with Automake 1.7h.
689 * configure.in: Drop m4/Makefile from list of generated files.
690 * configure: Regenerate.
691 * Makefile.am (install-data-hook): New name of the install-am
692 target, for Automake 1.8 compatibility. Other -am targets
693 are not affected because Automake does not have anything to
695 (AUTOMAKE_OPTIONS): Bump minimum Automake requirement to 1.7h.
696 (SUBDIRS): Remove m4.
697 ($(srcdir)/config.h.msvc): New target for config.h.msvc.
698 * Makefile.in: Regenerate with Automake 1.7h.
699 * m4/Makefile.am: Delete, Automake 1.7h takes care of it.
700 * m4/Makefile.in: Delete.
701 * src/Makefile.am (installdirs): Delete, Automake 1.7h adds it.
702 * src/Makefile.in: Regenerate with Automake 1.7h.
703 * tests/Makefile.in: Regenerate with Automake 1.7h.
705 * autoconf/config.guess: Update from automake-1.7h.
706 * autoconf/config.sub: Likewise.
707 * autoconf/install.sh: Likewise.
708 * autoconf/missing: Likewise.
709 * autoconf/mkinstalldirs: Delete.
710 * m4/fault.m4: autoupdate and manually tweak.
711 * m4/sigaltstack.m4: Likewise.
712 * m4/sigaltstack-longjmp.m4: Likewise.
713 * m4/sigaltstack-siglongjmp.m4: Likewise.
714 * m4/mmap-anon.m4: Likewise.
715 * m4/getpagesize.m4: Likewise.
717 2003-10-29 Bruno Haible <bruno@clisp.org>
719 * tests/sigsegv1.c (main): Add a check whether mprotect with
720 PROT_READ_WRITE really works.
721 * tests/sigsegv2.c (main): Likewise.
722 Reported by Ullal Devappa Kini <wmbfqj@vsnl.net>.
724 2003-08-21 Bruno Haible <bruno@clisp.org>
726 * Version 2.1 released.
728 2003-06-24 Paolo Bonzini <bonzini@gnu.org>
730 * m4/fault.m4: Exit if we detect an infinite loop.
731 * aclocal.m4: Regenerate.
732 * configure: Regenerate.
734 2003-06-18 Bruno Haible <bruno@clisp.org>
736 * autoconf/install-sh: Update from automake-1.7.5.
738 2003-05-14 Paolo Bonzini <bonzini@gnu.org>
740 * configure.in: Use signals-bsd.h for OpenBSD and NetBSD too.
741 Support instruction decoding to get fault address for Alphas.
742 * src/fault-netbsd-alpha.h: New file.
743 * src/fault-netbsd-alpha.c: New file.
744 * src/Makefile.am (noinst_HEADERS): Add them.
746 2003-05-14 Paolo Bonzini <bonzini@gnu.org>
748 * src/dispatcher.c (insert): Fix lossage in 64-bit environments
749 (cast from void* to unsigned int).
751 2003-05-10 Bruno Haible <bruno@clisp.org>
753 * tests/Makefile.am (../src/libsigsegv.la): New rule.
755 * Makefile.msvc (handler.obj): Complete the dependencies.
756 (stackoverflow2.exe): New rule.
757 (check): Depend on it.
760 2003-05-10 Paolo Bonzini <bonzini@gnu.org>
761 Bruno Haible <bruno@clisp.org>
763 * configure.in: AC_SUBST of CFG_STACKVMA, CFG_LEAVE, CFG_HANDLER.
764 * src/Makefile.am: Add dependencies for the object files.
766 2003-05-08 Paolo Bonzini <bonzini@gnu.org>
768 * configure.in: Add $srcdir/ to #include statements. Needed when
771 * src/signals-macos.h (SIGSEGV_FOR_ALL_SIGNALS): Add SIGSEGV.
773 2003-05-03 Paolo Bonzini <bonzini@gnu.org>
775 * configure.in: Tweak 2003-04-26 patch so that it works on mingw32 and
778 2003-05-02 Bruno Haible <bruno@clisp.org>
780 * src/handler-unix.c: Add special case for stack handling on IA-64.
781 * src/fault-linux-ia64.h: Complete the port.
782 * configure.in: Improve Linux/IA-64 support.
784 2003-05-01 Bruno Haible <bruno@clisp.org>
786 * configure.in: Don't use fault-hurd.h on NetBSD/alpha. It does not
789 2003-05-01 Bruno Haible <bruno@clisp.org>
791 Support for Linux/HPPA.
792 * fault-linux-hppa.h: Don't include <siginfo.h>.
793 (SIGSEGV_FAULT_ADDRESS): Change.
794 (SIGSEGV_FAULT_ADDRESS_FROM_SIGINFO): Define it, otherwise the value
796 (SIGSEGV_FAULT_CONTEXT, SIGSEGV_FAULT_STACKPOINTER): Remove macros.
797 * configure.in: Improve Linux/HPPA support.
799 2003-05-01 Bruno Haible <bruno@clisp.org>
801 Support for OpenBSD/i386.
802 * src/fault-openbsd.h: New file.
803 * src/fault-openbsd-i386.h: New file.
804 * src/Makefile.am (noinst_HEADERS): Add them.
805 * configure.in: If the POSIX test works and the OS is OpenBSD, use
806 fault-openbsd.h instead of fault-posix.h.
808 2003-05-01 Bruno Haible <bruno@clisp.org>
810 * src/fault-hpux-hppa.h: Make it work on machines with 64-bit registers
812 * configure.in: Likewise.
814 2003-04-29 Bruno Haible <bruno@clisp.org>
816 * configure.in: Define HAVE_STACKVMA if CFG_STACKVMA is nontrivial.
817 * src/handler-unix.c: Test HAVE_STACKVMA instead of CFG_STACKVMA.
819 * m4/fault.m4 (SV_TRY_FAULT): On HP-UX, always pass 0 as first argument
821 * tests/mmaputil.h (mmap_zeromap): Likewise.
823 2003-04-28 Bruno Haible <bruno@clisp.org>
825 * src/stackvma-freebsd.c (sigsegv_get_vma): Fix logic error.
827 2002-04-17 Paolo Bonzini <bonzini@gnu.org>
830 * configure.in: Treat cygwin* like mingw*.
831 * src/handler-win32.c [CYGWIN] (exception_list, _except_list,
832 debug_get_except_list, cygwin_exception_handler,
833 libsigsegv_exception_handler, do_install_main_exception_filter): New
835 (install_main_exception_filter): New function.
836 (sigsegv_install_handler, stackoverflow_install_handler): Call it.
838 2003-04-26 Bruno Haible <bruno@clisp.org>
840 * configure.in: Don't set sv_cv_have_stack_overflow_recovery=yes if
841 not all of the fault-*.h and stackvma-*.h premises are fulfilled.
842 Reported by Paolo Bonzini <bonzini@gnu.org> for NetBSD/Alpha.
844 2003-04-03 Bruno Haible <bruno@clisp.org>
846 * configure.in: Add --enable-relocatable option.
847 * m4/relocatable.m4: New file, from GNU gettext.
848 * m4/Makefile.am (EXTRA_DIST): Add it.
850 * m4/libtool.m4: Update from GNU gettext, based on libtool-1.4.3.
851 * autoconf/ltmain.sh: Likewise.
853 2003-04-02 Bruno Haible <bruno@clisp.org>
855 * configure.in: Bump version number to 2.1.
857 * tests/stackoverflow2.c: New file, based on code by Paolo Bonzini.
858 * tests/Makefile.am (TESTS, noinst_PROGRAMS): Add stackoverflow2.
860 2003-04-02 Paolo Bonzini <bonzini@gnu.org>
861 Bruno Haible <bruno@clisp.org>
863 Complete the port to MacOS X (Darwin).
864 * m4/fault.m4: Include sys/signal.h. Have an exit status of 3 instead
865 of 1 if fault_address is misdetected.
866 * m4/sigaltstack.m4: Define stack_t to struct sigaltstack if absent.
867 Include <sys/signal.h>.
868 * configure.in: Add check for sys/signal.h.
869 Add support for catching stack overflow on MacOSX.
870 Add support for MacOSX on i386.
871 Provide a fallback for SS_ONSTACK before using it.
872 * src/fault-macos-i386.h: New file.
873 * src/stackvma-mach.c: New file.
874 * src/fault-macos-powerpc.h (SIGSEGV_FAULT_STACKPOINTER): Change.
875 * src/handler-unix.c: Include <sys/signal.h>.
876 (SS_DISABLE): Provide a fallback.
877 * src/leave-sigaltstack.c: Include sys/signal.h.
878 (SS_ONSTACK): Provide a fallback.
879 * src/Makefile.am (noinst_HEADERS): Add fault-macos-i386.h.
880 (EXTRA_DIST): Add stackvma-mach.c.
881 * tests/sigsegv1.c: Abort after 10 handler invocations.
882 (main): Drop SKIP message, now emitted by automake 1.7.x.
883 * tests/sigsegv2.c: Abort after 10 handler invocations.
884 (main): Drop SKIP message, now emitted by automake 1.7.x.
885 * tests/stackoverflow1.c (main): Drop SKIP message, now emitted by
888 2002-10-14 Bruno Haible <bruno@clisp.org>
890 * src/fault-none.h: New file.
891 * src/fault.h: Include CFG_FAULT unconditionally.
892 * src/leave-none.c: New file.
893 * src/leave.c: Include CFG_LEAVE unconditionally.
894 * src/stackvma.c: Include CFG_STACKVMA unconditionally.
895 * configure.in (CFG_LEAVE, CFG_STACKVMA): Define always.
896 * src/Makefile.am (noinst_HEADERS): Add fault-none.h.
897 (EXTRA_DIST): Add leave-none.c.
898 Reported by Paolo Bonzini <bonzini@gnu.org>.
900 2002-09-30 Bruno Haible <bruno@clisp.org>
902 * src/Makefile.am (noinst_HEADERS): Add fault-hurd.h,
903 fault-linux-m68k.c, fault-macos-powerpc.h, fault-macos-powerpc.c,
904 signals-hurd.h, signals-macos.h.
906 2002-09-30 Bruno Haible <bruno@clisp.org>
908 * Makefile.am (check-next): Don't ask for reports from i?86-*-linux*
911 2002-09-30 Bruno Haible <bruno@clisp.org>
913 Better Linux/PowerPC support.
914 * configure.in: Change Linux/PowerPC support.
915 * src/fault-linux-powerpc.h (SIGSEGV_FAULT_ADDRESS): New macro.
917 2002-09-30 Bruno Haible <bruno@clisp.org>
919 Better Linux/m68k support.
920 * configure.in: Change Linux/m68k support.
921 * src/fault-linux-m68k.c: New file.
922 * src/fault-linux-m68k.h: Use it.
924 2002-09-30 Bruno Haible <bruno@clisp.org>
926 Tentative Hurd support.
927 * configure.in: Add Hurd support.
928 * src/signals-hurd.h: New file.
929 * src/fault-hurd.h: New file.
931 2002-09-30 Bruno Haible <bruno@clisp.org>
933 MacOSX/PowerPC support.
934 * configure.in: Add MacOSX/PowerPC support.
935 * src/signals-macos.h: New file.
936 * src/fault-macos-powerpc.c: New file.
937 * src/fault-macos-powerpc.h: New file.
939 2002-09-16 Bruno Haible <bruno@clisp.org>
941 * src/fault-posix.h: Don't include <siginfo.h>. Needed for hppa-linux.
942 Reported by Will Newton <will@misconception.org.uk>.
944 2002-08-28 Bruno Haible <bruno@clisp.org>
946 * Version 2.0 released.
948 2002-07-28 Bruno Haible <bruno@clisp.org>
950 Big reorganization and rewrite. Every file changed.