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-511-gf0712b5


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  f0712b543eaddeca8fc6d7a8eb6b5b8d24105ce2 (commit)
       via  74f31c18593111725478a991b395ae45661985a3 (commit)
      from  30477995dc8a680283b4d6e02039bca09de83cf9 (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=f0712b543eaddeca8fc6d7a8eb6b5b8d24105ce2

commit f0712b543eaddeca8fc6d7a8eb6b5b8d24105ce2
Author: Richard Henderson <rth@redhat.com>
Date:   Thu May 29 12:14:49 2014 -0400

    aarch64: Remove PSEUDO_RET

diff --git a/ChangeLog b/ChangeLog
index 1d85abe..818dd07 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2014-05-30  Richard Henderson  <rth@twiddle.net>
 
+	* sysdeps/unix/sysv/linux/aarch64/sysdep.h (PSEUDO_RET): Remove.
+	(PSEUDO_RET_NOERRNO): Remove.
+	(ret): Don't redefine.
+	(ret_NOERRNO): Define in terms of ret.
+	(ret_ERRVAL): Likewise.
+
 	* sysdeps/unix/sysv/linux/aarch64/ioctl.S (__ioctl): Remove the
 	use of PSEUDO_RET; perform the error check directly.
 
diff --git a/sysdeps/unix/sysv/linux/aarch64/sysdep.h b/sysdeps/unix/sysv/linux/aarch64/sysdep.h
index 4686599..3f3c709 100644
--- a/sysdeps/unix/sysv/linux/aarch64/sysdep.h
+++ b/sysdeps/unix/sysv/linux/aarch64/sysdep.h
@@ -61,15 +61,6 @@
     cmn x0, #4095;							      \
     b.cs .Lsyscall_error;
 
-/* Notice the use of 'RET' instead of 'ret' the assembler is case
-   insensitive and eglibc already uses the preprocessor symbol 'ret'
-   so we use the upper case 'RET' to force through a ret instruction
-   to the assembler */
-# define PSEUDO_RET							      \
-    RET;
-# undef ret
-# define ret PSEUDO_RET
-
 # undef	PSEUDO_END
 # define PSEUDO_END(name)						      \
   SYSCALL_ERROR_HANDLER							      \
@@ -81,20 +72,12 @@
   ENTRY (name);								      \
     DO_CALL (syscall_name, args);
 
-/* Notice the use of 'RET' instead of 'ret' the assembler is case
-   insensitive and eglibc already uses the preprocessor symbol 'ret'
-   so we use the upper case 'RET' to force through a ret instruction
-   to the assembler */
-# define PSEUDO_RET_NOERRNO						      \
-    RET;
-
-# undef ret_NOERRNO
-# define ret_NOERRNO PSEUDO_RET_NOERRNO
-
 # undef	PSEUDO_END_NOERRNO
 # define PSEUDO_END_NOERRNO(name)					      \
   END (name)
 
+# define ret_NOERRNO ret
+
 /* The function has to return the error code.  */
 # undef	PSEUDO_ERRVAL
 # define PSEUDO_ERRVAL(name, syscall_name, args) \
@@ -107,7 +90,7 @@
 # define PSEUDO_END_ERRVAL(name) \
   END (name)
 
-# define ret_ERRVAL PSEUDO_RET_NOERRNO
+# define ret_ERRVAL ret
 
 # if NOT_IN_libc
 #  define SYSCALL_ERROR  .Lsyscall_error

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

commit 74f31c18593111725478a991b395ae45661985a3
Author: Richard Henderson <rth@redhat.com>
Date:   Thu May 29 11:57:39 2014 -0400

    aarch64: Fix error return from __ioctl
    
    Forgotten in ca3cfa40c16ef34c74951a07a57cfcbcd58898b1
    where the error branch was moved from PSEUDO_RET.

diff --git a/ChangeLog b/ChangeLog
index 243271f..1d85abe 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-05-30  Richard Henderson  <rth@twiddle.net>
+
+	* sysdeps/unix/sysv/linux/aarch64/ioctl.S (__ioctl): Remove the
+	use of PSEUDO_RET; perform the error check directly.
+
 2014-05-30 Marko Myllynen  <myllynen@redhat.com>
 
 	* sysdeps/x86_64/link-defines.sym (BND_SIZE): Replace __int128
diff --git a/sysdeps/unix/sysv/linux/aarch64/ioctl.S b/sysdeps/unix/sysv/linux/aarch64/ioctl.S
index 4443f5a..8920a20 100644
--- a/sysdeps/unix/sysv/linux/aarch64/ioctl.S
+++ b/sysdeps/unix/sysv/linux/aarch64/ioctl.S
@@ -20,11 +20,12 @@
 
 	.text
 ENTRY(__ioctl)
-	movz	x8, #__NR_ioctl
-        sxtw	x0, w0
-        svc	#0x0
-	cmn	x0, #0x1, lsl #12
-	PSEUDO_RET
-	PSEUDO_END (__ioctl)
+	mov	x8, #__NR_ioctl
+	sxtw	x0, w0
+	svc	#0x0
+	cmn	x0, #4095
+	b.cs	.Lsyscall_error
+	ret
+PSEUDO_END (__ioctl)
 
 weak_alias (__ioctl, ioctl)

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

Summary of changes:
 ChangeLog                                |   11 +++++++++++
 sysdeps/unix/sysv/linux/aarch64/ioctl.S  |   13 +++++++------
 sysdeps/unix/sysv/linux/aarch64/sysdep.h |   23 +++--------------------
 3 files changed, 21 insertions(+), 26 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]