This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Community source repository for glibc add-on ports branch, master, updated. glibc-2.13-21-g420d6dd


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, master has been updated
       via  420d6ddd5bbabbcffb02ba6ce35403d61d78567f (commit)
      from  cea44847924fe22ee2e1e112ef46880b6adf8d5e (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=420d6ddd5bbabbcffb02ba6ce35403d61d78567f

commit 420d6ddd5bbabbcffb02ba6ce35403d61d78567f
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.

diff --git a/ChangeLog.arm b/ChangeLog.arm
index 60f2c0b..e655775 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-04-01  Joseph Myers  <joseph@codesourcery.com>
 
 	* sysdeps/unix/sysv/linux/arm/bits/fcntl.h (O_PATH): Define.
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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]