From 59b9d304fc92a6dde818487093340550b1005aab Mon Sep 17 00:00:00 2001 From: wiz Date: Sat, 23 Aug 2008 15:56:28 +0000 Subject: Fix false positives in determining stack overflow when using mincore. Using patch from Eric Blake that got committed upstream. http://lists.gnu.org/archive/html/bug-gnulib/2008-07/msg00073.html Bump PKGREVISION. --- devel/libsigsegv/Makefile | 3 ++- devel/libsigsegv/distinfo | 3 ++- devel/libsigsegv/patches/patch-ab | 22 ++++++++++++++++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 devel/libsigsegv/patches/patch-ab diff --git a/devel/libsigsegv/Makefile b/devel/libsigsegv/Makefile index ffd782b5be1..59f9c963ce9 100644 --- a/devel/libsigsegv/Makefile +++ b/devel/libsigsegv/Makefile @@ -1,7 +1,8 @@ -# $NetBSD: Makefile,v 1.5 2008/01/07 18:15:27 joerg Exp $ +# $NetBSD: Makefile,v 1.6 2008/08/23 15:56:28 wiz Exp $ # DISTNAME= libsigsegv-2.5 +PKGREVISION= 1 CATEGORIES= devel MASTER_SITES= ${MASTER_SITE_GNU:=libsigsegv/} diff --git a/devel/libsigsegv/distinfo b/devel/libsigsegv/distinfo index e93e57f1366..ac669d1d43d 100644 --- a/devel/libsigsegv/distinfo +++ b/devel/libsigsegv/distinfo @@ -1,6 +1,7 @@ -$NetBSD: distinfo,v 1.4 2007/11/29 18:25:22 rillig Exp $ +$NetBSD: distinfo,v 1.5 2008/08/23 15:56:28 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 diff --git a/devel/libsigsegv/patches/patch-ab b/devel/libsigsegv/patches/patch-ab new file mode 100644 index 00000000000..d5d968f4999 --- /dev/null +++ b/devel/libsigsegv/patches/patch-ab @@ -0,0 +1,22 @@ +$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 -- cgit v1.2.3