From nobody Mon Feb 9 10:44:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.43 as permitted sender) client-ip=209.85.221.43; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f43.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.43 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1621103735; cv=none; d=zohomail.com; s=zohoarc; b=R/RPXodBriLkQHucY2k7qYX2ewNacJ3lmOMmtcIgjXVbpw12XGe3Nk1AlG1ACIl2/UAJA96USNTTPnvg0AjxNAtPBSMM2qjAB+oUecWiE2ylOEDJfAA6zAOEp9D8nK6v2DRRRncd6NfpMhpTCWMKEIN27cahrxrONaZ53d0dmgI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1621103735; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:MIME-Version:Message-ID:Sender:Subject:To; bh=fdQcq09KgwY4TnbErmZp9oWE2lOVdlGyle/pfMR4QNc=; b=ZXtuMmOw+cAbjk1ZRKfdxKJKklUOyG2tDhYmckVHVRXD8FDwY8nWUyaDXplGnjpjyaXVmNn+LdutOxw24z2Sqymaw91f63Wi99UzEskagHTAEhrHGUScoAoCrpZAW0D9mQVxWptAYpYBvl1Fd+QdCAkXhy0sgFUTCDGfYMI3g78= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.43 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43]) by mx.zohomail.com with SMTPS id 1621103735686945.7906682563187; Sat, 15 May 2021 11:35:35 -0700 (PDT) Received: by mail-wr1-f43.google.com with SMTP id v12so2277188wrq.6 for ; Sat, 15 May 2021 11:35:35 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (31.red-83-51-215.dynamicip.rima-tde.net. [83.51.215.31]) by smtp.gmail.com with ESMTPSA id t16sm624940wrb.66.2021.05.15.11.35.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 May 2021 11:35:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=fdQcq09KgwY4TnbErmZp9oWE2lOVdlGyle/pfMR4QNc=; b=t9+u7V2NR1fHPaPITXErxnhyAGiVWxrVCNuTtSoz/pB/l6V/IvwkDFpWXDGoQJuDOy KlQbGBqbLP8oeEq5FGx+piUEzT7znY3COzMdN5K3602KIqjjqiDdjLDhbOLDXdx2hAHf k6xpZ6RBjPWGSMMpw2N02PqY0pnrg16LgFVHtdx0hFM28JmryTDtd4inOqNFMVT0qQsV 9xMbfNM4Ual6xC/M+z2/MfXWTkPfAFW383t0s9qZjHt+2gM+ZCkfflPkZQN2dThF76ND uIjJJKvKUHPAntsNZ8LjY1TEo0vr+cTDqAG54+YsmRfSTMWr4BazdgQ9YbwtBjUbTzVk ULAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :mime-version:content-transfer-encoding; bh=fdQcq09KgwY4TnbErmZp9oWE2lOVdlGyle/pfMR4QNc=; b=Yp+J2oQlxEQAwwnGOF27yP8il+NHh3nAjy2EhZvWyBJzhY0Wb6Cua7LluoWFvmFezg mhkwZ3BkCei1UEJkcJmIGMeQXX3807T7drb84pdtRneQOoWdTyY7OuA6+K9B0VdTQIDg CNS5hxbFT77ETFNIlWpqhKjNCb97rKZyjAxyz3MQ6s4yyyxkoIc7829xZmyEari+fIOI w5wGOR5X8gn9KOOgSuGyOrTn2tC4EjEhpfs/fG8DtLweiwxsdI0MGq45RyK/ziRgTivA iSZzGLL88TjwEUSbTHr1lQ+4KCsh0793AeITpTiy31Qvv2HEmqYd3pH/xAsUIVlRv0Dv +cHA== X-Gm-Message-State: AOAM532VNU5GDQz0rmHOvzux482RMXm1Z6Vm3c4M0hFBCQ1U/NtfXxaw S5nDJiUHUGLL0xI9CsropiI= X-Google-Smtp-Source: ABdhPJzHJT7frSrFAlsS3feiwMfPaROdVxQ2bWti+dyw7vbnLZPIT0fMw/Lmm8xU3Vm/w+ZbUPr4rA== X-Received: by 2002:adf:9d48:: with SMTP id o8mr65341357wre.183.1621103733945; Sat, 15 May 2021 11:35:33 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Maydell , Richard Henderson , qemu-arm@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Eric Blake , Thomas Huth Subject: [PATCH] disas/libvixl: Protect C system header for C++ compiler Date: Sat, 15 May 2021 20:35:30 +0200 Message-Id: <20210515183531.372925-1-f4bug@amsat.org> X-Mailer: git-send-email 2.26.3 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) When selecting an ARM target on Debian unstable, we get: Compiling C++ object libcommon.fa.p/disas_libvixl_vixl_utils.cc.o FAILED: libcommon.fa.p/disas_libvixl_vixl_utils.cc.o c++ -Ilibcommon.fa.p -I. -I.. [...] -o libcommon.fa.p/disas_libvixl_vixl_= utils.cc.o -c ../disas/libvixl/vixl/utils.cc In file included from /home/philmd/qemu/disas/libvixl/vixl/utils.h:30, from ../disas/libvixl/vixl/utils.cc:27: /usr/include/string.h:36:43: error: missing binary operator before token = "(" 36 | #if defined __cplusplus && (__GNUC_PREREQ (4, 4) \ | ^ /usr/include/string.h:53:62: error: missing binary operator before token = "(" 53 | #if defined __USE_MISC || defined __USE_XOPEN || __GLIBC_USE (ISO= C2X) | ^ /usr/include/string.h:165:21: error: missing binary operator before token= "(" 165 | || __GLIBC_USE (LIB_EXT2) || __GLIBC_USE (ISOC2X)) | ^ /usr/include/string.h:174:43: error: missing binary operator before token= "(" 174 | #if defined __USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2) || __GLIBC_U= SE (ISOC2X) | ^ /usr/include/string.h:492:19: error: missing binary operator before token= "(" 492 | #if __GNUC_PREREQ (3,4) | ^ Similarly to commit 875df03b221 ('osdep: protect qemu/osdep.h with extern "C"'), guard the system header with 'extern "C"'. Relevant information from the host: $ lsb_release -d Description: Debian GNU/Linux 11 (bullseye) $ gcc --version gcc (Debian 10.2.1-6) 10.2.1 20210110 $ dpkg -S /usr/include/string.h libc6-dev: /usr/include/string.h $ apt-cache show libc6-dev Package: libc6-dev Version: 2.31-11 Buglink: https://bugs.launchpad.net/qemu/+bug/1914870 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- RFC because I've no idea about C++, but this fixes the build for me. Quick reproducer: $ ../configure --disable-tools --target-list=3Daarch64-linux-user Cc: Paolo Bonzini Cc: Daniel P. Berrang=C3=A9 Cc: Peter Maydell Cc: Richard Henderson Cc: Eric Blake Cc: Thomas Huth --- disas/libvixl/vixl/utils.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/disas/libvixl/vixl/utils.h b/disas/libvixl/vixl/utils.h index 5ab134e240a..fc28d7456c1 100644 --- a/disas/libvixl/vixl/utils.h +++ b/disas/libvixl/vixl/utils.h @@ -27,8 +27,10 @@ #ifndef VIXL_UTILS_H #define VIXL_UTILS_H =20 -#include #include +extern "C" { +#include +} #include "vixl/globals.h" #include "vixl/compiler-intrinsics.h" =20 --=20 2.26.3