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

aurel32 pushed a commit to branch sid
in repository glibc.

commit 061007e9e06e692132864f91ffee325ea0ae0171
Author: Aurelien Jarno <aurel...@aurel32.net>
Date:   Sat Jun 17 01:49:55 2017 +0200

    debian/patches/hppa/submitted-longjmp.diff: new patch from Helge Deller to 
fix longjmp on hppa.  Closes: #858738.
---
 debian/changelog                           |  2 ++
 debian/patches/hppa/submitted-longjmp.diff | 40 ++++++++++++++++++++++++++++++
 debian/patches/series                      |  1 +
 3 files changed, 43 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 15c27af..b12ad39 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -11,6 +11,8 @@ glibc (2.24-12) UNRELEASED; urgency=medium
   * debian/rules, debian/rules.d/build.mk: do not capture the build path
     when generating glibc-source tarball.  Closes: #861183.
   * debian/control.in/main: build-depends on gperf.  Closes: #847478.
+  * debian/patches/hppa/submitted-longjmp.diff: new patch from Helge Deller
+    to fix longjmp on hppa.  Closes: #858738.
 
   [ John Paul Adrian Glaubitz ]
   * debian/sysdeps/sh3.mk: copy from sh4.mk.  Closes: #851867.
diff --git a/debian/patches/hppa/submitted-longjmp.diff 
b/debian/patches/hppa/submitted-longjmp.diff
new file mode 100644
index 0000000..56adcc0
--- /dev/null
+++ b/debian/patches/hppa/submitted-longjmp.diff
@@ -0,0 +1,40 @@
+2017-01-15  Helge Deller  <del...@gmx.de>
+
+       [BZ #21049]
+       * sysdeps/hppa/__longjmp.c (__longjmp): Move call to CHECK_SP up
+       to avoid clobbering r26.
+
+
+--- a/sysdeps/hppa/__longjmp.c
++++ b/sysdeps/hppa/__longjmp.c
+@@ -24,15 +24,16 @@
+ void
+ __longjmp (__jmp_buf env, int val)
+ {
++#ifdef CHECK_SP
++  CHECK_SP (env[0].__jmp_buf.__sp);
++#endif
++
++  {
+   /* We must use one of the non-callee saves registers
+      for env.  */
+   register unsigned long r26 asm ("r26") = (unsigned long)&env[0];
+   register unsigned long r25 asm ("r25") = (unsigned long)(val == 0 ? 1 : 
val);
+ 
+-#ifdef CHECK_SP
+-  CHECK_SP (env[0].__jmp_buf.__sp);
+-#endif
+-
+   asm volatile(
+       /* Set return value.  */
+       "copy   %0, %%r28\n\t"
+@@ -79,6 +80,8 @@ __longjmp (__jmp_buf env, int val)
+       : /* No outputs.  */
+       : "r" (r25), "r" (r26)
+       : /* No point in clobbers.  */ );
++  }
++
+   /* Avoid `volatile function does return' warnings.  */
+   for (;;);
+ }
+
diff --git a/debian/patches/series b/debian/patches/series
index b72f8c9..0ae97ba 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -57,6 +57,7 @@ hppa/local-stack-grows-up.diff
 hppa/submitted-setcontext.diff
 hppa/submitted-sysdeps-cancel.diff
 hppa/cvs-atomic-machine.diff
+hppa/submitted-longjmp.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 via email to