Mini Shell
New in 2.13:
* Added support for macOS/arm64.
* Added support for Solaris OpenIndiana.
* Added support for catching stack overflow on Solaris 11/SPARC.
* Added support for catching stack overflow on 64-bit Haiku.
* Provide a correct value for SIGSTKSZ on 64-bit Solaris/x86. The one defined
by this system is too small.
* Improved support for Linux/RISC-V, Linux/nds32.
* Improved support for Android.
* Improved support for FreeBSD/x86, FreeBSD/x86_64, FreeBSD/arm, FreeBSD/arm64.
* Improved support for 64-bit ABI on Solaris/x86_64.
New in 2.12:
* Added support for catching stack overflow on Hurd/i386.
* Added support for catching stack overflow on Haiku.
* Corrected distinction between stack overflow and other fault on AIX.
* Reliability improvements on Linux, FreeBSD, NetBSD.
* NOTE: Support for Cygwin and native Windows is currently not up-to-date.
New in 2.11:
* Added support for catching stack overflow on Linux/SPARC.
* Provide a correct value for SIGSTKSZ on 64-bit AIX and on HP-UX. The one
defined by these systems is too small.
* Updated build infrastructure.
* Compilation now requires the <stdint.h> include file. Platforms which
don't have this include file (such as IRIX) are no longer supported.
* NOTE: Support for Cygwin and native Windows is currently not up-to-date.
New in 2.10:
* Support for Linux/S390.
<sigsegv.h> now defines a macro SIGSEGV_FAULT_ADDRESS_ALIGNMENT.
It is either 1 or pagesize. Its meaning is that
- The fault address passed to a SIGSEGV handler has been rounded down
to a multiple of SIGSEGV_FAULT_ADDRESS_ALIGNMENT.
- The address and length arguments of sigsegv_register function calls
must be multiples of SIGSEGV_FAULT_ADDRESS_ALIGNMENT.
* Faster distinction between stack overflow and other fault on OpenBSD.
New in 2.9:
* Correct support for 64-bit ABI on MacOS X 10.5 and newer.
* Fix alternate stack overflow on at least Linux for PowerPC64;
regression introduced in 2.6.
New in 2.8:
* Support for Cygwin 1.7. Improved support for Cygwin 1.5.
Contributed by Eric Blake.
New in 2.7:
* Support for platforms that follow POSIX:2008, not POSIX:2001.
* Support for MirBSD 10.
* Support for IRIX 5.3. Contributed by Eric Blake.
* On Linux platforms, libsigsegv now prefers the POSIX way of defining the
signal handler over than the traditional one, when both are supported.
As a consequence, on Linux/i386 and other Linux platforms, the type
'stackoverflow_context_t' is now typedefed to 'ucontext_t *' rather than
'struct sigcontext *'.
New in 2.6:
* sigsegv_leave_handler is changed. Previously it was a normal function with
no arguments. Now it is a function that take a non-returning continuation
function and three arguments for it as arguments.
Where you had code like
int my_handler(void* fault_address, int serious)
{
...code_before()...;
sigsegv_leave_handler();
...code_after()...;
longjmp(...);
}
you now have to write
void my_handler_tail(void* arg1, void* arg2, void* arg3)
{
...code_after()...;
longjmp(...);
}
int my_handler(void* fault_address, int serious)
{
...code_before()...;
#if LIBSIGSEGV_VERSION >= 0x0206
return sigsegv_leave_handler(my_handler_tail, arg, NULL, NULL);
#else
sigsegv_leave_handler();
my_handler_tail(arg, NULL, NULL);
/* NOTREACHED */
abort();
#endif
}
* sigsegv_leave_handler now works correctly on MacOS X.
* Support for 64-bit ABI on MacOS X 10.5.
* Support for building universal binaries on MacOS X.
* Improved distinction between stack overflow and other fault on NetBSD,
OpenBSD, FreeBSD, Linux, AIX, Solaris. Contributed by Eric Blake.
* GNU gnulib now has an autoconf macro for locating libsigsegv:
https://www.gnu.org/software/gnulib/MODULES.html#module=libsigsegv
New in 2.5:
* Support for MacOS X 10.5.
New in 2.4:
* Support for GCC 4 on more platforms.
* Added support for catching stack overflow on NetBSD.
* Improved support for catching stack overflow on Linux, Solaris:
Works also when /proc is not mounted or lacks read permissions.
New in 2.3:
* Support for GCC 4 on some platforms contributed by Paolo Bonzini.
* Support for MacOS X i386 contributed by Bruno Haible.
* Improved support for Woe32 contributed by Doug Currie.
New in 2.2:
* Support for new versions of MacOS X contributed by Paolo Bonzini.
* Improved support for AIX 5, contributed by Bruno Haible.
New in 2.1:
* Support for MacOS X contributed by Paolo Bonzini.
* Support for Cygwin contributed by Paolo Bonzini.
* Support for Linux/ia64 and Linux/hppa contributed by Bruno Haible.
* Support for OpenBSD/i386 contributed by Bruno Haible.
* Support for NetBSD/alpha contributed by Paolo Bonzini.
New in 2.0:
* Modernized infrastructure.
* Added support for catching stack overflow on AIX 4, HP-UX, and BeOS.
* Dropped support for NeXTstep.
* The function sigsegv_leave_handler() no longer restores the signal mask.
This must now be done by the calling handler (either through sigprocmask
or through siglongjmp).
New in 1.2:
* Support for HP-UX contributed by Paolo Bonzini.
New in 1.1:
* Catching stack overflow now works on some Unix systems:
- Linux 2.2.x with glibc-2.1,
- Sun Solaris,
- DEC OSF/1 4.0,
- SGI Irix.
Zerion Mini Shell 1.0