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.17-648-gd842b14


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  d842b1440dc2adc84387b460d4ed536042dd7322 (commit)
      from  601a3a5fd5d2ae7ddef9fb8d742bdef512a7dd0f (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=d842b1440dc2adc84387b460d4ed536042dd7322

commit d842b1440dc2adc84387b460d4ed536042dd7322
Author: Marcus Shawcroft <marcus.shawcroft@linaro.org>
Date:   Sun May 12 18:09:33 2013 +0100

    [AArch64] Fix out of range branch from ioctl() and clone()
    
    2013-05-12  Marcus Shawcroft  <marcus.shawcroft@linaro.org>
    
    	* sysdeps/unix/sysv/linux/aarch64/clone.S (__clone):
    	Do not call sycall_error directly with a confitional branch.
    
    	* sysdeps/unix/sysv/linux/aarch64/ioctl.S (__ioctl):
    	Do not call sycall_error directly with a confitional branch.

diff --git a/ports/ChangeLog.aarch64 b/ports/ChangeLog.aarch64
index f01388f..a611ac2 100644
--- a/ports/ChangeLog.aarch64
+++ b/ports/ChangeLog.aarch64
@@ -1,3 +1,11 @@
+2013-05-12  Marcus Shawcroft  <marcus.shawcroft@linaro.org>
+
+	* sysdeps/unix/sysv/linux/aarch64/clone.S (__clone):
+	Do not call sycall_error directly with a confitional branch.
+
+	* sysdeps/unix/sysv/linux/aarch64/ioctl.S (__ioctl):
+	Do not call sycall_error directly with a confitional branch.
+
 2013-03-19  Andreas Schwab  <schwab@suse.de>
 
 	* sysdeps/unix/sysv/linux/aarch64/configure.in: Set
diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/clone.S b/ports/sysdeps/unix/sysv/linux/aarch64/clone.S
index 999ecf2..b359e6e 100644
--- a/ports/sysdeps/unix/sysv/linux/aarch64/clone.S
+++ b/ports/sysdeps/unix/sysv/linux/aarch64/clone.S
@@ -65,9 +65,10 @@ ENTRY(__clone)
 	svc	0x0
 	cmp	x0, #0
 	beq	2f
-	blt	C_SYMBOL_NAME(__syscall_error)
+	blt	3f
 	RET
 1:	mov	x0, #-EINVAL
+3:
 	b	syscall_error
 
 2:
diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/ioctl.S b/ports/sysdeps/unix/sysv/linux/aarch64/ioctl.S
index b089bb5..2e08cf7 100644
--- a/ports/sysdeps/unix/sysv/linux/aarch64/ioctl.S
+++ b/ports/sysdeps/unix/sysv/linux/aarch64/ioctl.S
@@ -24,9 +24,7 @@ ENTRY(__ioctl)
         sxtw	x0, w0
         svc	#0x0
 	cmn	x0, #0x1, lsl #12
-	b.hi	C_SYMBOL_NAME(__syscall_error)
-	ret
-
+	PSEUDO_RET
 	PSEUDO_END (__ioctl)
 
 weak_alias (__ioctl, ioctl)

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

Summary of changes:
 ports/ChangeLog.aarch64                       |    8 ++++++++
 ports/sysdeps/unix/sysv/linux/aarch64/clone.S |    3 ++-
 ports/sysdeps/unix/sysv/linux/aarch64/ioctl.S |    4 +---
 3 files changed, 11 insertions(+), 4 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]