3 * Added support for Linux/PowerPC (32-bit) with musl libc.
5 * Added support for macOS/x86_64 with clang 15.
7 * Optimize distinction between stack overflow and other fault on AIX 7.
11 * Added support for 64-bit Cygwin.
13 * Improved support for Linux/LoongArch64.
15 * Improved support for Solaris OpenIndiana.
17 * Added support for MidnightBSD.
19 * Improved support for OpenBSD/PowerPC64.
23 * Added support for macOS/arm64.
25 * Added support for Solaris OpenIndiana.
27 * Added support for catching stack overflow on Solaris 11/SPARC.
29 * Added support for catching stack overflow on 64-bit Haiku.
31 * Provide a correct value for SIGSTKSZ on 64-bit Solaris/x86. The one defined
32 by this system is too small.
34 * Improved support for Linux/RISC-V, Linux/nds32.
36 * Improved support for Android.
38 * Improved support for FreeBSD/x86, FreeBSD/x86_64, FreeBSD/arm, FreeBSD/arm64.
40 * Improved support for 64-bit ABI on Solaris/x86_64.
44 * Added support for catching stack overflow on Hurd/i386.
46 * Added support for catching stack overflow on Haiku.
48 * Corrected distinction between stack overflow and other fault on AIX.
50 * Reliability improvements on Linux, FreeBSD, NetBSD.
52 * NOTE: Support for Cygwin and native Windows is currently not up-to-date.
56 * Added support for catching stack overflow on Linux/SPARC.
58 * Provide a correct value for SIGSTKSZ on 64-bit AIX and on HP-UX. The one
59 defined by these systems is too small.
61 * Updated build infrastructure.
63 * Compilation now requires the <stdint.h> include file. Platforms which
64 don't have this include file (such as IRIX) are no longer supported.
66 * NOTE: Support for Cygwin and native Windows is currently not up-to-date.
70 * Support for Linux/S390.
71 <sigsegv.h> now defines a macro SIGSEGV_FAULT_ADDRESS_ALIGNMENT.
72 It is either 1 or pagesize. Its meaning is that
73 - The fault address passed to a SIGSEGV handler has been rounded down
74 to a multiple of SIGSEGV_FAULT_ADDRESS_ALIGNMENT.
75 - The address and length arguments of sigsegv_register function calls
76 must be multiples of SIGSEGV_FAULT_ADDRESS_ALIGNMENT.
77 * Faster distinction between stack overflow and other fault on OpenBSD.
81 * Correct support for 64-bit ABI on MacOS X 10.5 and newer.
82 * Fix alternate stack overflow on at least Linux for PowerPC64;
83 regression introduced in 2.6.
87 * Support for Cygwin 1.7. Improved support for Cygwin 1.5.
88 Contributed by Eric Blake.
92 * Support for platforms that follow POSIX:2008, not POSIX:2001.
93 * Support for MirBSD 10.
94 * Support for IRIX 5.3. Contributed by Eric Blake.
95 * On Linux platforms, libsigsegv now prefers the POSIX way of defining the
96 signal handler over than the traditional one, when both are supported.
97 As a consequence, on Linux/i386 and other Linux platforms, the type
98 'stackoverflow_context_t' is now typedefed to 'ucontext_t *' rather than
99 'struct sigcontext *'.
103 * sigsegv_leave_handler is changed. Previously it was a normal function with
104 no arguments. Now it is a function that take a non-returning continuation
105 function and three arguments for it as arguments.
106 Where you had code like
107 int my_handler(void* fault_address, int serious)
110 sigsegv_leave_handler();
114 you now have to write
115 void my_handler_tail(void* arg1, void* arg2, void* arg3)
120 int my_handler(void* fault_address, int serious)
123 #if LIBSIGSEGV_VERSION >= 0x0206
124 return sigsegv_leave_handler(my_handler_tail, arg, NULL, NULL);
126 sigsegv_leave_handler();
127 my_handler_tail(arg, NULL, NULL);
132 * sigsegv_leave_handler now works correctly on MacOS X.
133 * Support for 64-bit ABI on MacOS X 10.5.
134 * Support for building universal binaries on MacOS X.
135 * Improved distinction between stack overflow and other fault on NetBSD,
136 OpenBSD, FreeBSD, Linux, AIX, Solaris. Contributed by Eric Blake.
137 * GNU gnulib now has an autoconf macro for locating libsigsegv:
138 https://www.gnu.org/software/gnulib/MODULES.html#module=libsigsegv
142 * Support for MacOS X 10.5.
146 * Support for GCC 4 on more platforms.
147 * Added support for catching stack overflow on NetBSD.
148 * Improved support for catching stack overflow on Linux, Solaris:
149 Works also when /proc is not mounted or lacks read permissions.
153 * Support for GCC 4 on some platforms contributed by Paolo Bonzini.
154 * Support for MacOS X i386 contributed by Bruno Haible.
155 * Improved support for Woe32 contributed by Doug Currie.
159 * Support for new versions of MacOS X contributed by Paolo Bonzini.
160 * Improved support for AIX 5, contributed by Bruno Haible.
164 * Support for MacOS X contributed by Paolo Bonzini.
165 * Support for Cygwin contributed by Paolo Bonzini.
166 * Support for Linux/ia64 and Linux/hppa contributed by Bruno Haible.
167 * Support for OpenBSD/i386 contributed by Bruno Haible.
168 * Support for NetBSD/alpha contributed by Paolo Bonzini.
172 * Modernized infrastructure.
173 * Added support for catching stack overflow on AIX 4, HP-UX, and BeOS.
174 * Dropped support for NeXTstep.
175 * The function sigsegv_leave_handler() no longer restores the signal mask.
176 This must now be done by the calling handler (either through sigprocmask
177 or through siglongjmp).
181 * Support for HP-UX contributed by Paolo Bonzini.
185 * Catching stack overflow now works on some Unix systems:
186 - Linux 2.2.x with glibc-2.1,