GNU C Library master sources branch master updated. glibc-2.28.9000-318-g2bd0bfc
Mon Nov 26 23:53:00 GMT 2018

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  2bd0bfcc6857f1fde2bd9716dc103333ebaa6807 (commit)
      from  affec03b713c82c43a5b025dddc21bde3334f41e (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 -----------------------------------------------------------------;a=commitdiff;h=2bd0bfcc6857f1fde2bd9716dc103333ebaa6807

commit 2bd0bfcc6857f1fde2bd9716dc103333ebaa6807
Author: Joseph Myers <>
Date:   Mon Nov 26 23:52:43 2018 +0000

    Touch more glibc source files in currently copies the source tree to avoid issues
    with parallel builds trying to write into it.  This copying can result
    in occasional spurious build failures from bots, when a "git gc" is in
    progress that changes .git contents while copying is taking place, and
    it would also be desirable to avoid the need to copy to save on disk
    space, I/O and memory used in builds.
    In preparation for removing the copying, this patch arranges for to touch more files on checkout so their
    timestamps do not result in make attempting to rebuild them.  Before
    actually removing the copying, I intend to do further tests to ensure
    I haven't missed any other such makefile dependencies.
    This is of course without prejudice to possibly moving more of these
    files to being generated in the build directory rather than being
    checked in at all, where that can be done using build tools already
    required for the build.  For sysdeps files (installed and otherwise)
    it would be necessary to make sure this does not affect the search
    ordering, for headers used in the build it would be necessary to
    ensure they are generated early enough, and for errlist.c there may be
    dual licensing reasons for keeping it checked in.
    Tested that a checkout with does touch the
    expected files and that a glibcs build for aarch64-linux-gnu succeeds.
    	* scripts/ (Context.fix_glibc_timestamps):
    	Touch additional files.

diff --git a/ChangeLog b/ChangeLog
index 84ddd68..c4dae98 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2018-11-26  Joseph Myers  <>
+	* scripts/ (Context.fix_glibc_timestamps):
+	Touch additional files.
 2018-11-26  Florian Weimer  <>
 	[BZ #23907]
diff --git a/scripts/ b/scripts/
index 1bf8ee1..376382d 100755
--- a/scripts/
+++ b/scripts/
@@ -841,6 +841,20 @@ class Context(object):
         # Ensure that builds do not try to regenerate generated files
         # in the source tree.
         srcdir = self.component_srcdir('glibc')
+        # These files have Makefile dependencies to regenerate them in
+        # the source tree that may be active during a normal build.
+        # Some other files have such dependencies but do not need to
+        # be touched because nothing in a build depends on the files
+        # in question.
+        for f in ('locale/C-translit.h', 'posix/ptestcases.h',
+                  'posix/testcases.h', 'sysdeps/gnu/errlist.c',
+                  'sysdeps/mach/hurd/bits/errno.h',
+                  'sysdeps/sparc/sparc32/rem.S',
+                  'sysdeps/sparc/sparc32/sdiv.S',
+                  'sysdeps/sparc/sparc32/udiv.S',
+                  'sysdeps/sparc/sparc32/urem.S'):
+            to_touch = os.path.join(srcdir, f)
+  ['touch', '-c', to_touch], check=True)
         for dirpath, dirnames, filenames in os.walk(srcdir):
             for f in filenames:
                 if (f == 'configure' or


Summary of changes:
 ChangeLog                    |    5 +++++
 scripts/ |   14 ++++++++++++++
 2 files changed, 19 insertions(+), 0 deletions(-)

GNU C Library master sources

More information about the Glibc-cvs mailing list