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

[glibc] 01/01: patches/hppa/local-stack-grows-up.diff: restore one hunk that has not been merged upstream from the 2.23 version.



This is an automated email from the git hooks/post-receive script.

aurel32 pushed a commit to branch glibc-2.24
in repository glibc.

commit 5d6f63dedbab04449b0a928632b9f2f2861a9bec
Author: Aurelien Jarno <aurelien@aurel32.net>
Date:   Mon Aug 8 11:57:30 2016 +0200

    patches/hppa/local-stack-grows-up.diff: restore one hunk that has not been merged upstream from the 2.23 version.
---
 debian/changelog                              |  2 ++
 debian/patches/hppa/local-stack-grows-up.diff | 19 +++++++++++++++++++
 debian/patches/series                         |  1 +
 3 files changed, 22 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 2362d69..663d666 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -12,6 +12,8 @@ glibc (2.24-0experimental1) UNRELEASED; urgency=medium
     sparc.
   * debian/sysdeps/{sparc,sparc64}.mk: force target to sparcv9-linux-gnu.
   * debian/patches/sparc/local-sparcv9-target.diff: drop, obsolete.
+  * patches/hppa/local-stack-grows-up.diff: restore one hunk that has not been
+    merged upstream from the 2.23 version.
 
  -- Samuel Thibault <sthibault@debian.org>  Thu, 04 Aug 2016 09:20:04 +0200
 
diff --git a/debian/patches/hppa/local-stack-grows-up.diff b/debian/patches/hppa/local-stack-grows-up.diff
new file mode 100644
index 0000000..6c4bbc4
--- /dev/null
+++ b/debian/patches/hppa/local-stack-grows-up.diff
@@ -0,0 +1,19 @@
+--- a/nptl/allocatestack.c
++++ b/nptl/allocatestack.c
+@@ -683,9 +692,13 @@
+ 			prot) != 0)
+ 	    goto mprot_error;
+ #elif _STACK_GROWS_UP
+-	  if (mprotect ((char *) pd - pd->guardsize,
+-			pd->guardsize - guardsize, prot) != 0)
+-	    goto mprot_error;
++	  char *new_guard = (char *) (((uintptr_t) pd - guardsize) & ~pagesize_m1);
++	  char *old_guard = (char *) (((uintptr_t) pd - pd->guardsize) & ~pagesize_m1);
++	  /* The guard size difference might be > 0, but once rounded
++	     to the nearest page the size difference might be zero.  */
++	  if (old_guard - new_guard > 0)
++	    if (mprotect (old_guard, new_guard - old_guard, prot) != 0)
++	      goto mprot_error;
+ #endif
+ 
+ 	  pd->guardsize = guardsize;
diff --git a/debian/patches/series b/debian/patches/series
index cabddb7..cbef113 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -54,6 +54,7 @@ hppa/local-shmlba.diff
 hppa/local-fptr-table-size.diff
 hppa/submitted-gmon-start.diff
 hppa/submitted-dladdr.diff
+hppa/local-stack-grows-up.diff
 
 hurd-i386/local-enable-ldconfig.diff
 hurd-i386/tg-context_functions.diff

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-glibc/glibc.git


Reply to: