This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
Community source repository for glibc add-on ports branch, release/2.13/master, updated. glibc-2.13-4-g922965e
- From: jsm28 at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 1 Apr 2011 16:48:17 -0000
- Subject: Community source repository for glibc add-on ports branch, release/2.13/master, updated. glibc-2.13-4-g922965e
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Community source repository for glibc add-on ports".
The branch, release/2.13/master has been updated
via 922965ef2760642581670287a19c736c7772de33 (commit)
from 119ea688184e82c09bb08934db723163ab683521 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=922965ef2760642581670287a19c736c7772de33
commit 922965ef2760642581670287a19c736c7772de33
Author: Ryosei Takagi <ryosei@sm.sony.co.jp>
Date: Fri Apr 1 16:44:42 2011 +0000
Save and restore r7 and adjust stack on failure for ARM EABI ____longjmp_chk.
(cherry picked from commit 420d6ddd5bbabbcffb02ba6ce35403d61d78567f)
diff --git a/ChangeLog.arm b/ChangeLog.arm
index 82537ba..a8c827b 100644
--- a/ChangeLog.arm
+++ b/ChangeLog.arm
@@ -1,3 +1,8 @@
+2011-04-01 Ryosei Takagi <ryosei@sm.sony.co.jp>
+
+ * sysdeps/unix/sysv/linux/arm/eabi/____longjmp_chk.S:
+ Save and restore r7, and also adjust sp.
+
2011-03-21 Joseph Myers <joseph@codesourcery.com>
* sysdeps/arm/eabi/__longjmp.S, sysdeps/arm/eabi/bits/fenv.h,
diff --git a/sysdeps/unix/sysv/linux/arm/eabi/____longjmp_chk.S b/sysdeps/unix/sysv/linux/arm/eabi/____longjmp_chk.S
index 508b4ba..9d8e464 100644
--- a/sysdeps/unix/sysv/linux/arm/eabi/____longjmp_chk.S
+++ b/sysdeps/unix/sysv/linux/arm/eabi/____longjmp_chk.S
@@ -52,13 +52,15 @@ longjmp_msg:
cfi_remember_state; \
cmp sp, reg; \
bls .Lok; \
+ str r7, [sp, #-4]!; \
+ cfi_adjust_cfa_offset (4); \
+ cfi_rel_offset (r7, 0); \
mov r5, r0; \
cfi_undefined (r5); \
mov r7, #SYS_ify(sigaltstack); \
- cfi_undefined (r7); \
mov r0, #0; \
- sub sp, sp, #16; /* >= sizeof (stack_t) */ \
- cfi_adjust_cfa_offset (16); \
+ sub sp, sp, #12; /* == sizeof (stack_t) */ \
+ cfi_adjust_cfa_offset (12); \
cfi_remember_state; \
mov r1, sp; \
swi #0; \
@@ -74,6 +76,11 @@ longjmp_msg:
cmp r2, r3; \
bhi .Lok2; \
.Lfail: \
+ add sp, sp, #12; \
+ cfi_adjust_cfa_offset (-12); \
+ ldr r7, [sp], #4; \
+ cfi_adjust_cfa_offset (-4); \
+ cfi_restore (r7); \
CALL_FAIL \
cfi_restore_state; \
.Lok2: \
-----------------------------------------------------------------------
Summary of changes:
ChangeLog.arm | 5 +++++
sysdeps/unix/sysv/linux/arm/eabi/____longjmp_chk.S | 13 ++++++++++---
2 files changed, 15 insertions(+), 3 deletions(-)
hooks/post-receive
--
Community source repository for glibc add-on ports