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-473-gaa2f176


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  aa2f176d6f75b86b91e544c2e494066ac8f88cbd (commit)
       via  ca3cfa40c16ef34c74951a07a57cfcbcd58898b1 (commit)
       via  6e6c2d01ebb1ef839675c7151d2a114f53663386 (commit)
       via  c69abcee726a6f63d9e5e8f0d9dcc79374ee3ef8 (commit)
      from  82aab97cbf74d03ff7eab70f918548e14fe0a370 (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=aa2f176d6f75b86b91e544c2e494066ac8f88cbd

commit aa2f176d6f75b86b91e544c2e494066ac8f88cbd
Author: Richard Henderson <rth@redhat.com>
Date:   Fri May 23 16:37:15 2014 -0400

    arm,aarch64: Remove SINGLE_THREAD_P_PIC
    
    This macro was removed by
    
    2005-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
    
    but not applied to the (still separate) eabi port so necro'd
    when the eabi port superceded the old abi.  It was thence
    copied into the new AArch64 port.

diff --git a/ChangeLog b/ChangeLog
index 4fcaa28..299d4de 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2014-05-25  Richard Henderson  <rth@twiddle.net>
 
+	* sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h
+	(SINGLE_THREAD_P_PIC): Remove.
+	* sysdeps/unix/sysv/linux/arm/sysdep-cancel.h
+	(SINGLE_THREAD_P_PIC): Remove.
+
 	* sysdeps/unix/sysv/linux/aarch64/sysdep.h (PSEUDO_RET): Move
 	branch to syscall error ...
 	(PSEUDO): ... here.
diff --git a/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h b/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h
index 2d0ae5b..c300b2d 100644
--- a/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h
@@ -186,7 +186,6 @@ extern int __local_multiple_threads attribute_hidden;
   cfi_restore (x30);							\
   cfi_adjust_cfa_offset (-16);						\
   cmp	w16, 0
-#   define SINGLE_THREAD_P_PIC(x) SINGLE_THREAD_P
 #  endif
 # endif
 
diff --git a/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h b/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h
index 118e6c3..a0a8696 100644
--- a/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h
@@ -223,7 +223,6 @@ extern int __local_multiple_threads attribute_hidden;
 	cfi_adjust_cfa_offset (-8);					\
 	cfi_restore (lr);						\
 	teq	ip, #0
-#   define SINGLE_THREAD_P_PIC(x) SINGLE_THREAD_P
 #  endif
 # endif
 

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

commit ca3cfa40c16ef34c74951a07a57cfcbcd58898b1
Author: Richard Henderson <rth@redhat.com>
Date:   Tue May 20 14:40:22 2014 -0400

    aarch64: Tidy syscall error check
    
    Move the error branch from the PSEUDO_RET macro to the PSEUDO macro.
    This is in line with other architectures, and will enable further improvments.

diff --git a/ChangeLog b/ChangeLog
index e7a7dec..4fcaa28 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2014-05-25  Richard Henderson  <rth@twiddle.net>
 
+	* sysdeps/unix/sysv/linux/aarch64/sysdep.h (PSEUDO_RET): Move
+	branch to syscall error ...
+	(PSEUDO): ... here.
+	[NOT_IN_libc] (SYSCALL_ERROR_HANDLER): Rename the label
+	from __local_syscall_error to .Lsyscall_error.
+	[!NOT_IN_libc] (SYSCALL_ERROR_HANDLER): Branch to __syscall_error.
+	(SYSCALL_ERROR): Update label name.
+
 	* sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h (PSEUDO):
 	Do not use DOARGS/UNDOARGS.
 	* sysdeps/unix/sysv/linux/aarch64/sysdep.h (DO_CALL): Likewise.
diff --git a/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h b/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h
index 957bb99..2d0ae5b 100644
--- a/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h
@@ -33,6 +33,7 @@
     cfi_startproc;							\
     DO_CALL (syscall_name, args);					\
     cmn x0, 4095;							\
+    b.cs .Lsyscall_error;						\
     PSEUDO_RET;								\
     cfi_endproc;							\
     .size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel;	\
@@ -41,6 +42,7 @@
     bne .Lpseudo_cancel;						\
     DO_CALL (syscall_name, 0);						\
     cmn x0, 4095;							\
+    b.cs .Lsyscall_error;						\
     PSEUDO_RET;								\
   .Lpseudo_cancel:							\
     DOCARGS_##args;	/* save syscall args etc. around CENABLE.  */	\
@@ -58,7 +60,8 @@
     ldr x30, [sp], 16;							\
     cfi_adjust_cfa_offset (-16);					\
     cfi_restore (x30);							\
-    cmn x0, 4095;
+    cmn x0, 4095;							\
+    b.cs .Lsyscall_error;
 
 # define DOCARGS_0							\
 	str x30, [sp, -16]!;						\
diff --git a/sysdeps/unix/sysv/linux/aarch64/sysdep.h b/sysdeps/unix/sysv/linux/aarch64/sysdep.h
index cffd008..0e91f83 100644
--- a/sysdeps/unix/sysv/linux/aarch64/sysdep.h
+++ b/sysdeps/unix/sysv/linux/aarch64/sysdep.h
@@ -58,17 +58,15 @@
   .text;								      \
   ENTRY (name);								      \
     DO_CALL (syscall_name, args);					      \
-    cmn x0, #4095;
+    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							      \
-    b.cs 1f;								      \
-    RET;								      \
-    1:                                                                        \
-    b SYSCALL_ERROR
+    RET;
 # undef ret
 # define ret PSEUDO_RET
 
@@ -112,10 +110,10 @@
 # define ret_ERRVAL PSEUDO_RET_NOERRNO
 
 # if NOT_IN_libc
-#  define SYSCALL_ERROR __local_syscall_error
+#  define SYSCALL_ERROR  .Lsyscall_error
 #  if RTLD_PRIVATE_ERRNO
 #   define SYSCALL_ERROR_HANDLER				\
-__local_syscall_error:						\
+.Lsyscall_error:						\
 	adrp	x1, C_SYMBOL_NAME(rtld_errno);			\
 	neg     w0, w0;						\
 	str     w0, [x1, :lo12:C_SYMBOL_NAME(rtld_errno)];	\
@@ -124,7 +122,7 @@ __local_syscall_error:						\
 #  else
 
 #   define SYSCALL_ERROR_HANDLER				\
-__local_syscall_error:						\
+.Lsyscall_error:						\
 	stp     x29, x30, [sp, -32]!;				\
 	cfi_adjust_cfa_offset (32);				\
 	cfi_rel_offset (x29, 0);				\
@@ -143,8 +141,10 @@ __local_syscall_error:						\
 	RET;
 #  endif
 # else
-#  define SYSCALL_ERROR_HANDLER	/* Nothing here; code in sysdep.S is used.  */
 #  define SYSCALL_ERROR __syscall_error
+#  define SYSCALL_ERROR_HANDLER                                 \
+.Lsyscall_error:                                                \
+	b	__syscall_error;
 # endif
 
 /* Linux takes system call args in registers:

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

commit 6e6c2d01ebb1ef839675c7151d2a114f53663386
Author: Richard Henderson <rth@redhat.com>
Date:   Thu May 22 11:38:05 2014 -0400

    aarch64: Remove DOARGS/UNDOARGS macros
    
    While they do something for AArch32, they're useless for AArch64.

diff --git a/ChangeLog b/ChangeLog
index d0f5dfc..e7a7dec 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2014-05-25  Richard Henderson  <rth@twiddle.net>
 
+	* sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h (PSEUDO):
+	Do not use DOARGS/UNDOARGS.
+	* sysdeps/unix/sysv/linux/aarch64/sysdep.h (DO_CALL): Likewise.
+	(DOARGS_0, DOARGS_1, DOARGS_2, DOARGS_3): Remove.
+	(DOARGS_4, DOARGS_5, DOARGS_6, DOARGS_7): Remove.
+	(UNDOARGS_0, UNDOARGS_1, UNDOARGS_2, UNDOARGS_3): Remove.
+	(UNDOARGS_4, UNDOARGS_5, UNDOARGS_6, UNDOARGS_7): Remove.
+
 	* sysdeps/unix/sysv/linux/aarch64/sysdep.h (DO_CALL): Fix
 	block comment.
 
diff --git a/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h b/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h
index 24fae7b..957bb99 100644
--- a/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h
@@ -38,10 +38,8 @@
     .size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel;	\
   ENTRY (name);								\
     SINGLE_THREAD_P;							\
-    DOARGS_##args;							\
     bne .Lpseudo_cancel;						\
     DO_CALL (syscall_name, 0);						\
-    UNDOARGS_##args;							\
     cmn x0, 4095;							\
     PSEUDO_RET;								\
   .Lpseudo_cancel:							\
@@ -60,7 +58,6 @@
     ldr x30, [sp], 16;							\
     cfi_adjust_cfa_offset (-16);					\
     cfi_restore (x30);							\
-    UNDOARGS_##args;							\
     cmn x0, 4095;
 
 # define DOCARGS_0							\
diff --git a/sysdeps/unix/sysv/linux/aarch64/sysdep.h b/sysdeps/unix/sysv/linux/aarch64/sysdep.h
index e158ec6..cffd008 100644
--- a/sysdeps/unix/sysv/linux/aarch64/sysdep.h
+++ b/sysdeps/unix/sysv/linux/aarch64/sysdep.h
@@ -172,28 +172,8 @@ __local_syscall_error:						\
 
 # undef	DO_CALL
 # define DO_CALL(syscall_name, args)		\
-    DOARGS_##args				\
     mov x8, SYS_ify (syscall_name);		\
-    svc 0;					\
-    UNDOARGS_##args
-
-# define DOARGS_0 /* nothing */
-# define DOARGS_1 /* nothing */
-# define DOARGS_2 /* nothing */
-# define DOARGS_3 /* nothing */
-# define DOARGS_4 /* nothing */
-# define DOARGS_5 /* nothing */
-# define DOARGS_6 /* nothing */
-# define DOARGS_7 /* nothing */
-
-# define UNDOARGS_0 /* nothing */
-# define UNDOARGS_1 /* nothing */
-# define UNDOARGS_2 /* nothing */
-# define UNDOARGS_3 /* nothing */
-# define UNDOARGS_4 /* nothing */
-# define UNDOARGS_5 /* nothing */
-# define UNDOARGS_6 /* nothing */
-# define UNDOARGS_7 /* nothing */
+    svc 0
 
 #else /* not __ASSEMBLER__ */
 

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

commit c69abcee726a6f63d9e5e8f0d9dcc79374ee3ef8
Author: Richard Henderson <rth@redhat.com>
Date:   Sun May 25 12:33:00 2014 -0400

    aarch64: Fix DO_CALL block comment

diff --git a/ChangeLog b/ChangeLog
index a126a4a..d0f5dfc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2014-05-25  Richard Henderson  <rth@twiddle.net>
 
+	* sysdeps/unix/sysv/linux/aarch64/sysdep.h (DO_CALL): Fix
+	block comment.
+
 	* sysdeps/unix/sysv/linux/alpha/vfork.S (vfork, __vfork): Only
 	define if !NOT_IN_libc.
 	* sysdeps/unix/sysv/linux/alpha/pt-vfork.S (vfork, __vfork): Only
diff --git a/sysdeps/unix/sysv/linux/aarch64/sysdep.h b/sysdeps/unix/sysv/linux/aarch64/sysdep.h
index 8397ad3..e158ec6 100644
--- a/sysdeps/unix/sysv/linux/aarch64/sysdep.h
+++ b/sysdeps/unix/sysv/linux/aarch64/sysdep.h
@@ -148,7 +148,7 @@ __local_syscall_error:						\
 # endif
 
 /* Linux takes system call args in registers:
-	syscall number	in the SVC instruction
+	syscall number	x8
 	arg 1		x0
 	arg 2		x1
 	arg 3		x2

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

Summary of changes:
 ChangeLog                                          |   24 +++++++++++
 .../unix/sysv/linux/aarch64/nptl/sysdep-cancel.h   |    9 ++--
 sysdeps/unix/sysv/linux/aarch64/sysdep.h           |   42 +++++--------------
 sysdeps/unix/sysv/linux/arm/sysdep-cancel.h        |    1 -
 4 files changed, 39 insertions(+), 37 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]