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-244-g41bc5e0


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  41bc5e09352ca838e1787f3109dcf4b4ae85986a (commit)
       via  6d9b9a67af7f49151191a4c7c406ca6be89855ec (commit)
      from  66a9be9d58e83856e398fbb484e7f2637d7f100b (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=41bc5e09352ca838e1787f3109dcf4b4ae85986a

commit 41bc5e09352ca838e1787f3109dcf4b4ae85986a
Author: Will Newton <will.newton@linaro.org>
Date:   Wed Sep 25 10:17:28 2013 +0100

    ARM: Allow building __sigsetjmp as Thumb.
    
    Convert __sigsetjmp code to allow building as Thumb.
    
    ports/ChangeLog.arm:
    
    2013-10-04  Will Newton  <will.newton@linaro.org>
    
    	* sysdeps/arm/setjmp.S (NO_THUMB): Remove define.
    	(__sigsetjmp): Use Thumb supported instructions.

diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm
index 3f47d5e..6707d2e 100644
--- a/ports/ChangeLog.arm
+++ b/ports/ChangeLog.arm
@@ -5,6 +5,9 @@
 	* sysdeps/unix/sysv/linux/arm/____longjmp_chk.S (NO_THUMB):
 	Remove define.
 
+	* sysdeps/arm/setjmp.S (NO_THUMB): Remove define.
+	(__sigsetjmp): Use Thumb supported instructions.
+
 2013-10-03  Will Newton  <will.newton@linaro.org>
 
 	* sysdeps/arm/__longjmp.S (__longjmp): Demangle fp, sp
diff --git a/ports/sysdeps/arm/setjmp.S b/ports/sysdeps/arm/setjmp.S
index b38b919..fedd994 100644
--- a/ports/sysdeps/arm/setjmp.S
+++ b/ports/sysdeps/arm/setjmp.S
@@ -16,8 +16,6 @@
    License along with the GNU C Library.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
-/* ??? Needs more rearrangement for the STM to handle thumb mode.  */
-#define NO_THUMB
 #include <sysdep.h>
 #include <bits/setjmp.h>
 #include <rtld-global-offsets.h>
@@ -35,7 +33,8 @@ ENTRY (__sigsetjmp)
 	sfi_breg ip, \
 	stmia	\B!, JMP_BUF_REGLIST
 #ifdef PTR_MANGLE
-	PTR_MANGLE2 (a4, sp, a3)
+	mov	a4, sp
+	PTR_MANGLE2 (a4, a4, a3)
 	str	a4, [ip], #4
 	PTR_MANGLE2 (a4, lr, a3)
 	str	a4, [ip], #4

http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=6d9b9a67af7f49151191a4c7c406ca6be89855ec

commit 6d9b9a67af7f49151191a4c7c406ca6be89855ec
Author: Will Newton <will.newton@linaro.org>
Date:   Wed Sep 25 10:14:20 2013 +0100

    ARM: Allow building __longjmp as Thumb.
    
    Convert __longjmp code to allow building as Thumb.
    
    ports/ChangeLog.arm:
    
    2013-10-04  Will Newton  <will.newton@linaro.org>
    
    	* sysdeps/arm/__longjmp.S (NO_THUMB): Remove define.
    	(__longjmp): Use Thumb supported instructions.
    	* sysdeps/unix/sysv/linux/arm/____longjmp_chk.S (NO_THUMB):
    	Remove define.

diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm
index 0724dbd..3f47d5e 100644
--- a/ports/ChangeLog.arm
+++ b/ports/ChangeLog.arm
@@ -1,3 +1,10 @@
+2013-10-04  Will Newton  <will.newton@linaro.org>
+
+	* sysdeps/arm/__longjmp.S (NO_THUMB): Remove define.
+	(__longjmp): Use Thumb supported instructions.
+	* sysdeps/unix/sysv/linux/arm/____longjmp_chk.S (NO_THUMB):
+	Remove define.
+
 2013-10-03  Will Newton  <will.newton@linaro.org>
 
 	* sysdeps/arm/__longjmp.S (__longjmp): Demangle fp, sp
diff --git a/ports/sysdeps/arm/__longjmp.S b/ports/sysdeps/arm/__longjmp.S
index 2b1f7f4..894c121 100644
--- a/ports/sysdeps/arm/__longjmp.S
+++ b/ports/sysdeps/arm/__longjmp.S
@@ -16,8 +16,6 @@
    License along with the GNU C Library.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
-/* ??? Needs more rearrangement for the LDM to handle thumb mode.  */
-#define NO_THUMB
 #include <sysdep.h>
 #include <bits/setjmp.h>
 #include <rtld-global-offsets.h>
@@ -28,6 +26,7 @@
 ENTRY (__longjmp)
 	mov	ip, r0
 	movs	r0, r1		/* get the return value in place */
+	it	eq
 	moveq	r0, #1		/* can't let setjmp() return zero! */
 
 #ifdef CHECK_SP
@@ -44,7 +43,8 @@ ENTRY (__longjmp)
 #ifdef PTR_DEMANGLE
 	PTR_DEMANGLE (fp, a4, a3, a2)
 	ldr	a4, [ip], #4
-	PTR_DEMANGLE2 (sp, a4, a3)
+	PTR_DEMANGLE2 (a4, a4, a3)
+	mov	sp, a4
 	ldr	a4, [ip], #4
 	PTR_DEMANGLE2 (lr, a4, a3)
 #else
diff --git a/ports/sysdeps/unix/sysv/linux/arm/____longjmp_chk.S b/ports/sysdeps/unix/sysv/linux/arm/____longjmp_chk.S
index 6ee7a1a..6777ef6 100644
--- a/ports/sysdeps/unix/sysv/linux/arm/____longjmp_chk.S
+++ b/ports/sysdeps/unix/sysv/linux/arm/____longjmp_chk.S
@@ -15,8 +15,6 @@
    License along with the GNU C Library.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
-/* ??? Needs more rearrangement for the LDM to handle thumb mode.  */
-#define NO_THUMB
 #include <sysdep.h>
 
 	.section .rodata.str1.1,"aMS",%progbits,1

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

Summary of changes:
 ports/ChangeLog.arm                                |   10 ++++++++++
 ports/sysdeps/arm/__longjmp.S                      |    6 +++---
 ports/sysdeps/arm/setjmp.S                         |    5 ++---
 .../sysdeps/unix/sysv/linux/arm/____longjmp_chk.S  |    2 --
 4 files changed, 15 insertions(+), 8 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]