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.28.9000-200-g94a3a27


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  94a3a27f5df24a69420c80fb83f07c8cf7671938 (commit)
       via  0a271c8f25a8342f7c36b999f4f7bad2d4067a8e (commit)
      from  72771e53753647111d31c5c4bf43d8901e6baf7e (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=94a3a27f5df24a69420c80fb83f07c8cf7671938

commit 94a3a27f5df24a69420c80fb83f07c8cf7671938
Author: David S. Miller <davem@davemloft.net>
Date:   Thu Oct 18 11:42:19 2018 -0700

    Add VDSO support to sparc.
    
    	* sysdeps/unix/sysv/linux/sparc/init-first.c: New file.
    	* sysdeps/unix/sysv/linux/sparc/libc-vdso.h: New file.
    	* sysdeps/unix/sysv/linux/sparc/Makefile: Add dl-vdso to
    	sysdep_routines in subdir elf.
    	* sysdeps/unix/sysv/linux/sparc/Versions: Add GLIBC_PRIVATE
    	version for __vdso_clock_gettime.
    	* sysdeps/unix/sysv/linux/sparc/sysdep.h (INTERNAL_VSYSCALL_CALL):
    	Define.
    	(HAVE_CLOCK_GETTIME_VSYSCALL): Define.
    	(HAVE_GETTIMEOFDAY_VSYSCALL): Define.

diff --git a/ChangeLog b/ChangeLog
index 94e239f..4f0448c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
 2018-10-18  David S. Miller  <davem@davemloft.net>
 
+	* sysdeps/unix/sysv/linux/sparc/init-first.c: New file.
+	* sysdeps/unix/sysv/linux/sparc/libc-vdso.h: New file.
+	* sysdeps/unix/sysv/linux/sparc/Makefile: Add dl-vdso to
+	sysdep_routines in subdir elf.
+	* sysdeps/unix/sysv/linux/sparc/Versions: Add GLIBC_PRIVATE
+	version for __vdso_clock_gettime.
+	* sysdeps/unix/sysv/linux/sparc/sysdep.h (INTERNAL_VSYSCALL_CALL):
+	Define.
+	(HAVE_CLOCK_GETTIME_VSYSCALL): Define.
+	(HAVE_GETTIMEOFDAY_VSYSCALL): Define.
+
 	* sysdeps/sparc/fpu/libm-test-ulps: Regenerated.
 
 2018-10-17  H.J. Lu  <hongjiu.lu@intel.com>
diff --git a/sysdeps/unix/sysv/linux/sparc/Makefile b/sysdeps/unix/sysv/linux/sparc/Makefile
index b0d182a..fb3ee5b 100644
--- a/sysdeps/unix/sysv/linux/sparc/Makefile
+++ b/sysdeps/unix/sysv/linux/sparc/Makefile
@@ -7,6 +7,10 @@ librt-routines += rt-sysdep
 librt-shared-only-routines += rt-sysdep
 endif
 
+ifeq ($(subdir),elf)
+sysdep_routines += dl-vdso
+endif
+
 ifeq ($(subdir),sysvipc)
 sysdep_routines += getshmlba
 endif
diff --git a/sysdeps/unix/sysv/linux/sparc/Versions b/sysdeps/unix/sysv/linux/sparc/Versions
index 4dc1cd7..f056add 100644
--- a/sysdeps/unix/sysv/linux/sparc/Versions
+++ b/sysdeps/unix/sysv/linux/sparc/Versions
@@ -29,6 +29,10 @@ libc {
 
     __getshmlba;
   }
+  GLIBC_PRIVATE {
+    # nptl/pthread_cond_timedwait.c uses INTERNAL_VSYSCALL(clock_gettime).
+    __vdso_clock_gettime;
+  }
 }
 
 libpthread {
diff --git a/sysdeps/unix/sysv/linux/sparc/init-first.c b/sysdeps/unix/sysv/linux/sparc/init-first.c
new file mode 100644
index 0000000..7700cdf
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sparc/init-first.c
@@ -0,0 +1,46 @@
+/* SPARC VDSO initialization
+   Copyright (C) 2018 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifdef SHARED
+# include <dl-vdso.h>
+# include <libc-vdso.h>
+
+long int (*VDSO_SYMBOL (gettimeofday)) (struct timeval *, void *)
+    attribute_hidden;
+long int (*VDSO_SYMBOL (clock_gettime)) (clockid_t, struct timespec *)
+    attribute_hidden;
+
+static inline void
+_libc_vdso_platform_setup (void)
+{
+  PREPARE_VERSION_KNOWN (linux_version, LINUX_2_6);
+
+  void *p = _dl_vdso_vsym ("__vdso_gettimeofday", &linux_version);
+  PTR_MANGLE (p);
+  VDSO_SYMBOL (gettimeofday) = p;
+
+  p = _dl_vdso_vsym ("__vdso_clock_gettime", &linux_version);
+  PTR_MANGLE (p);
+  VDSO_SYMBOL (clock_gettime) = p;
+}
+
+# define VDSO_SETUP _libc_vdso_platform_setup
+#endif
+
+#include <csu/init-first.c>
diff --git a/sysdeps/unix/sysv/linux/sparc/libc-vdso.h b/sysdeps/unix/sysv/linux/sparc/libc-vdso.h
new file mode 100644
index 0000000..b3938ab
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sparc/libc-vdso.h
@@ -0,0 +1,33 @@
+/* VDSO function pointer declarations.
+   Copyright (C) 2018 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LIBC_VDSO_H
+#define _LIBC_VDSO_H
+
+#ifdef SHARED
+
+# include <sysdep-vdso.h>
+
+extern long int (*VDSO_SYMBOL(gettimeofday)) (struct timeval *, void *)
+   attribute_hidden;
+extern long int (*VDSO_SYMBOL(clock_gettime)) (clockid_t, struct timespec *);
+
+#endif
+
+#endif /* _LIBC_VDSO_H */
diff --git a/sysdeps/unix/sysv/linux/sparc/sysdep.h b/sysdeps/unix/sysv/linux/sparc/sysdep.h
index fd06a43..5fb7828 100644
--- a/sysdeps/unix/sysv/linux/sparc/sysdep.h
+++ b/sysdeps/unix/sysv/linux/sparc/sysdep.h
@@ -34,6 +34,17 @@
 
 #else	/* __ASSEMBLER__ */
 
+#define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...)		\
+  ({									\
+    long _ret = funcptr (args);						\
+    err = ((unsigned long) (_ret) >= (unsigned long) -4095L);		\
+    _ret;								\
+  })
+
+/* List of system calls which are supported as vsyscalls.  */
+# define HAVE_CLOCK_GETTIME_VSYSCALL	1
+# define HAVE_GETTIMEOFDAY_VSYSCALL	1
+
 #undef INLINE_SYSCALL
 #define INLINE_SYSCALL(name, nr, args...) 				\
 ({	INTERNAL_SYSCALL_DECL(err);  					\

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

commit 0a271c8f25a8342f7c36b999f4f7bad2d4067a8e
Author: David S. Miller <davem@davemloft.net>
Date:   Thu Oct 18 11:39:51 2018 -0700

    Regenerate sparc ulps.
    
    	* sysdeps/sparc/fpu/libm-test-ulps: Regenerated.

diff --git a/ChangeLog b/ChangeLog
index e8f2dbb..94e239f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2018-10-18  David S. Miller  <davem@davemloft.net>
+
+	* sysdeps/sparc/fpu/libm-test-ulps: Regenerated.
+
 2018-10-17  H.J. Lu  <hongjiu.lu@intel.com>
 
 	* sysdeps/i386/init-arch.h: Removed.
diff --git a/sysdeps/sparc/fpu/libm-test-ulps b/sysdeps/sparc/fpu/libm-test-ulps
index 84aed3a..7fc00f2 100644
--- a/sysdeps/sparc/fpu/libm-test-ulps
+++ b/sysdeps/sparc/fpu/libm-test-ulps
@@ -712,9 +712,9 @@ ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccos_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -728,9 +728,9 @@ ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccos_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -768,33 +768,33 @@ ildouble: 1
 ldouble: 1
 
 Function: Real part of "ccosh_downward":
-double: 1
+double: 2
 float: 3
-idouble: 1
+idouble: 2
 ifloat: 3
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccosh_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
 
 Function: Real part of "ccosh_towardzero":
-double: 1
+double: 2
 float: 3
-idouble: 1
+idouble: 2
 ifloat: 3
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ccosh_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -832,33 +832,33 @@ ildouble: 1
 ldouble: 1
 
 Function: Real part of "cexp_downward":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "cexp_downward":
-double: 1
+double: 3
 float: 3
-idouble: 1
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
 
 Function: Real part of "cexp_towardzero":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "cexp_towardzero":
-double: 1
+double: 3
 float: 3
-idouble: 1
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -872,9 +872,9 @@ ildouble: 3
 ldouble: 3
 
 Function: Imaginary part of "cexp_upward":
-double: 1
+double: 3
 float: 2
-idouble: 1
+idouble: 3
 ifloat: 2
 ildouble: 3
 ldouble: 3
@@ -1046,25 +1046,25 @@ ildouble: 1
 ldouble: 1
 
 Function: "cosh_downward":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
 ildouble: 1
 ldouble: 2
 
 Function: "cosh_towardzero":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
 ildouble: 1
 ldouble: 2
 
 Function: "cosh_upward":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 1
 ldouble: 3
@@ -1084,9 +1084,9 @@ ildouble: 1
 ldouble: 1
 
 Function: Real part of "cpow_downward":
-double: 4
+double: 5
 float: 8
-idouble: 4
+idouble: 5
 ifloat: 8
 ildouble: 6
 ldouble: 6
@@ -1100,9 +1100,9 @@ ildouble: 2
 ldouble: 2
 
 Function: Real part of "cpow_towardzero":
-double: 4
+double: 5
 float: 8
-idouble: 4
+idouble: 5
 ifloat: 8
 ildouble: 6
 ldouble: 6
@@ -1144,9 +1144,9 @@ ildouble: 1
 ldouble: 1
 
 Function: Real part of "csin_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -1160,9 +1160,9 @@ ildouble: 3
 ldouble: 3
 
 Function: Real part of "csin_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -1214,9 +1214,9 @@ ildouble: 3
 ldouble: 3
 
 Function: Imaginary part of "csinh_downward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 2
 ldouble: 2
@@ -1230,9 +1230,9 @@ ildouble: 3
 ldouble: 3
 
 Function: Imaginary part of "csinh_towardzero":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 3
 ldouble: 3
@@ -1522,17 +1522,17 @@ ildouble: 2
 ldouble: 2
 
 Function: "exp10_downward":
-double: 2
+double: 3
 float: 1
-idouble: 2
+idouble: 3
 ifloat: 1
 ildouble: 3
 ldouble: 3
 
 Function: "exp10_towardzero":
-double: 2
+double: 3
 float: 1
-idouble: 2
+idouble: 3
 ifloat: 1
 ildouble: 3
 ldouble: 3

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

Summary of changes:
 ChangeLog                                          |   15 ++++
 sysdeps/sparc/fpu/libm-test-ulps                   |   88 ++++++++++----------
 sysdeps/unix/sysv/linux/sparc/Makefile             |    4 +
 sysdeps/unix/sysv/linux/sparc/Versions             |    4 +
 .../unix/sysv/linux/{mips => sparc}/init-first.c   |   16 ++--
 .../unix/sysv/linux/{mips => sparc}/libc-vdso.h    |    6 +-
 sysdeps/unix/sysv/linux/sparc/sysdep.h             |   11 +++
 7 files changed, 90 insertions(+), 54 deletions(-)
 copy sysdeps/unix/sysv/linux/{mips => sparc}/init-first.c (70%)
 copy sysdeps/unix/sysv/linux/{mips => sparc}/libc-vdso.h (81%)


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]