From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2059.outbound.protection.outlook.com [40.107.236.59]) by sourceware.org (Postfix) with ESMTPS id 637B0385802E for ; Thu, 4 Nov 2021 12:43:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 637B0385802E ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Toai+iLC9XP8nxBJIgY0wWKu4EAR43LriWAYhTlW2Zcad5I69C1tCZopIjWltbcsq0BHVtXAKonncuMZIH19fu1ewKlPgWHbxsphW3tVloGa/yopzWAGhsLWN/Yi0/MtjiHBYXCeIemZKmSb3ZSxb5ucwokHgKUsk400LoAYLo9pFtXAl2uiYavX0whAZXXjn7PVZWyDOf+yiQEUEcQTIdViv1im+9Cnfo+U4HIKvhs6942WiNMskiRNyjB6r3gnfQjKfiHmeFyAl1ETFAb5mr7vTErH1uFvZ12PeqTRl4qYqP7LkNaOesnux8O7DAZgY3Y9bkAbEX4e60d2omSEaw== 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=HhfIjACBSPoNgBEQbJJrGq7GysSHqAi5inEASv5LUe0=; b=cYMCSjhH3Uu/QkXJBOu4iLO91M13pfi/2oFtAGnQWk2TO3kLdQrqR6OHN0Q1sDXAgYXntSw9R3xqfQfyqE69VTgCHcX0p+nIWNiswW+YZVEUVO0S++rMi9BLAJ2zPH94DqLheizBLH6ytCQ6nsCOQLhCHEHEKQZwGQMOwQiymi3izaOTA9z6v9rc42wtgW2LoJq8Q41BX9tkYjY/nlmCHTpOLrigWfqyG0hp6s2k2ynRuhyy05o6DPt0a4Ucsnr4rJdAJfTpgDrL4yxv1gS8Q6PHvkcMeRP1S2RJxnC+ZEF+Jgn8HlTJMyu+uv5cSn1yLm5CnWCOH1sMAIetWzQsqg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none Received: from BN9PR12MB5065.namprd12.prod.outlook.com (2603:10b6:408:132::12) by BN9PR12MB5356.namprd12.prod.outlook.com (2603:10b6:408:105::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.11; Thu, 4 Nov 2021 12:43:42 +0000 Received: from BN9PR12MB5065.namprd12.prod.outlook.com ([fe80::f908:e014:a94:a35]) by BN9PR12MB5065.namprd12.prod.outlook.com ([fe80::f908:e014:a94:a35%5]) with mapi id 15.20.4649.021; Thu, 4 Nov 2021 12:43:42 +0000 Subject: Re: [PATCH v3 16/28] Change DWARF stack to use new dwarf_entry classes To: Lancelot SIX Cc: gdb-patches@sourceware.org References: <20211014093235.69756-1-zoran.zaric@amd.com> <20211014093235.69756-17-zoran.zaric@amd.com> <20211031175848.ctfdetybhttrgao4@ubuntu.lan> From: Zoran Zaric Message-ID: <94c0be81-7bcd-313d-acf5-8610e3a0e7ed@amd.com> Date: Thu, 4 Nov 2021 12:43:37 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 In-Reply-To: <20211031175848.ctfdetybhttrgao4@ubuntu.lan> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO2P265CA0025.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:61::13) To BN9PR12MB5065.namprd12.prod.outlook.com (2603:10b6:408:132::12) MIME-Version: 1.0 Received: from [IPv6:2a00:23c7:1093:6301:5176:73b0:d1d0:121d] (2a00:23c7:1093:6301:5176:73b0:d1d0:121d) by LO2P265CA0025.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:61::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.11 via Frontend Transport; Thu, 4 Nov 2021 12:43:41 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 78c85269-4339-437e-23d5-08d99f90bb57 X-MS-TrafficTypeDiagnostic: BN9PR12MB5356: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: J8T4QdpFU13XFwLgLGm5XG4/T1e/W98O/YtTuuVvf3Jt9TnhJAEms0zx/DVWLm/7UjZ8tEpuMN+66LxRsY98F36Kvy9HIkjeL2n3WtfJSxTNMLpihuRJo8uVegVsqLCP1g/uZoXY6I/FuwbNtmDAwzVTpHMWNUnyLAnSMJFY5BCoy7asX004BLYaowj0FDR3SLbhgXfQnnb/jmSXtdRg19tmnQUKkTtDyjDleIIQqzGC/3cklQHyoF8HER6ePc/kRrcRHqJzrQZHX/9UUNrf8f1c5hLQ9YIWpEHxWkKqZmFTe+ZLmENfQfg1+vEAumwTwt5yqkDslCda1ncB/S/NCnGsp91YUwt+bjbwX2sGN+CvPYfSqLk79yAhSqtjKTodaQlG8YBTlYCqh6ITnbOQ4NcAEsPRsW4Yu4YhTYbeZ/6JqqyhbOv4WN1FPyLCH79aqIp4hCIN6eyvLlzkLf0bK8EwtVrWtl/UCO+wyCL/pz54oP3zOEAylMbO98nrusGsD3zox1NbTNy1PTx5T3soJkuKirI4vITBmPy8SNnMjlbdOn8KpA3JBDPrHiuY1JEE5H48yNObTksK8Xs0v8mZBoEQrOywWaP1YYnedxQ3WBBRUjSjyVAg/31vlaT0G+TzQfggAUrkilJpkTrgCU0LYl23RJYUxjcpcU89quC5wqhPIQICC0ClBNwNJKX0bfcLyL9/ht+LtkUePf+JXlC06BRad7CFcpPdBKaOHZWbQfEw/9mYAk2NHlJM2FpmTGfP X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN9PR12MB5065.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(31696002)(508600001)(8936002)(86362001)(44832011)(2616005)(83380400001)(4326008)(6486002)(186003)(6916009)(38100700002)(2906002)(5660300002)(36756003)(316002)(66946007)(31686004)(6666004)(8676002)(66556008)(66476007)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bzMwL2Uyem9uV1ZXcys2Q0YwUGR0T1VlK1RsNnVwcXVWNEZDbXRkZ0JpVEZQ?= =?utf-8?B?YUZOY0FUbU9LaUNPM29ITktROHl5c3k3ejBsRU5YakJPMjhaRzUvUUNRL2FW?= =?utf-8?B?eUgvNjA5VWlBZG9CcmQvTXV4Z1pNQm80ZVNHZVk1bzNpRVBaNHlRWTdhT0R2?= =?utf-8?B?L2E2WmRsZWIzUlhmSVp0d2xxWDJ0cjl3VUZreXUvaW1LSU91UGo5R0loc0tJ?= =?utf-8?B?RkZpdGxDMkUyTE9BbVBwSkVxTlhwQ01JK0F4MjI0dXNBNk5vWU9na242NDhB?= =?utf-8?B?UGRybmtMZTl3WmlKdzRxQ1pmUklVaHFWTXpROUp0N0g3V0tqb2RLOHNzRm9D?= =?utf-8?B?Q21VdXdjTkZDVi94eWZra0NFV1dpUUR3cFRmT0kvK2ZJR1IxZVM3cHVRWVl3?= =?utf-8?B?T1Nteko3YUI4TWlmcDFkditjTFExRTh6SCtWcXJwQStxY0ZqWHdQaFBSQ29r?= =?utf-8?B?UHdRVkdTVU5VUklyQWlLKzd3NksvMnlFTGxkTW5KelZTZUw0b0Nldk8xMStZ?= =?utf-8?B?RGdWaGNrQ250aWJxVWQ2MUNva3pXNnFWMGg1VlBLdlloRG04SDNuVDVIbS9B?= =?utf-8?B?UEl1TEh0NGdxUkw0M1RKUUtHVHREVk1YRmRmS1NkcklPNGRRWHBkOGRDSnN5?= =?utf-8?B?TnNuaXNGdUltNHpGMG85UmpHeU5NNHBFOUlxTm9ERkd0Z0ZsN1AxckZ1aExa?= =?utf-8?B?NEpxRjRwT3luS0U4WmN5cmVVZTRZMThNYWFpRDk5NElsL0M5dDEzNitsOHBZ?= =?utf-8?B?YUpXUmJFek1ad2VHOVZKUS9DZXNyMkh5SExVM0JxQ1JzNmxnYWlySDk2bHFB?= =?utf-8?B?VUxYVjhmd2JWVVM3TUwvY3VwTWcxUUdGTG1POUNOQnllWitoY2FrQ2NHQ2d0?= =?utf-8?B?VnZsRTJDcDc0MkREVExuaUovRHpxYnI3YXgyd2orbmUxTkM0aGxBeFc4REJo?= =?utf-8?B?OVdlcEtiTWpqdnNya1J5aklWQXB0ZGJnVDlnQVZxR21mMHpWSUx5MXgzVzRK?= =?utf-8?B?TFRLV21jdnhLN3dDNXJ4OHNVN3JRVUdwTXJGKzdvMTI5MjBxS0JvWlRPSG9k?= =?utf-8?B?U2FkUnBWbHJHbHNUVGVXVllGVTFxd2piUDh3SnBIK3FtUWhIVnZSZ0VDRllz?= =?utf-8?B?QnpPME43SU5CUndoeDdtZmxJWjF3RklNa3V6RkdxM1h1Mzc4YzZYQ2VuZHpU?= =?utf-8?B?Q21SZmxuSThjenJteUZCZ0Y3c25KcHZ4clhGTmRUbG84aW1ONFJYcU5kbnNO?= =?utf-8?B?dnpQeGVQTG1aaGM1Njh6WlErQVkrWUxrYUp5RCtSVGNvNjNzVWlZZjFCb0RR?= =?utf-8?B?UGJFMmJLTnM3NmFYUEVSWis0ay8zRjFtQVgxbU5wWGYrdE9TUmpjMGhWeGlN?= =?utf-8?B?cms0OFpYV0hJZ2ZqWFJkNzZJTlJ2L2JkTkUxZHcwdU14TDJ3Q1k4ZEZMeDQz?= =?utf-8?B?RktSTTRQUG40RW81YUtmclRjbEMyRC9HSVF2cHp6WmdQaGtDU0VFb3llMnV5?= =?utf-8?B?Uk13OTlOVlBaWW1mNWV4RTlEMDdBTkovNlRESXY1eXZWdVE0WitFN1ZDL2ZO?= =?utf-8?B?VGZmWVJWb3g2MDFKM1REM1Blc3BtUDgzY3JkUHFyWXN1ODZXOHMxM2EzMkgz?= =?utf-8?B?VnBNQ2J3VWxNWVhnWmF6T1laOVRIbGZWd0hNbVU5eThwYXM4LzM0S2Nlc0ZF?= =?utf-8?B?dm5UbG9XTzIvS050djdOSmUzQUdocnp1NEVVTjBxSitwdGs0b3RCQVpEYTV3?= =?utf-8?B?ZENkK1JtcDlLQ2ZvZVdqR1VpNWpHekhUK2dWWVVkaHdaNnVqODV2SDlFcS9X?= =?utf-8?B?cnpQZVVmczRKeTNLcVJtSWhBRmN3VzBEaVZUVHMyNjdjMm52VnpRM0FDOUZr?= =?utf-8?B?ZHI2THNMSnlDZllxbE80b2Rlb3JKM3Jlcjduc1VCY240RWhaaUFSNTZGeEo2?= =?utf-8?B?SHluRjQrTlIyNGRRcDFXN24xZlBmN1cydFJhUkJ5V01QREpPVUt4Zm5TcllY?= =?utf-8?B?N0kyeExQUVRWTGxJK2Irb1dZeUlpNWJEZDQzcExHRmphMVBWTXhhWmlvdVBU?= =?utf-8?B?Q0dRWXRSc0lBNGwzRmtZeVVjbGpEcGM2bFR1NUxzR1NWMFVndkdPNmxEWUcz?= =?utf-8?B?YWZFY1BnVHhaejZuZXJhbzRONjFidEVTcEdSQmptanh1d1RlZDlTNDhoV2dj?= =?utf-8?B?STlVN2JUYmNLamtwek1UWHlSMXM5VEhBSE1lWDdFd20wV2cyVFZXSmdubWVE?= =?utf-8?Q?INGD/SURguGefRN6kXkYIbIo+oqlF/kToyXnWcYCeM=3D?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 78c85269-4339-437e-23d5-08d99f90bb57 X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5065.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2021 12:43:42.2537 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: kiqlVERlVJSRa5ggLzrYv65rpaNFhQHLKh9AqgbjevDK5isAJasZNTVZ7wXrmj6HOh+gdDZoy3tjJ7N/r7YOZA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR12MB5356 X-Spam-Status: No, score=-13.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, MSGID_FROM_MTA_HEADER, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org 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: , X-List-Received-Date: Thu, 04 Nov 2021 12:43:46 -0000 >> + >> + dwarf_location *location = dynamic_cast (entry.get ()); >> + gdb_assert (location != nullptr); >> + >> + return location->to_value (address_type); >> +} >> + >> +/* Set of functions that perform different arithmetic operations >> + on a given DWARF value arguments. > > Maybe use 'on dwarf_value arguments.' (otherwise the 'a' and 'arguments' > seems strange to me). > I see what you mean. Thanks. >> + >> + Currently the existing struct value operations are used under the >> + hood to avoid the code duplication. Vector types are planned to be >> + promoted to base types in the future anyway which means that the >> + operations subset needed is just going to grow anyway. */ >> + >> +/* Compare two DWARF value's ARG1 and ARG2 for equality in a context >> + of a value entry comparison. */ >> + >> +static bool >> +dwarf_value_equal_op (dwarf_value &arg1, dwarf_value &arg2) >> +{ >> + struct value *arg1_value = arg1.to_gdb_value (arg1.type ()); >> + struct value *arg2_value = arg2.to_gdb_value (arg2.type ()); >> + return value_equal (arg1_value, arg2_value); >> +} >> + >> +/* Compare if DWARF value ARG1 is lesser then DWARF value ARG2 in a > > is lesser then -> is less than > The funny thing is that this was there in the original code and nobody noticed until now. Thanks. >> diff --git a/gdb/dwarf2/expr.h b/gdb/dwarf2/expr.h >> index 16c5e710ff5..aaae381f4fe 100644 >> --- a/gdb/dwarf2/expr.h >> +++ b/gdb/dwarf2/expr.h >> @@ -25,6 +25,22 @@ >> #include "leb128.h" >> #include "gdbtypes.h" >> >> +/* Base class that describes entries found on a DWARF expression >> + evaluation stack. */ >> + >> +class dwarf_entry >> +{ >> +public: >> + /* Not expected to be called on it's own. */ >> + dwarf_entry () = default; > > This was mentioned in a earlier patch but I re-state it here because it > is easy to miss it when reabasing since this part is temporarily moved > from another file: this ctor could be turned protected. > Thank you for tracking it through the series for me :). Like discussed on some previous patches (PATCH v3 6/28) comment threads, I will also add a comment at the beginning of the expr.c file in this patch to explain that the evaluator is using the HOST_CHAR_SIZE constant instead the hard coded number 8 until there is a proper support for different sizes bytes. I was advised to use this constant by a maintainer Pedro Alves, because the value of that constant is apparently always guaranteed to be 8. Much appreciate it, Zoran