* .gitignore: Ignore more files.
[libsigsegv/ericb.git] / NEWS
blob5a398fc3dc5f10b6768cd15ed6d2fac77a929791
1 New in 2.9:
3 * Correct support for 64-bit ABI on MacOS X 10.5 and newer.
5 New in 2.8:
7 * Support for Cygwin 1.7. Improved support for Cygwin 1.5.
8   Contributed by Eric Blake.
10 New in 2.7:
12 * Support for platforms that follow POSIX:2008, not POSIX:2001.
13 * Support for MirBSD 10.
14 * Support for IRIX 5.3. Contributed by Eric Blake.
15 * On Linux platforms, libsigsegv now prefers the POSIX way of defining the
16   signal handler over than the traditional one, when both are supported.
17   As a consequence, on Linux/i386 and other Linux platforms, the type
18   'stackoverflow_context_t' is now typedefed to 'ucontext_t *' rather than
19   'struct sigcontext *'.
21 New in 2.6:
23 * sigsegv_leave_handler is changed. Previously it was a normal function with
24   no arguments. Now it is a function that take a non-returning continuation
25   function and three arguments for it as arguments.
26   Where you had code like
27      int my_handler(void* fault_address, int serious)
28      {
29        ...code_before()...;
30        sigsegv_leave_handler();
31        ...code_after()...;
32        longjmp(...);
33      }
34   you now have to write
35      void my_handler_tail(void* arg1, void* arg2, void* arg3)
36      {
37        ...code_after()...;
38        longjmp(...);
39      }
40      int my_handler(void* fault_address, int serious)
41      {
42        ...code_before()...;
43        #if LIBSIGSEGV_VERSION >= 0x0206
44        return sigsegv_leave_handler(my_handler_tail, arg, NULL, NULL);
45        #else
46        sigsegv_leave_handler();
47        my_handler_tail(arg, NULL, NULL);
48        /* NOTREACHED */
49        abort();
50        #endif
51      }
52 * sigsegv_leave_handler now works correctly on MacOS X.
53 * Support for 64-bit ABI on MacOS X 10.5.
54 * Support for building universal binaries on MacOS X.
55 * Improved distinction between stack overflow and other fault on NetBSD,
56   OpenBSD, FreeBSD, Linux, AIX, Solaris. Contributed by Eric Blake.
57 * GNU gnulib now has an autoconf macro for locating libsigsegv:
58   http://www.gnu.org/software/gnulib/MODULES.html#module=libsigsegv
60 New in 2.5:
62 * Support for MacOS X 10.5.
64 New in 2.4:
66 * Support for GCC 4 on more platforms.
67 * Added support for catching stack overflow on NetBSD.
68 * Improved support for catching stack overflow on Linux, Solaris:
69   Works also when /proc is not mounted or lacks read permissions.
71 New in 2.3:
73 * Support for GCC 4 on some platforms contributed by Paolo Bonzini.
74 * Support for MacOS X i386 contributed by Bruno Haible.
75 * Improved support for Woe32 contributed by Doug Currie.
77 New in 2.2:
79 * Support for new versions of MacOS X contributed by Paolo Bonzini.
80 * Improved support for AIX 5, contributed by Bruno Haible.
82 New in 2.1:
84 * Support for MacOS X contributed by Paolo Bonzini.
85 * Support for Cygwin contributed by Paolo Bonzini.
86 * Support for Linux/ia64 and Linux/hppa contributed by Bruno Haible.
87 * Support for OpenBSD/i386 contributed by Bruno Haible.
88 * Support for NetBSD/alpha contributed by Paolo Bonzini.
90 New in 2.0:
92 * Modernized infrastructure.
93 * Added support for catching stack overflow on AIX 4, HP-UX, and BeOS.
94 * Dropped support for NeXTstep.
95 * The function sigsegv_leave_handler() no longer restores the signal mask.
96   This must now be done by the calling handler (either through sigprocmask
97   or through siglongjmp).
99 New in 1.2:
101 * Support for HP-UX contributed by Paolo Bonzini.
103 New in 1.1:
105 * Catching stack overflow now works on some Unix systems:
106   - Linux 2.2.x with glibc-2.1,
107   - Sun Solaris,
108   - DEC OSF/1 4.0,
109   - SGI Irix.