[glibc] 01/01: debian/patches/hppa/submitted-longjmp.diff: new patch from Helge Deller to fix longjmp on hppa. Closes: #858738.
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 <aurelien@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 <deller@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 to: