GNU C Library master sources branch master updated. glibc-2.28.9000-323-gb473b7d
Tue Nov 27 22:06: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  b473b7d88e6829fd0c8a02512b86950dc7089039 (commit)
      from  c74a91deaa5de416237c02bbb3e41bda76ca4c7b (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=b473b7d88e6829fd0c8a02512b86950dc7089039

commit b473b7d88e6829fd0c8a02512b86950dc7089039
Author: Joseph Myers <>
Date:   Tue Nov 27 22:05:49 2018 +0000

    Fix Hurd build with read-only source directory.
    The logic for generating sysdeps/mach/hurd/bits/errno.h involves a
    stamp file and $(move-if-change).
    The temporary file (generated unconditionally) is generated in the
    source directory.  This means that even if
    sysdeps/mach/hurd/bits/errno.h is up to date, and has an up to date
    timestamp, the build will fail if the source directory is read-only.
    Even with a writable source directory, multiple concurrent builds for
    i686-gnu with the same source directory could race to access the
    temporary file (which always has the same name).
    This patch uses the build directory for the temporary file instead to
    avoid those problems.  (In the case where the file is out of date and
    the temporary file does need to be moved to the source directory, if
    there are multiple concurrent builds for i686-gnu with the same source
    directory, and the source and build directories are on different
    filesystems, it's possible there might still be races replacing the
    file in the source directory, depending on exactly how mv handles such
    cross-filesystem moves.  This is certainly no worse than the present
    situation, where such a case would have races regardless of whether
    the file is out of date or whether different filesystems are in use.)
    Tested with a build for i686-gnu.
    	* sysdeps/mach/hurd/Makefile ($(common-objpfx)stamp-errnos): Use
    	$(hurd-objpfx)bits/errno.h-tmp, not $(hurd)/bits/errno.h-tmp.

diff --git a/ChangeLog b/ChangeLog
index d08c2d8..0d1ddaa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2018-11-27  Joseph Myers  <>
+	* sysdeps/mach/hurd/Makefile ($(common-objpfx)stamp-errnos): Use
+	$(hurd-objpfx)bits/errno.h-tmp, not $(hurd)/bits/errno.h-tmp.
 2018-11-27  Florian Weimer  <>
 	* support/support.h (support_quote_string): Declare.
diff --git a/sysdeps/mach/hurd/Makefile b/sysdeps/mach/hurd/Makefile
index e15341c..69f12d4 100644
--- a/sysdeps/mach/hurd/Makefile
+++ b/sysdeps/mach/hurd/Makefile
@@ -91,10 +91,11 @@ $(common-objpfx)errnos.d: $(mach-errnos-deps)
 $(hurd)/bits/errno.h: $(common-objpfx)stamp-errnos ;
 $(common-objpfx)stamp-errnos: $(hurd)/errnos.awk $(errno.texinfo) \
 			      $(mach-errnos-deps) $(common-objpfx)errnos.d
-	$(AWK) -f $^ > $(hurd)/bits/errno.h-tmp
+	mkdir -p $(hurd-objpfx)bits
+	$(AWK) -f $^ > $(hurd-objpfx)bits/errno.h-tmp
 # Make it unwritable so noone will edit it by mistake.
-	-chmod a-w $(hurd)/bits/errno.h-tmp
-	$(move-if-change) $(hurd)/bits/errno.h-tmp $(hurd)/bits/errno.h
+	-chmod a-w $(hurd-objpfx)bits/errno.h-tmp
+	$(move-if-change) $(hurd-objpfx)bits/errno.h-tmp $(hurd)/bits/errno.h
 	touch $@
 common-generated += errnos.d stamp-errnos


Summary of changes:
 ChangeLog                  |    5 +++++
 sysdeps/mach/hurd/Makefile |    7 ++++---
 2 files changed, 9 insertions(+), 3 deletions(-)

GNU C Library master sources

More information about the Glibc-cvs mailing list