bug-gnu-utils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

libsigsegv 2.6 is released


From: Bruno Haible
Subject: libsigsegv 2.6 is released
Date: Mon, 25 Aug 2008 02:02:05 +0200
User-agent: KMail/1.5.4

Available at
  http://ftp.gnu.org/pub/gnu/libsigsegv/libsigsegv-2.6.tar.gz

News of this release:

* 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:
  http://www.gnu.org/software/gnulib/MODULES.html#module=libsigsegv

Enjoy!

Bruno





reply via email to

[Prev in Thread] Current Thread [Next in Thread]