From nobody Sun May 5 00:38:44 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1493117202319979.9439066856442; Tue, 25 Apr 2017 03:46:42 -0700 (PDT) Received: from localhost ([::1]:48333 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d2xzV-0008Sy-16 for importer@patchew.org; Tue, 25 Apr 2017 06:46:41 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52709) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d2xwi-0006pm-Ly for qemu-devel@nongnu.org; Tue, 25 Apr 2017 06:43:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d2xwg-00082w-3B for qemu-devel@nongnu.org; Tue, 25 Apr 2017 06:43:48 -0400 Received: from mail-wm0-x244.google.com ([2a00:1450:400c:c09::244]:33627) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1d2xwf-00082k-Rm for qemu-devel@nongnu.org; Tue, 25 Apr 2017 06:43:46 -0400 Received: by mail-wm0-x244.google.com with SMTP id y10so12895998wmh.0 for ; Tue, 25 Apr 2017 03:43:45 -0700 (PDT) Received: from bigtime.twiddle.net.com (251.red-80-29-7.adsl.static.ccgg.telefonica.net. [80.29.7.251]) by smtp.gmail.com with ESMTPSA id 13sm4060715wml.25.2017.04.25.03.43.43 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 25 Apr 2017 03:43:43 -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; bh=uGT6bdcfGsrpJcou0BfDZr9JfjaeQMpA6hmKeJeNj1Q=; b=m78nWPge+ABWKsS5tx+Dgu+lt0e+CxhKaqy9ud5VmIL5jtxjhLygHRz9BOnBc13vrn 3XJaBqTuMayWL6T8R8PrPZeNjHhrHU+YRGQOCPZ0yw38/hEj0EyFzp5isBEwRfi69s8p 5y0AvydX63umN8BRQx0+INIr7ZC/WpgmXhAr0wSCThgRskNwFIJuohnyt3OUcZssOEF6 OKs8HcUczoRbKvGyKkWL+kyEn2dAm8EUanbGeDMES4KKIXxeFiaFKGHkbdt0lCwrmOZJ Yc/cGHBpObCdugZxPg9GWhFxaKGVsSipv8tIA/v192s2CIn4KW6cke+Mx9UIiwIsfFsU skPQ== 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; bh=uGT6bdcfGsrpJcou0BfDZr9JfjaeQMpA6hmKeJeNj1Q=; b=K4VaKvwpXB7VJhF4514UKLv7JPbgcffveJfxG8SMuJtVKU8jCY4YMxx+3j5zq7YI7A fYT+mBB/4RbYYDNNfRqr8z5NYCTQeH4rX2jFsVMbuAyXr2sOA2iV+dfNFKptXaktXeZF UCi0CZ9JRslbDkLDLCk20cgcj9j+LWMcegnePszE4IOZ42SK4Ww14OFm5007bck7aTMF 7mT0EkC2ureel/TrqbEmwCC0xAtb2HnE6TO11r6e4w3M3a2AyQrsdoVsTwGUDpe/oNDK SWmHG5vL7EXByhlYb41xXwT8XoLqU4c8QZLHl8ORM9ALzNjp9Tjmt3vikHeW3fN0i+0q MnSA== X-Gm-Message-State: AN3rC/7XjMfLJhbO9gJqBowvxVF4/jO5PXfpFefuX+eA6wmRN1kTGHXr Zs1PnKfrbzN8KA== X-Received: by 10.28.90.2 with SMTP id o2mr1464969wmb.53.1493117024614; Tue, 25 Apr 2017 03:43:44 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Tue, 25 Apr 2017 12:43:38 +0200 Message-Id: <20170425104338.31984-1-rth@twiddle.net> X-Mailer: git-send-email 2.9.3 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:400c:c09::244 Subject: [Qemu-devel] [PATCH] tcg: Initialize return value after exit_atomic X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Nikunj A Dadhania Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Users of tcg_gen_atomic_cmpxchg and do_atomic_op rightfully utilize the output. Even though this code is dead, it gets translated, and without the initialization we encounter a tcg_error. Reported-by: Nikunj A Dadhania Signed-off-by: Richard Henderson Tested-by: Nikunj A Dadhania Tested-by: Peter Maydell --- tcg/tcg-op.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tcg/tcg-op.c b/tcg/tcg-op.c index 95a39b7..6b1f415 100644 --- a/tcg/tcg-op.c +++ b/tcg/tcg-op.c @@ -2861,6 +2861,9 @@ void tcg_gen_atomic_cmpxchg_i64(TCGv_i64 retv, TCGv a= ddr, TCGv_i64 cmpv, #endif #else gen_helper_exit_atomic(tcg_ctx.tcg_env); + /* Produce a result, so that we have a well-formed opcode stream + with respect to uses of the result in the (dead) code following= . */ + tcg_gen_movi_i64(retv, 0); #endif /* CONFIG_ATOMIC64 */ } else { TCGv_i32 c32 =3D tcg_temp_new_i32(); @@ -2966,6 +2969,9 @@ static void do_atomic_op_i64(TCGv_i64 ret, TCGv addr,= TCGv_i64 val, #endif #else gen_helper_exit_atomic(tcg_ctx.tcg_env); + /* Produce a result, so that we have a well-formed opcode stream + with respect to uses of the result in the (dead) code following= . */ + tcg_gen_movi_i64(ret, 0); #endif /* CONFIG_ATOMIC64 */ } else { TCGv_i32 v32 =3D tcg_temp_new_i32(); --=20 2.9.3