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.18-52-g6b06ac5


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  6b06ac56cdfc9293908724e51e827534e97819aa (commit)
      from  2601bc1860c33653f2d402b871f1211d460aa350 (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=6b06ac56cdfc9293908724e51e827534e97819aa

commit 6b06ac56cdfc9293908724e51e827534e97819aa
Author: Will Newton <will.newton@linaro.org>
Date:   Thu Aug 29 20:10:26 2013 +0100

    ARM: Fix clone code when built for Thumb.
    
    The mov lr, pc instruction will lose the Thumb bit from the return address
    so use blx lr instead.
    
    ports/ChangeLog.arm:
    
    2013-08-30  Will Newton  <will.newton@linaro.org>
    
    	[BZ #15909]
    	* sysdeps/unix/sysv/linux/arm/clone.S (__clone): Use blx
    	instead of mov lr, pc.

diff --git a/NEWS b/NEWS
index d3524ff..4fe4b63 100644
--- a/NEWS
+++ b/NEWS
@@ -10,7 +10,7 @@ Version 2.19
 * The following bugs are resolved with this release:
 
   14699, 15522, 15531, 15532, 15736, 15749, 15797, 15867, 15890, 15897,
-  15905.
+  15905, 15909.
 
 * CVE-2013-4237 The readdir_r function could write more than NAME_MAX bytes
   to the d_name member of struct dirent, or omit the terminating NUL
diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm
index 8236f0f..2a95834 100644
--- a/ports/ChangeLog.arm
+++ b/ports/ChangeLog.arm
@@ -1,5 +1,11 @@
 2013-08-30  Will Newton  <will.newton@linaro.org>
 
+	[BZ #15909]
+	* sysdeps/unix/sysv/linux/arm/clone.S (__clone): Use blx
+	instead of mov lr, pc.
+
+2013-08-30  Will Newton  <will.newton@linaro.org>
+
 	* sysdeps/arm/armv6t2/strlen.S: New file.
 
 2013-08-29  Thomas Schwinge  <thomas@codesourcery.com>
diff --git a/ports/sysdeps/unix/sysv/linux/arm/clone.S b/ports/sysdeps/unix/sysv/linux/arm/clone.S
index ce9c2a5..6e74fa7 100644
--- a/ports/sysdeps/unix/sysv/linux/arm/clone.S
+++ b/ports/sysdeps/unix/sysv/linux/arm/clone.S
@@ -93,8 +93,8 @@ PSEUDO_END (__clone)
 	mov	lr, pc
 	bx      ip
 #else
-	mov	lr, pc
-	ldr 	pc, [sp], #8
+	ldr 	lr, [sp], #8
+	blx	lr
 #endif
 
 	@ and we are done, passing the return value through r0

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

Summary of changes:
 NEWS                                      |    2 +-
 ports/ChangeLog.arm                       |    6 ++++++
 ports/sysdeps/unix/sysv/linux/arm/clone.S |    4 ++--
 3 files changed, 9 insertions(+), 3 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]