From patchwork Wed Mar 12 14:12:56 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 26126 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-ob0-f199.google.com (mail-ob0-f199.google.com [209.85.214.199]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 0B4F4236AC for ; Wed, 12 Mar 2014 14:15:45 +0000 (UTC) Received: by mail-ob0-f199.google.com with SMTP id wo20sf39065037obc.2 for ; Wed, 12 Mar 2014 07:15:45 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:delivered-to:from:to:date:message-id:in-reply-to :references:mime-version:cc:subject:precedence:list-id :list-unsubscribe:list-archive:list-post:list-help:list-subscribe :errors-to:sender:x-original-sender :x-original-authentication-results:mailing-list:content-type :content-transfer-encoding; bh=6hVK+hR+yH4+rSXjqJreFxOHydNDDi3ZJzZKM7mnaEY=; b=UmWHoivFKenek/lEMjhBRNr9I9Hj5bMz6yT4JUqWzTqS3WNtwqO8xt/+X7jsYjN9/4 R6NniMZPZ8SI4bUHFsN0RfocKtgJVcYT4i28YFeAbYqoYzXUj/4E5Qjw0m98ALp9nYiM GNNAuV74xmIQtV0vl31onX0hvSkwWTLB+myqf4r+c/MfrVSNgGLQZFcOKrFQVvk8HW7k PLdyRVtyTpyuItYVnPeqvKL+O651PmbenU+JayFItk3y7hHLE14ABAmxCMoce1OjXpUs 2NUJuLTkqYJ39d/T02gcodtHwmfxr+Ibn9xeuHxBapAfMLtrw21mPSx8XJjUSPsIvpo1 Boww== X-Gm-Message-State: ALoCoQl4fY/kO4dwpjM9A91du4PV+QBxZu2KuEYtYDuSyWX8D04cIR9qUFg5r2PQkxqc9l0BPKPg X-Received: by 10.182.74.226 with SMTP id x2mr18813600obv.1.1394633745339; Wed, 12 Mar 2014 07:15:45 -0700 (PDT) X-BeenThere: patchwork-forward@linaro.org Received: by 10.140.94.210 with SMTP id g76ls1259534qge.69.gmail; Wed, 12 Mar 2014 07:15:45 -0700 (PDT) X-Received: by 10.220.11.141 with SMTP id t13mr512366vct.30.1394633745169; Wed, 12 Mar 2014 07:15:45 -0700 (PDT) Received: from mail-ve0-f169.google.com (mail-ve0-f169.google.com [209.85.128.169]) by mx.google.com with ESMTPS id u1si6842317vek.105.2014.03.12.07.15.45 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 12 Mar 2014 07:15:45 -0700 (PDT) Received-SPF: neutral (google.com: 209.85.128.169 is neither permitted nor denied by best guess record for domain of patch+caf_=patchwork-forward=linaro.org@linaro.org) client-ip=209.85.128.169; Received: by mail-ve0-f169.google.com with SMTP id pa12so10567218veb.28 for ; Wed, 12 Mar 2014 07:15:45 -0700 (PDT) X-Received: by 10.221.39.138 with SMTP id tm10mr32805424vcb.7.1394633745089; Wed, 12 Mar 2014 07:15:45 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.220.78.9 with SMTP id i9csp291713vck; Wed, 12 Mar 2014 07:15:44 -0700 (PDT) X-Received: by 10.229.213.194 with SMTP id gx2mr48974329qcb.16.1394633744683; Wed, 12 Mar 2014 07:15:44 -0700 (PDT) Received: from lists.gnu.org (lists.gnu.org. [2001:4830:134:3::11]) by mx.google.com with ESMTPS id n1si2406397qcr.30.2014.03.12.07.15.44 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Wed, 12 Mar 2014 07:15:44 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) client-ip=2001:4830:134:3::11; Received: from localhost ([::1]:60883 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WNjwe-0003W8-6a for patch@linaro.org; Wed, 12 Mar 2014 10:15:44 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41692) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WNjuI-0008D1-EQ for qemu-devel@nongnu.org; Wed, 12 Mar 2014 10:13:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WNju9-0004TG-Ou for qemu-devel@nongnu.org; Wed, 12 Mar 2014 10:13:18 -0400 Received: from static.88-198-71-155.clients.your-server.de ([88.198.71.155]:33622 helo=socrates.bennee.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WNju9-0004T4-Ih for qemu-devel@nongnu.org; Wed, 12 Mar 2014 10:13:09 -0400 Received: from localhost ([127.0.0.1] helo=zen.linaro.local) by socrates.bennee.com with esmtp (Exim 4.80) (envelope-from ) id 1WNjuM-0003E8-W5; Wed, 12 Mar 2014 15:13:23 +0100 From: alex.bennee@linaro.org To: qemu-devel@nongnu.org Date: Wed, 12 Mar 2014 14:12:56 +0000 Message-Id: <1394633577-18053-2-git-send-email-alex.bennee@linaro.org> X-Mailer: git-send-email 1.9.0 In-Reply-To: <1394633577-18053-1-git-send-email-alex.bennee@linaro.org> References: <1394633577-18053-1-git-send-email-alex.bennee@linaro.org> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: alex.bennee@linaro.org X-SA-Exim-Scanned: No (on socrates.bennee.com); SAEximRunCond expanded to false X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 88.198.71.155 Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Richard Henderson Subject: [Qemu-devel] [RCF PATCH 1/2] tcg: add tcg_abort_dbg() for additional debug info X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: , List-Help: , List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: alex.bennee@linaro.org X-Original-Authentication-Results: mx.google.com; spf=neutral (google.com: 209.85.128.169 is neither permitted nor denied by best guess record for domain of patch+caf_=patchwork-forward=linaro.org@linaro.org) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org X-Google-Group-Id: 836684582541 From: Alex Bennée There are times the tcg aborts with a fatal but terse error which isn't overly helpful. This adds an alternative macro that can be used to show a little more helper information when an abort occurs. diff --git a/tcg/i386/tcg-target.c b/tcg/i386/tcg-target.c index f832282..1a6c565 100644 --- a/tcg/i386/tcg-target.c +++ b/tcg/i386/tcg-target.c @@ -1342,7 +1342,7 @@ static void tcg_out_qemu_ld_slow_path(TCGContext *s, TCGLabelQemuLdst *l) } break; default: - tcg_abort(); + tcg_abort_dbg("bad opc:%x", opc); } /* Jump to the code corresponding to next IR of qemu_st */ @@ -1519,7 +1519,7 @@ static void tcg_out_qemu_ld_direct(TCGContext *s, TCGReg datalo, TCGReg datahi, } break; default: - tcg_abort(); + tcg_abort_dbg("bad memop=%x", memop); } } diff --git a/tcg/optimize.c b/tcg/optimize.c index 7777743..ae1a3f8 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -407,7 +407,7 @@ static bool do_constant_folding_cond_eq(TCGCond c) case TCG_COND_EQ: return 1; default: - tcg_abort(); + tcg_abort_dbg("bad condition:%d", c); } } diff --git a/tcg/tcg.h b/tcg/tcg.h index f7efcb4..bfde09f 100644 --- a/tcg/tcg.h +++ b/tcg/tcg.h @@ -657,12 +657,15 @@ typedef struct TCGTargetOpDef { const char *args_ct_str[TCG_MAX_OP_ARGS]; } TCGTargetOpDef; -#define tcg_abort() \ +#define tcg_abort_dbg(fmt, ...)\ do {\ - fprintf(stderr, "%s:%d: tcg fatal error\n", __FILE__, __LINE__);\ + fprintf(stderr, "%s:%d: tcg fatal error " fmt "\n",\ + __FILE__, __LINE__, ## __VA_ARGS__);\ abort();\ } while (0) +#define tcg_abort() tcg_abort_dbg("") + #ifdef CONFIG_DEBUG_TCG # define tcg_debug_assert(X) do { assert(X); } while (0) #elif QEMU_GNUC_PREREQ(4, 5)