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