From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-BN1-obe.outbound.protection.outlook.com (mail-bn1nam07on2087.outbound.protection.outlook.com [40.107.212.87]) by sourceware.org (Postfix) with ESMTPS id D30743858416 for ; Wed, 12 Jan 2022 10:51:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D30743858416 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mDrzUZKUFo+KXFkooQBJbAMh5jfwpmlPzTj7DbkWkjs8V5F16XNbI9lUsbfe2TzGDgVaj574FvZX8AQ7bpukxkd+z1NoR069eSI4cI0LygUhDGYPYyAleLP7ka8m3Bh5tYwNJ359kZeoL0N3HkJHMC9hKwHNQWuizbH95d1ViFUmHSQ7lW9UWNFvxdcLseIek2B3MqhXpzHYHK8KlxBUQxm0TDH/gyjFPBtpfEbHLLL+56KdU3S8MTKCcUxtnOjO6//JQUQRipSfcRlX+O5SaMWlIvQgMHKfpXSGpxJpHvmCPI54gubPzaGKjC5vbEz6AoEO83Auqe7FTK7RFNcr0g== 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=U+B056Mon17j9j26xqunH808AsC91LT6JV4WpHRU1Tg=; b=kOOAAQJI4j0f8W47I79hJlx4DYXhxqwb9LaNiGdb0siUijamI3xVhg6hnJLFt6X9DBYnPWEF0thjwlxAdjmnPUXgCl+hX3gKKublxq9pIy/0xcZZ0S1slb5hDOInwkv0zkgFyWWDgrxKhwC2P0LR1UdTmsGO+jUlc4eMZJC+mUdd0DdYx1HV2LAx722F+DMo6cSH+AP478k4ylpSht7WutUAnINquAE/As1OkEb6Ai2HYVQNQGd42SfuvRRFeEMuusYJH8ZuUfkM00ljNqu5eCQD3l2pZt1yJESy59dimwe6FnQ/6O9PTkng/R1XUPees/+IIswx1u/JmkZNJO3LzA== 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 BN9PR12MB5049.namprd12.prod.outlook.com (2603:10b6:408:132::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.11; Wed, 12 Jan 2022 10:51:27 +0000 Received: from BN9PR12MB5065.namprd12.prod.outlook.com ([fe80::8a:f482:ebd8:3135]) by BN9PR12MB5065.namprd12.prod.outlook.com ([fe80::8a:f482:ebd8:3135%5]) with mapi id 15.20.4867.011; Wed, 12 Jan 2022 10:51:27 +0000 Subject: Re: [PATCH v4 04/28] Add to_location method to dwarf_value class To: Tom Tromey , Zoran Zaric via Gdb-patches References: <20211105113849.118800-1-zoran.zaric@amd.com> <20211105113849.118800-5-zoran.zaric@amd.com> <87tufayjic.fsf@tromey.com> From: Zoran Zaric Message-ID: <8efc0878-3644-d6ab-ffef-9601dbfe30fc@amd.com> Date: Wed, 12 Jan 2022 10:51:23 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 In-Reply-To: <87tufayjic.fsf@tromey.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO4P123CA0464.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1aa::19) To BN9PR12MB5065.namprd12.prod.outlook.com (2603:10b6:408:132::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0a010daf-c46e-4e1e-0a5d-08d9d5b97be6 X-MS-TrafficTypeDiagnostic: BN9PR12MB5049:EE_ 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: p3+gdbQCYIsHMC2bUVFK0bg73QuMjQ3aBpU+2wzC0Ik7/Pwd9GD4s1IsefovHDBOqSofIfK8cqN40dFaqQVIheA+RxtJwu9DZaIH7UdTltt0PjqTtSURPQV48aKnK5tkWY9do49oKkr/fxY5rMosByqP6lyJ6CYkh91lQUr9tnqVzjHDqeFd/TyZwbDspBl5ZlxU+bdYA37Z94hcdO6a1Irbc9mxS1EqLm7Se3Tktxi1HiAGVJqgTvWRi1jaqaiPDgcPepn118kPALsLFa4M8jGsWbnxpDyqxODStHnhma6n7BmwID8S7Hjy2loqlQ0rWGhpE7H6jm57e1vOD6Z3qoi60Q/1JVgIzq0GH9kqEQZ2mcyuxwaMFyvqw5rPfoprauaGc62GkndHNiXmdbgNpwl9gae9mRYbAr4lHirlYaQDsdXx6uWk8raA3dZRNTJLtHZ0G+HbbN+yqoAUHsBkLZCrowl6Le1pngqf5FvLn6rRp9JE1GN3ihRg+ukYoSIVG1ac17dW0tebU6I9L3OxLtxKQvfiRxVYURREjszVm/Y+mNYZdx9LKo3gS8TkbjKyalcY38+LZvZbH/e8MzKr2AufAKmZ0Q08noIyW0I4RDpqredMeZetVSduV1OZ7e7TeJ1aNkvMjzU46OLsZ5zU20sNfQDuv2Pjr+N8/4UsHnYWUlrFSwAhk9Dx3ogj8W97HubFnBhp2AlU013lhp/CxnNbCcRx3bxIS/sLPlPnZg5v5LUntzEWfeHeUfb+qhDv 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)(2616005)(31686004)(5660300002)(8936002)(8676002)(2906002)(38100700002)(508600001)(6666004)(86362001)(110136005)(36756003)(66946007)(66556008)(6486002)(31696002)(186003)(316002)(6506007)(66476007)(44832011)(6512007)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?N0tYM0lNU08wVzc1SHJsK1dKb3RRWkRPSVlVUFoxWkFRK2VsZXhWNmdMeXA0?= =?utf-8?B?VHBrcjZyRHJyN1NsWllTOWpvZkVzdERid0NvdXdSM2lPVlJmSi9tdTVFSm5Y?= =?utf-8?B?akhIaHJkT3JhYkc0MURTMzRpcUlabE16NS91cysyZ0xxWU5RejFrZUJ4UC93?= =?utf-8?B?TExWeU5ieU9kU01FYkcrYzdhR1ZWN2hxMEY1VmQ1T0lqRFcwZUZ0N0xnV0x3?= =?utf-8?B?NDdyenNtdlJpL0Y0Snc5cXZiOXVVUWJHd2hqU1QwaENGVTFwbi9mRVYrNDhC?= =?utf-8?B?ejZKcEhIV294MjNVUVNaM3h4ekEzZ1Noc1VrY1pMaHc5dVZPdGZZODdmaXlR?= =?utf-8?B?R3JJSy9IeHpMNmU5WDN0YzBkcG9VZk1RbXluUWg0VGRpZ2g4Qm5FODNpR0ZT?= =?utf-8?B?cUVqdDJhUG9KaytsWVQ2eXFoSGx2YU43eVgvMVNpWjJNcnFsZXVJcDNtQjN0?= =?utf-8?B?eEg4OXBFMTFXSzExYjRtR1NDUW90ODlKc1FOVHhDSktkTlZBbnZYbUlNbE84?= =?utf-8?B?QUFkcHpyNXRiM0YvTm9nQTAwOTk2anlUMlNWSnVidEhFTmhIdVdRNzJNZHEy?= =?utf-8?B?bVlDODQwSEVJTyt0d0d0Q1gyMXBOdEk0SWxwVkVybkwrcTZpWlhHcXJDSmZB?= =?utf-8?B?bTJUK3VMcmlEUkpvZHh2bENPeHdnL3dsUGhvbDErck5oazVwd3lFUTRQdEl6?= =?utf-8?B?RkRGUkpkTitEcFpEWVFQKzA0N2tMQ2FNNzR4U0lESm5qYkFuYVUrSUZIVlJt?= =?utf-8?B?eHpCVW14YSthaDgrQmxzQVdPbmE1VFNFZ0xpMGZjMXBzUit0bVJ6ekNuMURk?= =?utf-8?B?clBwTkZnV1NvRVRQaVp4UHNiUm9jMjd1ZVJ1Vy9XVEVHQ2NNSE1GMkJ5dDdU?= =?utf-8?B?OFJJb2krcWc3aFd6cUdNRlBsZ2p2VUxjOTcyb0lsQlIxMDRkckI3K0VDbjRM?= =?utf-8?B?d0FkS05lZ0c2M1ZGQmxsdWxOZy9iTEVmQ2pPenJYLzMxVzFvWDc1RTNnQlVy?= =?utf-8?B?QTNUemxsREw0Y3l3VnlzWnhCYVluSGZ4alhEODlaSDA2dkFiUkd0a3E2Y01X?= =?utf-8?B?TVZEcUhlNE5tSFlmbkw0TTYyM0NNMHFzMFZyb3NHQUdPMzFZNmhmVEZDdnEx?= =?utf-8?B?dmQxdjdVUFVIL0JNa2FNcGhkcXBDNjZuOVRwQ2lJcmxxSXNyTkJpTUpoYzBu?= =?utf-8?B?N3EvRXhLd0NyQjYzTjNaclowVHEzOVdxd1NDckFvRUZKdXI3MCtSQVozODRK?= =?utf-8?B?bkt1QTM3MGtWQWVMaHZQWmhYSTNkckhHZjFMZzhmamJHdnhpeXZDd0lzQnJR?= =?utf-8?B?dG5yNEl1ZkVPeElhVy8xRFBxbTY2Nk5LMU0wZlo4MDRNa2srRnQxRDNuQTFQ?= =?utf-8?B?N1ZQV055MjhCTTBLUklNeFFSYlA3VEo0Q0hYQzFKWDF0dVQ0akZJdzhmWFR5?= =?utf-8?B?R094alpSbTBKTFVNRWxCTEErd1ZvcWFhZmMvVXFZbmxzMCtZT2wrNlNvMXRK?= =?utf-8?B?d0VRZVJRQjRPb09uSUZFbmF6ZGVuZXgrdVNVTlpjNnh5NXFNdUttN25qOFZy?= =?utf-8?B?TGJIeWpuRnpZNTBhaGR6Q25TbmhBVGRva0UyOHR0QlBjMTUyVGF5di9LYmp3?= =?utf-8?B?Q1NOSm1YSmhaUmtYQnMycEkyWlJhanVSeStucFlBK1hQM3U4KzNOSmUzQ1F4?= =?utf-8?B?eTZPcjRvbk5lUVp4aTJUVGpIVkdWMmtPNEJ2dlRhU0M1RXVDT1d5SkV2T2xP?= =?utf-8?B?a0VPeHJQNVJUWHR5Z0dwTHdFT09lU2xuUFRCV1B1SmhHUHhxZys3dnRLUFk1?= =?utf-8?B?azhxM2JQY3NNQWRKMndzUjFJYldXNmxsc2VKc3RJaXRRaWRtUzdrWHYyT3pS?= =?utf-8?B?T2w4T2lnSElXTTg0UVgrRlA0NzBGWnBLbkpEeDQ0dDc5bGMxdjd1Q3duaEhs?= =?utf-8?B?V255NlhpQVk3ZGRHMTNtKy80WHI3RFZ3MGl2Si9mdmZ2djYveEtSWGxtOGR5?= =?utf-8?B?bDZ2T3NHWWtuU2Yrd0d0bWdWdmZJNzdaU1JPdEtISHlnYXBzcEdIdEJDZzBh?= =?utf-8?B?RUQ2TnNkMHBUVTN5dTBCOVNtazR5eXE1bk5ZeERVTlI3dXNkZ2tBRVIrOVE0?= =?utf-8?B?WDB0QmNSNUFoOE5FZGhpLzJoODVlVVo3Z2lWTzZ3UTVaNThzY0pLbGd1Nkw1?= =?utf-8?B?dk1LcXo2VVYveW1TY3lQbDdpTmFabkxnbWpnTUk2eE5ueWVyQnh2MFBwOEta?= =?utf-8?Q?3Gu4/P87sJjY/8zJd5vMysCStGNph3r607o3neTR20=3D?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0a010daf-c46e-4e1e-0a5d-08d9d5b97be6 X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5065.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 10:51:27.4756 (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: 1Nk5xprYJ4mmg1kxRZ9OZJs4EmzSvFGc6oukheHpy46RMoi25S6gZG+6+u3h4XNAQDLUOj6U/inMnBK2HzQamA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR12MB5049 X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, 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: Wed, 12 Jan 2022 10:51:30 -0000 Thank you for reviewing the patch Tom. > > Zoran> By allowing any location description to be on the DWARF stack, these > Zoran> implicit conversions are expected on per operation basis which means > Zoran> that the new dwarf_value class need to have a support for it. > > I don't really follow the meaning of "location description" in this > comment. For me this term refers to the expression in DWARF, but here > you seem to be using it to refer to some sort of value I see your point. In DWARF the term of location description is not a description of a real storage because that expression still needs to be evaluated in some context. So in a sense, what I refer to as a location description, is in fact an "evaluated location description in a current context" or even an "arch storage description". As a full disclaimer here, a new entity behind this "arch storage description" term is still not a fully evaluated location in a same way how "struct value" objects are not that, but similarly they do carry with them a context needed to get there (in some later stage). Maybe a more suitable term for it would be just a "location"? > > Zoran> This patch adds a conversion method from a dwarf_value object into a > Zoran> location description object. > > Zoran> --- a/gdbsupport/common-utils.h > Zoran> +++ b/gdbsupport/common-utils.h > Zoran> @@ -206,4 +206,22 @@ extern int hex2bin (const char *hex, gdb_byte *bin, int count); > Zoran> /* Like the above, but return a gdb::byte_vector. */ > Zoran> gdb::byte_vector hex2bin (const char *hex); > > Zoran> +#if __cplusplus >= 201402L > Zoran> +#include > Zoran> + > Zoran> +using std::make_unique; > Zoran> +#else > Zoran> +namespace gdb { > Zoran> + > Zoran> +/* Stolen from libstdc++ and adjusted, so probably fine license-wise. */ > > I think it's fine to just document that this came from libstdc++. > > I tend to think this should go in gdbsupport/gdb_unique_ptr.h. > > Tom > That makes sense to me. Thanks, Zoran