diff options
author | wiz <wiz@pkgsrc.org> | 2008-09-06 13:52:29 +0000 |
---|---|---|
committer | wiz <wiz@pkgsrc.org> | 2008-09-06 13:52:29 +0000 |
commit | 583efeb6900159d003c1ab8da9c3b79d9ff5ded4 (patch) | |
tree | ca530a0b4f59211931ea4f73769c37be878c5b37 /devel/libsigsegv | |
parent | 065d2513aa4158569acf6712efdd7cc802629cd1 (diff) | |
download | pkgsrc-583efeb6900159d003c1ab8da9c3b79d9ff5ded4.tar.gz |
Update to 2.6:
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:
http://www.gnu.org/software/gnulib/MODULES.html#module=libsigsegv
Diffstat (limited to 'devel/libsigsegv')
-rw-r--r-- | devel/libsigsegv/Makefile | 5 | ||||
-rw-r--r-- | devel/libsigsegv/distinfo | 10 | ||||
-rw-r--r-- | devel/libsigsegv/patches/patch-aa | 31 | ||||
-rw-r--r-- | devel/libsigsegv/patches/patch-ab | 22 |
4 files changed, 6 insertions, 62 deletions
diff --git a/devel/libsigsegv/Makefile b/devel/libsigsegv/Makefile index 59f9c963ce9..2da96787e50 100644 --- a/devel/libsigsegv/Makefile +++ b/devel/libsigsegv/Makefile @@ -1,8 +1,7 @@ -# $NetBSD: Makefile,v 1.6 2008/08/23 15:56:28 wiz Exp $ +# $NetBSD: Makefile,v 1.7 2008/09/06 13:52:29 wiz Exp $ # -DISTNAME= libsigsegv-2.5 -PKGREVISION= 1 +DISTNAME= libsigsegv-2.6 CATEGORIES= devel MASTER_SITES= ${MASTER_SITE_GNU:=libsigsegv/} diff --git a/devel/libsigsegv/distinfo b/devel/libsigsegv/distinfo index ac669d1d43d..43e4ec30ced 100644 --- a/devel/libsigsegv/distinfo +++ b/devel/libsigsegv/distinfo @@ -1,7 +1,5 @@ -$NetBSD: distinfo,v 1.5 2008/08/23 15:56:28 wiz Exp $ +$NetBSD: distinfo,v 1.6 2008/09/06 13:52:29 wiz Exp $ -SHA1 (libsigsegv-2.5.tar.gz) = 84cf08a9aae4c4d884333421018d8127592e8c2b -RMD160 (libsigsegv-2.5.tar.gz) = 1776563a76de4286461a779cfd2b3b47533db05e -Size (libsigsegv-2.5.tar.gz) = 380512 bytes -SHA1 (patch-aa) = 4786b1362d9277d4b654e8978514a7cd454eeaaa -SHA1 (patch-ab) = eb0ca641f4355add51c5f599318ba78463a70046 +SHA1 (libsigsegv-2.6.tar.gz) = 15ca1dd9574012b8c4c4d2bf6ba945546114b0b5 +RMD160 (libsigsegv-2.6.tar.gz) = 145fe89e3f16737b271768374e001b2b5156f99d +Size (libsigsegv-2.6.tar.gz) = 348689 bytes diff --git a/devel/libsigsegv/patches/patch-aa b/devel/libsigsegv/patches/patch-aa deleted file mode 100644 index b193acfd413..00000000000 --- a/devel/libsigsegv/patches/patch-aa +++ /dev/null @@ -1,31 +0,0 @@ -$NetBSD: patch-aa,v 1.1 2006/07/24 13:39:26 joerg Exp $ - ---- configure.orig 2006-07-24 13:19:19.000000000 +0000 -+++ configure -@@ -18825,7 +18825,7 @@ done - - - case "$host_os" in -- sunos4* | freebsd* | openbsd* | netbsd*) -+ sunos4* | freebsd* | openbsd* | netbsd* | dragonfly*) - CFG_SIGNALS=signals-bsd.h ;; - hpux*) - CFG_SIGNALS=signals-hpux.h ;; -@@ -22583,7 +22583,7 @@ if test -z "$CFG_FAULT" && test "$sv_cv_ - fi - if test -z "$CFG_FAULT" && test "$sv_cv_fault_bsd" = yes; then - case "$host_os" in -- freebsd*) -+ freebsd* | dragonfly*) - case "$host_cpu" in - i?86 | x86_64) - CFG_FAULT=fault-freebsd-i386.h -@@ -23072,7 +23072,7 @@ if test $sv_cv_procfsvma = yes; then - else - case "$host_os" in - linux*) CFG_STACKVMA=stackvma-linux.c ;; -- freebsd*) CFG_STACKVMA=stackvma-freebsd.c ;; -+ freebsd* | dragonfly*) CFG_STACKVMA=stackvma-freebsd.c ;; - beos*) CFG_STACKVMA=stackvma-beos.c ;; - macos* | darwin*) CFG_STACKVMA=stackvma-mach.c ;; - esac diff --git a/devel/libsigsegv/patches/patch-ab b/devel/libsigsegv/patches/patch-ab deleted file mode 100644 index d5d968f4999..00000000000 --- a/devel/libsigsegv/patches/patch-ab +++ /dev/null @@ -1,22 +0,0 @@ -$NetBSD: patch-ab,v 1.1 2008/08/23 15:56:28 wiz Exp $ - ---- src/stackvma-mincore.c.orig 2006-05-15 14:01:12.000000000 +0200 -+++ src/stackvma-mincore.c -@@ -227,7 +227,7 @@ mincore_is_near_this (unsigned long addr - unsigned long testaddr = addr - (vma->start - addr); - if (testaddr > addr) /* overflow? */ - testaddr = 0; -- return is_unmapped (testaddr, addr); -+ return is_unmapped (testaddr, vma->start - 1); - } - - #endif -@@ -246,7 +246,7 @@ mincore_is_near_this (unsigned long addr - unsigned long testaddr = addr + (addr - vma->end); - if (testaddr < addr) /* overflow? */ - testaddr = ~0UL; -- return is_unmapped (addr, testaddr); -+ return is_unmapped (vma->end, testaddr); - } - - #endif |