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