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]

GNU C Library master sources branch master updated. glibc-2.19-140-gd7706c3


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 "GNU C Library master sources".

The branch, master has been updated
       via  d7706c32589ef32f4bed3122a2f5c861b214149e (commit)
      from  4facea473059914983b7da8dd654c06b8e3dcc41 (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://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=d7706c32589ef32f4bed3122a2f5c861b214149e

commit d7706c32589ef32f4bed3122a2f5c861b214149e
Author: Roland McGrath <roland@hack.frob.com>
Date:   Tue Mar 11 10:59:01 2014 -0700

    ARM: Fix up setjmp/longjmp changes sfi_* macro use.

diff --git a/ChangeLog b/ChangeLog
index 3312dcb..3a589d8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2014-03-11  Roland McGrath  <roland@hack.frob.com>
+
+	* sysdeps/arm/setjmp.S: Use sfi_breg on stores of mangled registers.
+	* sysdeps/arm/__longjmp.S: Use sfi_breg on loads of mangled registers.
+	Move sfi_sp use from the load-multiple (that no longer sets sp) to
+	the new mov targetting sp.
+
 2014-03-11  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
 
 	[BZ #16683]
diff --git a/sysdeps/arm/__longjmp.S b/sysdeps/arm/__longjmp.S
index 08521e5..27d1b71 100644
--- a/sysdeps/arm/__longjmp.S
+++ b/sysdeps/arm/__longjmp.S
@@ -38,22 +38,27 @@ ENTRY (__longjmp)
 #endif
 
 #ifdef PTR_DEMANGLE
-	ldr	a4, [ip], #4
+	sfi_breg ip, \
+	ldr	a4, [\B], #4
 	PTR_DEMANGLE (a4, a4, a3, r4)
 	cfi_undefined (r4)
-	ldr	r4, [ip], #4
+	sfi_breg ip, \
+	ldr	r4, [\B], #4
 	PTR_DEMANGLE2 (r4, r4, a3)
 #else
-	ldr	a4, [ip], #4
-	ldr	r4, [ip], #4
+	sfi_breg ip, \
+	ldr	a4, [\B], #4
+	sfi_breg ip, \
+	ldr	r4, [\B], #4
 	cfi_undefined (r4)
 #endif
 	/* longjmp probe expects longjmp first argument (4@r0), second
 	   argument (-4@r1), and target address (4@r4), respectively.  */
 	LIBC_PROBE (longjmp, 3, 4@r0, -4@r1, 4@r4)
+	sfi_sp \
 	mov	sp, a4
 	mov	lr, r4
-	sfi_sp sfi_breg ip, \
+	sfi_breg ip, \
 	ldmia	\B!, JMP_BUF_REGLIST
 	cfi_restore (v1)
 	cfi_restore (v2)
diff --git a/sysdeps/arm/setjmp.S b/sysdeps/arm/setjmp.S
index 5e55ca5..17a16c9 100644
--- a/sysdeps/arm/setjmp.S
+++ b/sysdeps/arm/setjmp.S
@@ -36,12 +36,16 @@ ENTRY (__sigsetjmp)
 #ifdef PTR_MANGLE
 	mov	a4, sp
 	PTR_MANGLE2 (a4, a4, a3)
-	str	a4, [ip], #4
+	sfi_breg ip, \
+	str	a4, [\B], #4
 	PTR_MANGLE2 (a4, lr, a3)
-	str	a4, [ip], #4
+	sfi_breg ip, \
+	str	a4, [\B], #4
 #else
-	str	sp, [ip], #4
-	str	lr, [ip], #4
+	sfi_breg ip, \
+	str	sp, [\B], #4
+	sfi_breg ip, \
+	str	lr, [\B], #4
 #endif
 	/* Save registers */
 	sfi_breg ip, \

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog               |    7 +++++++
 sysdeps/arm/__longjmp.S |   15 ++++++++++-----
 sysdeps/arm/setjmp.S    |   12 ++++++++----
 3 files changed, 25 insertions(+), 9 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


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