about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2019-09-18 13:22:24 +0000
committerJoseph Myers <joseph@codesourcery.com>2019-09-18 13:22:24 +0000
commit8cacbcf4a984ccac24efedb795d9c8a7f149d17b (patch)
tree36729a49ec4537d5bc07c926b27101703e068360 /ChangeLog
parent2f9046fb059e94fe254c9a4ff5bcd52182069e44 (diff)
downloadglibc-8cacbcf4a984ccac24efedb795d9c8a7f149d17b.tar.gz
glibc-8cacbcf4a984ccac24efedb795d9c8a7f149d17b.tar.xz
glibc-8cacbcf4a984ccac24efedb795d9c8a7f149d17b.zip
Fix RISC-V vfork build with Linux 5.3 kernel headers.
Building glibc for RISC-V with Linux 5.3 kernel headers fails because
<linux/sched.h>, included in vfork.S for CLONE_* constants, contains a
structure definition not safe for inclusion in assembly code.

All other architectures already avoid use of that header in vfork.S,
either defining the CLONE_* constants locally or embedding the
required values directly in the relevant instruction, where they
implement vfork using the clone syscall (see the implementations for
aarch64, ia64, mips and nios2).  This patch makes the RISC-V version
define the constants locally like the other architectures.

Tested build for all three RISC-V configurations in
build-many-glibcs.py with Linux 5.3 headers.

	* sysdeps/unix/sysv/linux/riscv/vfork.S: Do not include
	<linux/sched.h>.
	(CLONE_VM): New macro.
	(CLONE_VFORK): Likewise.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog7
1 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index adc93a794a..2258e1cbb8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2019-09-18  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/unix/sysv/linux/riscv/vfork.S: Do not include
+	<linux/sched.h>.
+	(CLONE_VM): New macro.
+	(CLONE_VFORK): Likewise.
+
 2019-09-18  Stefan Liebler  <stli@linux.ibm.com>
 
 	* elf/tst-pldd.c (do_test): Add UNSUPPORTED check.