From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id dtXgCrDE62JdliAAWB0awg (envelope-from ) for ; Thu, 04 Aug 2022 09:08:00 -0400 Received: by simark.ca (Postfix, from userid 112) id 1859B1EA05; Thu, 4 Aug 2022 09:08:00 -0400 (EDT) Authentication-Results: simark.ca; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=DgqltD0v; dkim-atps=neutral X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-4.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,NICE_REPLY_A, UNPARSEABLE_RELAY,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id A622B1E9EB for ; Thu, 4 Aug 2022 09:07:59 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 53593385AC0A for ; Thu, 4 Aug 2022 13:07:59 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 53593385AC0A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1659618479; bh=qxjhk1YDQJiCFID3HGdFtj6ivSxqhh5pdLILCpjZHBc=; h=Date:Subject:To:References:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=DgqltD0vBhlY8EdUr0oKO6+EACaGM3sa7rQOlmaCz4Cfm2f/HMo1HP7LovQ57atbj jaaxAD8plnhS74Jnxk6tY4+/w2RxP/P0I9garyTGuI/fG+ICC/IVvZYK0amJ6pbEdO UlchIURx4A83GYqCqS5cLi3oGIGq96ovtergUEa8= Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2061.outbound.protection.outlook.com [40.107.21.61]) by sourceware.org (Postfix) with ESMTPS id C00553858407 for ; Thu, 4 Aug 2022 13:07:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C00553858407 ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=A5D5/uWpZ5NPuSrfnfMfeAp7AtCFmXtxmoF5Aah7tlV70p8ykb3CA2V66mvErch4InJXMvkAf56dHn3XJnrF/+cplFD07csptZEYZYx4vapmX/YrY0OlJ0BZfYt888OTiAUmz1S8FbGNrQ3Y0xioGRJEMO//88W2cgonAT6g31rk3BVElDri3JF53F/KoI9w0cmWhnbwV0V4HDFD8UptTH7tRFHIrww1VnHjPwOFgmV14lG+4KMDYUVSCkd4jrgp2/u2xVYbaNZLL+XLVgz8mDotizZqRZzN8zNKuIGNSm66mG6NRlbLsh8tdXiAOQxdL4sAwuZD5q2K7AykWDp9bA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=qxjhk1YDQJiCFID3HGdFtj6ivSxqhh5pdLILCpjZHBc=; b=hBKKIHP8DgVV0ZmiJtuA0Qe0oYjNFhfudcK/LWNAGN9KgYr7rri0SNIKYe0LUMp9MbI+KDswlN8p99sqy6q3bj3ULWjS+L96J5nCkTzPT2ldSQleuTj2s7lXYhbCHmaLfiJo4ysDKBJjtPtH+jUb3wX5O6+XjL+WWlHdY2nu105nJP/5GrQsgN9msItTjoEyxgQqS2RJxuz8ym6Gk23sWFOO07gkPqRL1gQctElI3pZEP65RYrA9Na3j8dRGYzj7NZVn9ZAi3thG4m+7qdGDu8zjibhbgG9fzZt616jisZvZkUjJgzBZnKI5npIDxWhxBBbQTWnn7ko+0xZIFSOjvw== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) Received: from AS9PR07CA0058.eurprd07.prod.outlook.com (2603:10a6:20b:46b::18) by PAXPR08MB7599.eurprd08.prod.outlook.com (2603:10a6:102:23e::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.16; Thu, 4 Aug 2022 13:07:26 +0000 Received: from AM5EUR03FT033.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:46b:cafe::eb) by AS9PR07CA0058.outlook.office365.com (2603:10a6:20b:46b::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.4 via Frontend Transport; Thu, 4 Aug 2022 13:07:26 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT033.mail.protection.outlook.com (10.152.16.99) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.12 via Frontend Transport; Thu, 4 Aug 2022 13:07:25 +0000 Received: ("Tessian outbound 6a3290ff1310:v123"); Thu, 04 Aug 2022 13:07:24 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: e830f8f212358570 X-CR-MTA-TID: 64aa7808 Received: from a1089c6b51a3.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id AFEB8774-9FDD-4E5E-A5D8-C1DC31F47A50.1; Thu, 04 Aug 2022 13:07:17 +0000 Received: from EUR03-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a1089c6b51a3.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 04 Aug 2022 13:07:17 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Kg0mIV1Y8gzb7lc1vR70D2XlhjROPTNo820eBYRy8KYHAwSVqrIKmGTEbnDI0KWRSLrbreJI7lrBHWyxpuLvKTzbfO146ftWTZGToteQ9vc5HZmdCCf6tOjpHreZig/Yww0IS2RGXmygwThFW+GyCM1ulWvmMmzfom9Jc6o8YBBlcfK5ZlDoytfM0SPfiKW21wHdCzTf5cmso2/2yyAKyO+s+DO/pin9PerDpfmtOQALCxpq8xop1WX9I/6r0euRC8ypdbrpPiRxc5iBVvkS8Wzcx1Yf88qu3Pfsz/8lGhrcpyMkvJSTd16L3sVtqCfCo0kz1F9Cknijt3TnjGeBhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=qxjhk1YDQJiCFID3HGdFtj6ivSxqhh5pdLILCpjZHBc=; b=DEo2VKFI4kRSbgAL8Yq/fKuMBBfCDoRIBiPVU5FCzqCYRhYyDBfzexNSfaHsW+dNsSSLu7d9tSKNg5MHgA5RNSWaaa0WFc79OipPgMcrklrFPsoysQbHaclKD4ArX7P7ZsJNHsWYsIho1k8aVKRt8TirQip9A+9JN2pRRd1z/baqdKeEWGbYo9W3UX1qVGt8N2jFL17mrL/D7OZmu+nwE+HLRQAaE683zAx17hio4woljLWiljk1Zk6l1OkSbUuTmHNXJz5216CwLSNqwqe/qecbCkHCMO9T28DIdz+ecoGjN/4a376btGerP14STXH+BjE1UgKm0QX3P3JluMEWnw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VI1PR08MB3919.eurprd08.prod.outlook.com (2603:10a6:803:c4::31) by DB9PR08MB8202.eurprd08.prod.outlook.com (2603:10a6:10:39d::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.14; Thu, 4 Aug 2022 13:07:15 +0000 Received: from VI1PR08MB3919.eurprd08.prod.outlook.com ([fe80::cc64:9170:b12d:de8]) by VI1PR08MB3919.eurprd08.prod.outlook.com ([fe80::cc64:9170:b12d:de8%4]) with mapi id 15.20.5504.014; Thu, 4 Aug 2022 13:07:15 +0000 Message-ID: <68ba1d4f-bd3d-b8b8-bf2d-a05873a9ceda@arm.com> Date: Thu, 4 Aug 2022 14:07:14 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: [RFC][gdb] Add debug_{exp,val} Content-Language: en-US To: Tom de Vries , gdb-patches@sourceware.org References: <20220803135752.GA8436@delia.home> In-Reply-To: <20220803135752.GA8436@delia.home> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO4P123CA0102.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:191::17) To VI1PR08MB3919.eurprd08.prod.outlook.com (2603:10a6:803:c4::31) MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: c8601b39-995b-4d0f-40d9-08da761a4686 X-MS-TrafficTypeDiagnostic: DB9PR08MB8202:EE_|AM5EUR03FT033:EE_|PAXPR08MB7599:EE_ x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: VLC326BIGikQKoMnaj1pxNvQeLccoX36+hf9Mh62ifjIb8ha0SQQneXpvrHe/lHe2//IN9KZvbgxxTmqV6o/svA1KDnC3U4hYp+TF+j/wWil5C7B4rb60has/E2i/ExQMlzTMtPL3MLs8v6u58wiRzzqMn5nHesSJPgfemz637pUAQ9dKsifmvW6zxhizit8TnjgDVgHgPA99QgxWS38yl/i1tu2sLVWeggvHEuUkCCrEiQKEgTjTNEqqa46zxCFv6Gz2bkyDnEpMKmYBJtqf2C78L7G6PUvImDiOFN8rnH7fMwdf26U+oSyfIUL2sNn+BhcgUM611FelC4A4hH9zLdYaL7/8bwWGcWBypaZba9Wfwst66lRVRGO+nmodQ5UMbmPKAia9NWcRv9EuDe2hQBsyxoPWmYaGx8neA/F3+6ITB25VPFbFfz5QFuGfeE22RGRSKc/RP0igdNOYFc8VOWNbHhIS51mGcg9oDGZCorPVagR5TysqY3XxEuwkyKExBZ8h+D7y8PmL89+2F1od7Z4miAqoBiQ990rPyJ4O9DUR1Ht77DvaMEoK3zqBH5WCaBy5SuhduUFtackS0ZlSKU0dPiNYl/6utHZxkDtHTVCWCwZ3TaKdo0U1MQtxNptIrjRwJNrWXya5vtWsFQFOVDtcR6h8RDyX/UXflgEYSkaFoU2LOU78gxQzhQY+g/kc2efkIEwcmYTC0GD52L5Tlgkbir352j3tzc3QpZnTPfKVq9PlM1b52tZYJ+hx1OT472brAJtX7Xl4Hmig2ksvYsW8u9dNvBBTBJZEawsI51L1ui3420OCq9jUA3mIeCUYcU/aW3g0kPLxe2VQTpUwg== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR08MB3919.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(366004)(346002)(136003)(39860400002)(396003)(376002)(86362001)(66556008)(38100700002)(8676002)(66476007)(31696002)(316002)(66946007)(41300700001)(36756003)(6506007)(186003)(6512007)(83380400001)(26005)(53546011)(44832011)(2906002)(31686004)(5660300002)(8936002)(478600001)(2616005)(6486002)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB8202 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT033.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 0b5e139a-ce44-4f24-4c3d-08da761a40a9 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /LIKSssskLDJGk6/bBmjYsEfqfL4tyg2gPostjJ2wBYiJUdbraOVXakezLnxz9OYFw6jwzQI0lDFbCzC+Dig7yeU3N+FjNIQF7fS7dI6iqugM3mhVIQOnh68XITy94hqCITqvSjjnhOXCz5NaQDfMIStEJ4RfKjXMKFE7ahaRc+8YvJ6Oz5TbtcaY9HPEjIzIm+rSuLuJz3sQ5YZDUMRa7li10u+ldPhCcKROBUAMPIUkKk8HbVkvfRn1WpcP9GCktnQIvDdEAt8d/zsutsmfZnB5AuVkdOC29lT2sEREDcAoLq+AtS9DjMwQMV0UF8apTbj15njE+wFmP1ydQ0oaw4is88korSSk5TokwEWKCqu/bum/yR0u4tFMiF3B6VMA6JMKTgegTQc8r/EF3NfLuRQ4QUV5lMKs7t3AD5p6/Qw7ON1LGgUYHIQvP8uu+zO2vQatYKnJ6JjZGDYrrHs3C/9xIZvG5m9rg2tqLBVt5jmQEMwtKToMzomBKa6yk/Fr7nAdNBMx9SDpl1NX+nJB5yE3NP+zdRyBmWmN0rBomAbAVohknTd27qPFu5sIrlKAHprQTq6o4f+aOEmOsd7PLgwxyEX8BvrEe99PEuc2Omyg2wyTGIDYTL0mgjQFAMvKeEyQ9w+9BhOEE5iBp2zQtyRBEmrlgWb1pZ9YKJr67toi2kDzVUZqfupYVnHIf4r4WD3hsPsDPVDycispocCkQn29xDk0144K0XMqMPn9ZPdNg5MzSXaqnRuDSVZAsOEW5rtblZc6DIYEge2LUUZXTEDReMYDUOTHFhR5i7NCUd93ETEHonxla78tG33rlJPgn1kHYi0z2tNJL6RaHPVXA== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230016)(4636009)(136003)(39860400002)(376002)(396003)(346002)(46966006)(36840700001)(40470700004)(53546011)(82310400005)(6512007)(86362001)(26005)(6506007)(41300700001)(31696002)(478600001)(40480700001)(40460700003)(316002)(6486002)(82740400003)(356005)(336012)(81166007)(47076005)(2616005)(186003)(70586007)(83380400001)(2906002)(70206006)(36756003)(8676002)(31686004)(8936002)(5660300002)(44832011)(36860700001)(43740500002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2022 13:07:25.0178 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c8601b39-995b-4d0f-40d9-08da761a4686 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM5EUR03FT033.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7599 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Luis Machado via Gdb-patches Reply-To: Luis Machado Errors-To: gdb-patches-bounces+public-inbox=simark.ca@sourceware.org Sender: "Gdb-patches" On 8/3/22 14:57, Tom de Vries via Gdb-patches wrote: > Hi, > > When debugging cc1 I heavily rely on simple one-parameter debug functions > that allow me to inspect a variable of a common type, like: > - debug_generic_expr > - debug_gimple_stmt > - debug_rtx > and I miss similar function in gdb. > > Add functions to dump variables of types 'value' and 'expression': > - debug_exp, and > - debug_val. > > Tested on x86_64-linux, by breaking on varobj_create, and doing: > ... > (gdb) call debug_exp (var->root->exp.get ()) > &"Operation: OP_VAR_VALUE\n" > &" Block symbol:\n" > &" Symbol: aaa\n" > &" Block: 0x2d064f0\n" > (gdb) > ... > and: > ... > (gdb) call debug_val (value) > &"5" > (gdb) > ... > > Any comments? > > Thanks, > - Tom > > [gdb] Add debug_{exp,val} > > --- > gdb/expprint.c | 13 +++++++++++++ > gdb/valprint.c | 12 ++++++++++++ > gdbsupport/common-defs.h | 6 ++++++ > 3 files changed, 31 insertions(+) > > diff --git a/gdb/expprint.c b/gdb/expprint.c > index cef6ffb3566..8534d2ac443 100644 > --- a/gdb/expprint.c > +++ b/gdb/expprint.c > @@ -65,6 +65,19 @@ dump_prefix_expression (struct expression *exp, struct ui_file *stream) > exp->op->dump (stream, 0); > } > > +/* Meant to be used in debug sessions, so don't export it in a header file. */ > +extern void ATTRIBUTE_USED debug_exp (struct expression *exp); > + > +/* Print EXP. */ > + > +void > +ATTRIBUTE_USED > +debug_exp (struct expression *exp) > +{ > + exp->op->dump (gdb_stdlog, 0); > + gdb_flush (gdb_stdlog); > +} > + > namespace expr > { > > diff --git a/gdb/valprint.c b/gdb/valprint.c > index f873e12d0ca..3ad4c0cd357 100644 > --- a/gdb/valprint.c > +++ b/gdb/valprint.c > @@ -1190,6 +1190,18 @@ value_print (struct value *val, struct ui_file *stream, > current_language->value_print (val, stream, options); > } > > +/* Meant to be used in debug sessions, so don't export it in a header file. */ > +extern void ATTRIBUTE_UNUSED debug_val (struct value *val); > + > +/* Print VAL. */ > + > +void ATTRIBUTE_UNUSED > +debug_val (struct value *val) > +{ > + value_print (val, gdb_stdlog, &user_print_options); > + gdb_flush (gdb_stdlog); > +} > + > static void > val_print_type_code_flags (struct type *type, struct value *original_value, > int embedded_offset, struct ui_file *stream) > diff --git a/gdbsupport/common-defs.h b/gdbsupport/common-defs.h > index eed364a48ce..e4985332e3f 100644 > --- a/gdbsupport/common-defs.h > +++ b/gdbsupport/common-defs.h > @@ -191,6 +191,12 @@ > #define ATTRIBUTE_UNUSED_RESULT > #endif > > +#if (GCC_VERSION > 4000) > +#define ATTRIBUTE_USED __attribute__ ((__used__)) > +#else > +#define ATTRIBUTE_USED > +#endif > + > #include "libiberty.h" > #include "pathmax.h" > #include "gdb/signals.h" Nice. I print these by hand all the time. I think it's a great addition.