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-243-gd7a6873


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  d7a68734f7bbc76586017461cff19af0d9cb4df8 (commit)
      from  c760f5c210d85247ef0c6e10f7ef44fa27d9bd1d (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=d7a68734f7bbc76586017461cff19af0d9cb4df8

commit d7a68734f7bbc76586017461cff19af0d9cb4df8
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Mon Mar 31 12:51:45 2014 +0000

    Fix futimesat for older MicroBlaze kernels (bug 16648).
    
    Continuing the fixes for __ASSUME_* issues in preparation for moving
    to a 2.6.32 minimum kernel version, this *untested* patch fixes bug
    16648, the definition of __ASSUME_ATFCTS meaning that the futimesat
    syscall is assumed for all MicroBlaze kernels despite not being
    present until 2.6.33.
    
    __ASSUME_ATFCTS controls conditionals relating to a lot of different
    syscalls in Linux-specific code (fstatat64 faccessat fchmodat fchownat
    futimesat newfstatat linkat mkdirat openat readlinkat renameat
    symlinkat unlinkat mknodat), where whether newfstatat fstatat64
    futimesat are used depends on the architecture, as well as controlling
    whether openat64_not_cancel_3 is expected to work in
    sysdeps/posix/getcwd.c.  The assumptions are all OK as of 2.6.32
    except for this MicroBlaze case, and it's generally desirable to get
    rid of as many of the __ASSUME_ATFCTS conditionals as possible, to
    simplify the code (the fallbacks include potential unbounded dynamic
    stack allocations).  Thus, rather than the simplest approach of
    undefining __ASSUME_ATFCTS for older kernels on MicroBlaze, this patch
    takes the approach of using the linux-generic implementation of
    futimesat for MicroBlaze kernels before 2.6.33 (all such kernels have
    the utimensat syscall).
    
    	[BZ #16648]
    	* sysdeps/unix/sysv/linux/microblaze/kernel-features.h
    	[__LINUX_KERNEL_VERSION >= 0x020621] (__ASSUME_FUTIMESAT): Define.
    	* sysdeps/unix/sysv/linux/microblaze/futimesat.c: New file.

diff --git a/ChangeLog b/ChangeLog
index ae17306..f33dd23 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2014-03-31  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #16648]
+	* sysdeps/unix/sysv/linux/microblaze/kernel-features.h
+	[__LINUX_KERNEL_VERSION >= 0x020621] (__ASSUME_FUTIMESAT): Define.
+	* sysdeps/unix/sysv/linux/microblaze/futimesat.c: New file.
+
 2014-03-31  Will Newton  <will.newton@linaro.org>
 
 	* benchtests/Makefile (bench): Add ffs and ffsll to list
diff --git a/NEWS b/NEWS
index 9597cbd..f0560e3 100644
--- a/NEWS
+++ b/NEWS
@@ -11,9 +11,9 @@ Version 2.20
 
   15347, 15804, 15894, 16002, 16198, 16284, 16348, 16357, 16362, 16447,
   16532, 16545, 16574, 16599, 16600, 16609, 16610, 16611, 16613, 16623,
-  16632, 16634, 16639, 16642, 16649, 16670, 16674, 16677, 16680, 16683,
-  16689, 16695, 16701, 16706, 16707, 16712, 16713, 16714, 16731, 16743,
-  16758, 16759, 16760, 16770.
+  16632, 16634, 16639, 16642, 16648, 16649, 16670, 16674, 16677, 16680,
+  16683, 16689, 16695, 16701, 16706, 16707, 16712, 16713, 16714, 16731,
+  16743, 16758, 16759, 16760, 16770.
 
 * Running the testsuite no longer terminates as soon as a test fails.
   Instead, a file tests.sum (xtests.sum from "make xcheck") is generated,
diff --git a/sysdeps/unix/sysv/linux/microblaze/futimesat.c b/sysdeps/unix/sysv/linux/microblaze/futimesat.c
new file mode 100644
index 0000000..7037c04
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/microblaze/futimesat.c
@@ -0,0 +1,30 @@
+/* Implement futimesat for MicroBlaze.
+   Copyright (C) 2014 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/>.  */
+
+/* MicroBlaze always had the utimensat syscall but gained the
+   futimesat syscall later, so use the linux-generic implementation of
+   futimesat in terms of the utimensat syscall unless the futimesat
+   syscall is known to be available.  */
+
+#include <kernel-features.h>
+
+#ifdef __ASSUME_FUTIMESAT
+# include <sysdeps/unix/sysv/linux/futimesat.c>
+#else
+# include <sysdeps/unix/sysv/linux/generic/futimesat.c>
+#endif
diff --git a/sysdeps/unix/sysv/linux/microblaze/kernel-features.h b/sysdeps/unix/sysv/linux/microblaze/kernel-features.h
index f9a61a9..e7f6db2 100644
--- a/sysdeps/unix/sysv/linux/microblaze/kernel-features.h
+++ b/sysdeps/unix/sysv/linux/microblaze/kernel-features.h
@@ -41,6 +41,11 @@
 # define __ASSUME_SENDMMSG_SYSCALL       1
 #endif
 
+/* Support for the futimesat syscall was added in 2.6.33.  */
+#if __LINUX_KERNEL_VERSION >= 0x020621
+# define __ASSUME_FUTIMESAT              1
+#endif
+
 #include_next <kernel-features.h>
 
 /* The MicroBlaze kernel does not support the pselect6, preadv and

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

Summary of changes:
 ChangeLog                                          |    7 ++++++
 NEWS                                               |    6 ++--
 .../sysv/linux/microblaze/futimesat.c}             |   21 +++++++++----------
 .../unix/sysv/linux/microblaze/kernel-features.h   |    5 ++++
 4 files changed, 25 insertions(+), 14 deletions(-)
 copy sysdeps/{powerpc/powerpc64/multiarch/strcspn.c => unix/sysv/linux/microblaze/futimesat.c} (64%)


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]