From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 71187 invoked by alias); 20 Sep 2019 19:29:45 -0000 Mailing-List: contact libc-stable-help@sourceware.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Subscribe: List-Archive: Sender: libc-stable-owner@sourceware.org Received: (qmail 70939 invoked by uid 89); 20 Sep 2019 19:29:45 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Checked: by ClamAV 0.100.3 on sourceware.org X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,SPF_HELO_PASS autolearn=ham version=3.3.1 spammy=wake, HContent-Transfer-Encoding:8bit X-Spam-Status: No, score=-26.9 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,SPF_HELO_PASS autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on sourceware.org X-Spam-Level: X-HELO: hall.aurel32.net Received: from hall.aurel32.net (HELO hall.aurel32.net) (195.154.113.88) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 20 Sep 2019 19:29:43 +0000 Received: from [2a01:e35:2fdd:a4e1:fe91:fc89:bc43:b814] (helo=ohm.rr44.fr) by hall.aurel32.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iBOb7-0000jQ-LE; Fri, 20 Sep 2019 21:29:41 +0200 Received: from aurel32 by ohm.rr44.fr with local (Exim 4.92.1) (envelope-from ) id 1iBOb7-0007Zw-AC; Fri, 20 Sep 2019 21:29:41 +0200 From: Aurelien Jarno To: libc-stable@sourceware.org Cc: Joseph Myers Subject: [2.30 COMMITTED] Fix RISC-V vfork build with Linux 5.3 kernel headers. Date: Tue, 01 Jan 2019 00:00:00 -0000 Message-Id: <20190920192940.29061-1-aurelien@aurel32.net> X-Mailer: git-send-email 2.23.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-IsSubscribed: yes X-SW-Source: 2019-09/txt/msg00022.txt.bz2 From: Joseph Myers Building glibc for RISC-V with Linux 5.3 kernel headers fails because , 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 . (CLONE_VM): New macro. (CLONE_VFORK): Likewise. (cherry picked from commit 8cacbcf4a984ccac24efedb795d9c8a7f149d17b) --- ChangeLog | 7 +++++++ sysdeps/unix/sysv/linux/riscv/vfork.S | 5 ++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 3ea022b7387..29c864868ad 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2019-09-20 Joseph Myers + + * sysdeps/unix/sysv/linux/riscv/vfork.S: Do not include + . + (CLONE_VM): New macro. + (CLONE_VFORK): Likewise. + 2019-09-14 Aurelien Jarno [BZ #24986] diff --git a/sysdeps/unix/sysv/linux/riscv/vfork.S b/sysdeps/unix/sysv/linux/riscv/vfork.S index 67373f181b2..dc173d6b47e 100644 --- a/sysdeps/unix/sysv/linux/riscv/vfork.S +++ b/sysdeps/unix/sysv/linux/riscv/vfork.S @@ -21,9 +21,12 @@ #include #include #define __ASSEMBLY__ -#include #include +#define CLONE_VM 0x00000100 /* Set if VM shared between processes. */ +#define CLONE_VFORK 0x00004000 /* Set if the parent wants the child to + wake it up on mm_release. */ + .text LEAF (__libc_vfork) -- 2.23.0