glibc/sysdeps
Joseph Myers b473b7d88e 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-many-glibcs.py 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.
2018-11-27 22:05:49 +00:00
..
aarch64 [AArch64] Adjust writeback in non-zero memset 2018-11-20 12:37:00 +00:00
alpha Use copysign functions not __copysign functions in glibc libm. 2018-09-27 20:04:48 +00:00
arm Fix armv7 build with GCC 9. 2018-11-12 23:59:29 +00:00
generic libio: Flush stream at freopen (BZ#21037) 2018-10-02 10:01:56 -03:00
gnu hurd: Fix build 2018-10-31 09:17:05 +01:00
hppa
htl
hurd
i386 Remove the error handling wrapper from pow 2018-11-21 09:58:36 +00:00
ia64 Remove the error handling wrapper from pow 2018-11-21 09:58:36 +00:00
ieee754 Remove the error handling wrapper from pow 2018-11-21 09:58:36 +00:00
init_array
m68k Remove the error handling wrapper from pow 2018-11-21 09:58:36 +00:00
mach Fix Hurd build with read-only source directory. 2018-11-27 22:05:49 +00:00
microblaze
mips Fix mips build with GCC 9. 2018-11-13 01:55:15 +00:00
nios2 Move EXCEPTION_TESTS_* out of math-tests.h 2018-08-23 23:41:13 +00:00
nptl Fix race in pthread_mutex_lock while promoting to PTHREAD_MUTEX_ELISION_NP [BZ #23275] 2018-10-17 12:23:04 +02:00
posix posix: New function posix_spawn_file_actions_addchdir_np [BZ #17405] 2018-11-06 16:08:12 +01:00
powerpc Add hidden_tls_def macros, fix powerpc-soft build with GCC 9. 2018-11-13 01:53:53 +00:00
pthread
riscv RISC-V: properly terminate call chain (bug 23125) 2018-10-30 12:07:25 +01:00
s390 S390: Regenerate ULPs. 2018-09-06 14:29:01 +02:00
sh
sparc Fix sparc64 build with GCC 9. 2018-11-13 00:27:06 +00:00
unix CVE-2018-19591: if_nametoindex: Fix descriptor for overlong name [BZ #23927] 2018-11-27 18:12:49 +01:00
wordsize-32
wordsize-64 Don't reduce test timeout to less than default 2018-10-17 09:34:13 +02:00
x86 x86/CET: Add a re-exec test with legacy bitmap 2018-11-23 07:31:07 -08:00
x86_64 Remove the error handling wrapper from pow 2018-11-21 09:58:36 +00:00