From nobody Thu May 2 18:38:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1606222510; cv=none; d=zohomail.com; s=zohoarc; b=LPhDTbROfulTXI1PyWghE8aiXorkNqpZBl1nBkVUD7SeHYIQG0QClhfqzP720fu9Gyo2Jidolnnl74zfkIG1vFxOGbhzccGCaHCLgqQpMGCv8ysaLZKR1Deemr8Gh9oC11gzpMVsr/WC5GkwNEsgONPUaQksI2yJEI8e5Q4jqaQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606222510; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=hkJjpSFDjtw+pYOQ2SgwYYu0WrsmOxzO50vbsgX3QaY=; b=I/8t1LcEWKhnKkEdW+CzXtMhlAMy2DWaymoPSnkkH14wRDZvBK8HJ4+lCOlhjPGmrm5fCLT94lk3yXqWe1QOaWPTKfLQqi6jsaeMRck/sJX57mrH+frzCbF0wuTfBB4MYtzdSUHKL3+XzIpfygE+3E6Kn0p1+KWsoMtx42inaZg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606222510298150.41852550039584; Tue, 24 Nov 2020 04:55:10 -0800 (PST) Received: from localhost ([::1]:53890 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khXqf-000402-6t for importer@patchew.org; Tue, 24 Nov 2020 07:55:09 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:42120) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khXog-0002lq-Hn for qemu-devel@nongnu.org; Tue, 24 Nov 2020 07:53:06 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:57096) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1khXoe-0004u8-Ev for qemu-devel@nongnu.org; Tue, 24 Nov 2020 07:53:06 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-366-bG4mS0dpNUqE-OJNKtZk_w-1; Tue, 24 Nov 2020 07:52:59 -0500 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 9690F81C478; Tue, 24 Nov 2020 12:52:58 +0000 (UTC) Received: from localhost (unknown [10.36.110.27]) by smtp.corp.redhat.com (Postfix) with ESMTP id DC8F760BE5; Tue, 24 Nov 2020 12:52:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1606222383; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=hkJjpSFDjtw+pYOQ2SgwYYu0WrsmOxzO50vbsgX3QaY=; b=c54VMbTOF1E09riwMyn1+3OWia/cYXqgLbPB8gx3Nmejm34h8T5SXF7IY/LKATo/b1nTSY Esbm1DZ8o2CYWN17kKccXrO0JRG2+N+V6+tRGmLQ74yOzMFKN9JLNEng6y3UI9AeyQsCq9 Sy9tun6OzrakPLt63akVardqNgmtxpQ= X-MC-Unique: bG4mS0dpNUqE-OJNKtZk_w-1 From: marcandre.lureau@redhat.com To: qemu-devel@nongnu.org Subject: [PATCH 1/2] Remove GCC version checks (all < 4.8) Date: Tue, 24 Nov 2020 16:52:34 +0400 Message-Id: <20201124125235.266884-2-marcandre.lureau@redhat.com> In-Reply-To: <20201124125235.266884-1-marcandre.lureau@redhat.com> References: <20201124125235.266884-1-marcandre.lureau@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=marcandre.lureau@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , thuth@redhat.com, richard.henderson@linaro.org, "Dr. David Alan Gilbert" , qemu-arm@nongnu.org, Stefan Hajnoczi , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Marc-Andr=C3=A9 Lureau Since commit efc6c07 ("configure: Add a test for the minimum compiler version"), QEMU explicitely depends on GCC >=3D 4.8. Signed-off-by: Marc-Andr=C3=A9 Lureau --- include/qemu/atomic.h | 17 ----------------- include/qemu/compiler.h | 22 ++++++---------------- include/qemu/qemu-plugin.h | 9 ++------- tools/virtiofsd/fuse_common.h | 4 +--- accel/tcg/cpu-exec.c | 2 +- tests/tcg/arm/fcvt.c | 8 +++----- 6 files changed, 13 insertions(+), 49 deletions(-) diff --git a/include/qemu/atomic.h b/include/qemu/atomic.h index c1d211a351..8f4b3a80fb 100644 --- a/include/qemu/atomic.h +++ b/include/qemu/atomic.h @@ -241,23 +241,6 @@ =20 #else /* __ATOMIC_RELAXED */ =20 -/* - * We use GCC builtin if it's available, as that can use mfence on - * 32-bit as well, e.g. if built with -march=3Dpentium-m. However, on - * i386 the spec is buggy, and the implementation followed it until - * 4.3 (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D36793). - */ -#if defined(__i386__) || defined(__x86_64__) -#if !QEMU_GNUC_PREREQ(4, 4) -#if defined __x86_64__ -#define smp_mb() ({ asm volatile("mfence" ::: "memory"); (void)0; }) -#else -#define smp_mb() ({ asm volatile("lock; addl $0,0(%%esp) " ::: "memory"= ); (void)0; }) -#endif -#endif -#endif - - #ifdef __alpha__ #define smp_read_barrier_depends() asm volatile("mb":::"memory") #endif diff --git a/include/qemu/compiler.h b/include/qemu/compiler.h index c76281f354..e391de15ef 100644 --- a/include/qemu/compiler.h +++ b/include/qemu/compiler.h @@ -44,10 +44,6 @@ #endif =20 #ifndef likely -#if __GNUC__ < 3 -#define __builtin_expect(x, n) (x) -#endif - #define likely(x) __builtin_expect(!!(x), 1) #define unlikely(x) __builtin_expect(!!(x), 0) #endif @@ -104,20 +100,14 @@ sizeof(QEMU_BUILD_BUG_ON_STRUCT(x))) =20 #if defined __GNUC__ -# if !QEMU_GNUC_PREREQ(4, 4) - /* gcc versions before 4.4.x don't support gnu_printf, so use printf. */ -# define GCC_FMT_ATTR(n, m) __attribute__((format(printf, n, m))) -# else - /* Use gnu_printf when supported (qemu uses standard format strings). */ -# define GCC_FMT_ATTR(n, m) __attribute__((format(gnu_printf, n, m))) -# if defined(_WIN32) - /* Map __printf__ to __gnu_printf__ because we want standard format st= rings - * even when MinGW or GLib include files use __printf__. */ -# define __printf__ __gnu_printf__ -# endif +# define GCC_FMT_ATTR(n, m) __attribute__((format(gnu_printf, n, m))) +# if defined(_WIN32) + /* Map __printf__ to __gnu_printf__ because we want standard format str= ings + * even when MinGW or GLib include files use __printf__. */ +# define __printf__ __gnu_printf__ # endif #else -#define GCC_FMT_ATTR(n, m) +# define GCC_FMT_ATTR(n, m) #endif =20 #ifndef __has_warning diff --git a/include/qemu/qemu-plugin.h b/include/qemu/qemu-plugin.h index bab8b0d4b3..5775e82c4e 100644 --- a/include/qemu/qemu-plugin.h +++ b/include/qemu/qemu-plugin.h @@ -28,13 +28,8 @@ #endif #define QEMU_PLUGIN_LOCAL #else - #if __GNUC__ >=3D 4 - #define QEMU_PLUGIN_EXPORT __attribute__((visibility("default"))) - #define QEMU_PLUGIN_LOCAL __attribute__((visibility("hidden"))) - #else - #define QEMU_PLUGIN_EXPORT - #define QEMU_PLUGIN_LOCAL - #endif + #define QEMU_PLUGIN_EXPORT __attribute__((visibility("default"))) + #define QEMU_PLUGIN_LOCAL __attribute__((visibility("hidden"))) #endif =20 typedef uint64_t qemu_plugin_id_t; diff --git a/tools/virtiofsd/fuse_common.h b/tools/virtiofsd/fuse_common.h index 5aee5193eb..2f073578fe 100644 --- a/tools/virtiofsd/fuse_common.h +++ b/tools/virtiofsd/fuse_common.h @@ -810,9 +810,7 @@ void fuse_remove_signal_handlers(struct fuse_session *s= e); * On 32bit systems please add -D_FILE_OFFSET_BITS=3D64 to your compile fl= ags! */ =20 -#if defined(__GNUC__) && \ - (__GNUC__ > 4 || __GNUC__ =3D=3D 4 && __GNUC_MINOR__ >=3D 6) && \ - !defined __cplusplus +#if defined(__GNUC__) && !defined __cplusplus _Static_assert(sizeof(off_t) =3D=3D 8, "fuse: off_t must be 64bit"); #else struct _fuse_off_t_must_be_64bit_dummy_struct { diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c index 58aea605d8..37a88edb6d 100644 --- a/accel/tcg/cpu-exec.c +++ b/accel/tcg/cpu-exec.c @@ -724,7 +724,7 @@ int cpu_exec(CPUState *cpu) =20 /* prepare setjmp context for exception handling */ if (sigsetjmp(cpu->jmp_env, 0) !=3D 0) { -#if defined(__clang__) || !QEMU_GNUC_PREREQ(4, 6) +#if defined(__clang__) /* Some compilers wrongly smash all local variables after * siglongjmp. There were bug reports for gcc 4.5.0 and clang. * Reload essential local variables here for those compilers. diff --git a/tests/tcg/arm/fcvt.c b/tests/tcg/arm/fcvt.c index 617626bc63..7ac47b564e 100644 --- a/tests/tcg/arm/fcvt.c +++ b/tests/tcg/arm/fcvt.c @@ -73,11 +73,9 @@ static void print_int64(int i, int64_t num) =20 #ifndef SNANF /* Signaling NaN macros, if supported. */ -# if __GNUC_PREREQ(3, 3) -# define SNANF (__builtin_nansf ("")) -# define SNAN (__builtin_nans ("")) -# define SNANL (__builtin_nansl ("")) -# endif +# define SNANF (__builtin_nansf ("")) +# define SNAN (__builtin_nans ("")) +# define SNANL (__builtin_nansl ("")) #endif =20 float single_numbers[] =3D { -SNANF, --=20 2.29.0 From nobody Thu May 2 18:38:22 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1606222521; cv=none; d=zohomail.com; s=zohoarc; b=YJ17L72leJMQ9bwTEdomJhLZ7liW3j3RMvoc3PesHudeURbtRx4GTLKfV2Lzdy3FU/7RDy3aKOEekcu/jN+0dp5KT7XdpqDHqrMl16R7QQaLLypVYVEdBURr43Ivje3Sm7es9eF9TEKxbtZf1rDgorAT48cvRp4A6odPk+79sGQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606222521; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=AWOBbJaK1zYGr1zJX2BYqMQCyMBOpi0Q0U6sClIlfIQ=; b=PKXd7D+n8GEBTaMB+WbtkfL1opmEL0ShSAthGe9b+9bb1DPtU8QkMuVnKCymD0tIOPmygVhTGK6NHn13WVWsJeeB31WbcX3rn4ZpPYE/5cI7UASElPjCTtDZ0P18GvFpl1OPrfeXqgdba7iI8V/BfNfGHiblvJbRs1k68NrtJp8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606222521607507.29351674572865; Tue, 24 Nov 2020 04:55:21 -0800 (PST) Received: from localhost ([::1]:54634 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khXqq-0004K2-Et for importer@patchew.org; Tue, 24 Nov 2020 07:55:20 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:42208) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khXov-0002zc-AU for qemu-devel@nongnu.org; Tue, 24 Nov 2020 07:53:21 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:42548) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1khXoq-0004yq-MN for qemu-devel@nongnu.org; Tue, 24 Nov 2020 07:53:20 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-210-ioDg49OEMXKSTcgFQ6jHOw-1; Tue, 24 Nov 2020 07:53:11 -0500 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 40F211006CB6; Tue, 24 Nov 2020 12:53:10 +0000 (UTC) Received: from localhost (unknown [10.36.110.27]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6F9455D71F; Tue, 24 Nov 2020 12:53:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1606222395; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=AWOBbJaK1zYGr1zJX2BYqMQCyMBOpi0Q0U6sClIlfIQ=; b=Z4wfG7WiQZSENpJPjEir2qE/iv0xFnG5GuQFg3TX2ccw32gJv72j5wSmdJl5SnCJHV5eQ6 HQJFWeN28PMr1EEQKv5naFEAgkbnDdUc0wKsjxvnzbewnFzXu30Yb94pyDa7F/mTJgQ4v1 hOfEseEN7RwdksLV+GGIl2rwO/qOZ4E= X-MC-Unique: ioDg49OEMXKSTcgFQ6jHOw-1 From: marcandre.lureau@redhat.com To: qemu-devel@nongnu.org Subject: [PATCH 2/2] compiler.h: remove QEMU_GNUC_PREREQ macro Date: Tue, 24 Nov 2020 16:52:35 +0400 Message-Id: <20201124125235.266884-3-marcandre.lureau@redhat.com> In-Reply-To: <20201124125235.266884-1-marcandre.lureau@redhat.com> References: <20201124125235.266884-1-marcandre.lureau@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=marcandre.lureau@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=63.128.21.124; envelope-from=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , thuth@redhat.com, richard.henderson@linaro.org, "Dr. David Alan Gilbert" , qemu-arm@nongnu.org, Stefan Hajnoczi , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Marc-Andr=C3=A9 Lureau (eventually, future checks could be done with G_GNUC_CHECK_VERSION) Signed-off-by: Marc-Andr=C3=A9 Lureau --- include/qemu/compiler.h | 11 ----------- scripts/cocci-macro-file.h | 1 - 2 files changed, 12 deletions(-) diff --git a/include/qemu/compiler.h b/include/qemu/compiler.h index e391de15ef..82ceb33085 100644 --- a/include/qemu/compiler.h +++ b/include/qemu/compiler.h @@ -11,17 +11,6 @@ #define QEMU_STATIC_ANALYSIS 1 #endif =20 -/*------------------------------------------------------------------------= ---- -| The macro QEMU_GNUC_PREREQ tests for minimum version of the GNU C compil= er. -| The code is a copy of SOFTFLOAT_GNUC_PREREQ, see softfloat-macros.h. -*-------------------------------------------------------------------------= ---*/ -#if defined(__GNUC__) && defined(__GNUC_MINOR__) -# define QEMU_GNUC_PREREQ(maj, min) \ - ((__GNUC__ << 16) + __GNUC_MINOR__ >=3D ((maj) << 16) + (min)) -#else -# define QEMU_GNUC_PREREQ(maj, min) 0 -#endif - #define QEMU_NORETURN __attribute__ ((__noreturn__)) =20 #define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) diff --git a/scripts/cocci-macro-file.h b/scripts/cocci-macro-file.h index c6bbc05ba3..20eea6b708 100644 --- a/scripts/cocci-macro-file.h +++ b/scripts/cocci-macro-file.h @@ -19,7 +19,6 @@ */ =20 /* From qemu/compiler.h */ -#define QEMU_GNUC_PREREQ(maj, min) 1 #define QEMU_NORETURN __attribute__ ((__noreturn__)) #define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) #define QEMU_SENTINEL __attribute__((sentinel)) --=20 2.29.0