From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id FYdPCWZIiWAxIwAAWB0awg (envelope-from ) for ; Wed, 28 Apr 2021 07:35:02 -0400 Received: by simark.ca (Postfix, from userid 112) id 173F21F11C; Wed, 28 Apr 2021 07:35:02 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,RDNS_DYNAMIC, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (ip-8-43-85-97.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 E4AB51E01F for ; Wed, 28 Apr 2021 07:35:00 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 84273393A43A; Wed, 28 Apr 2021 11:35:00 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 84273393A43A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1619609700; bh=FSKRYa1jhl5Gy8ZRmBgR5tb00eL3jbotdT7bm+DN/R8=; h=Subject:To:References:Date:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=woDS9DbjHyUZdKTI2pB3Mi2K54+cNMrV1yXaaHy1Jv9wcQI9royJYad8lK0pelMMb UWN+AcUD1QFwLBHvVfKJrh7NJnSlyJUt1u1c5la2+rOoVIMxQbeJE66BfCoy3XcrFg xf+vM86z8uTxdkEdfnyWBiiuCOqNtxcSmMk2jnio= Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2088.outbound.protection.outlook.com [40.107.243.88]) by sourceware.org (Postfix) with ESMTPS id 486D73939C33 for ; Wed, 28 Apr 2021 11:34:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 486D73939C33 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=I4CRChdN/lRpZ0sP+RRsmv3X4GLkm2/ML95OYYOkDS8iVHjATFOdz9t2gpTc+tVJ1pQ2lze+J6KBJGVnoP4gmMN4jNTc7KEDtGiRKbfhli0TLxv4rqwqkffkLPUoN0DIKk0BZBdXvBYKgOQ/bDTm7qU5wSEZHagOBCNpOhsNnEZtvnyXvTN53RqI1MTKCJ2iy7w+WV1HQfaRepiA+5XDudkSn7vjGLTu68FuXv0hRHnLPBXc2ABhn/rxRvCDOiRDaj5w9R2YyB3a5H1k+kAuQ3wgrlcB0nJH3yW6wXiiQ22XHYgT+ETlnrTEVHX4rId3vQJ6AnNsgbmtW3Lhmvkfmg== 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-SenderADCheck; bh=FSKRYa1jhl5Gy8ZRmBgR5tb00eL3jbotdT7bm+DN/R8=; b=cUQD0jkEisKzL1Do7hZiHitmyYAUOQ6/MYRcEru8E0dA3EF9zComg7PuhYClkfMn9uuVQN8u4wZN1LQzmnHigBJgpbwCKTLZPm5ddbovKQgCRv0mhcS6QHq839/07Zla1s+b5T9o9dVeyMTaFXEzg/zHQVgNgo72Q/cZT7/uvIlh+YA73UYneV/I3WLRo71CUv5jewc7CNuP/NJa6UHl7F14W/dJ2t3/wgG0eU6ylWvMOud1fcU+Fv8N7raERj2fdT3K9TRJBzRRLY0cWJiyGdg68WnjR0Uuu/TxegAZ44dVRXUeuzSdcd/qcZFy+xSrPQhbGQ81wKvaFeKEMgUx/A== 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 DM6PR12MB2762.namprd12.prod.outlook.com (2603:10b6:5:45::15) by DM6PR12MB3387.namprd12.prod.outlook.com (2603:10b6:5:3a::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.20; Wed, 28 Apr 2021 11:34:56 +0000 Received: from DM6PR12MB2762.namprd12.prod.outlook.com ([fe80::49d0:1ee5:47ef:e0e5]) by DM6PR12MB2762.namprd12.prod.outlook.com ([fe80::49d0:1ee5:47ef:e0e5%7]) with mapi id 15.20.4065.023; Wed, 28 Apr 2021 11:34:56 +0000 Subject: Re: [PATCH 07/43] Move get_object_address to dwarf_expr_context To: Simon Marchi , gdb-patches@sourceware.org References: <20210301144620.103016-1-Zoran.Zaric@amd.com> <20210301144620.103016-8-Zoran.Zaric@amd.com> <982baaa4-410b-238b-6f03-3ec91c3f0fb2@polymtl.ca> Message-ID: <33430d02-682e-7b6c-ea11-7271e36e0108@amd.com> Date: Wed, 28 Apr 2021 12:34:51 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.9.1 In-Reply-To: <982baaa4-410b-238b-6f03-3ec91c3f0fb2@polymtl.ca> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [2a00:23c7:5a85:6801:f5b0:44e8:2b3e:76c1] X-ClientProxiedBy: LO2P265CA0485.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:13a::10) To DM6PR12MB2762.namprd12.prod.outlook.com (2603:10b6:5:45::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [IPv6:2a00:23c7:5a85:6801:f5b0:44e8:2b3e:76c1] (2a00:23c7:5a85:6801:f5b0:44e8:2b3e:76c1) by LO2P265CA0485.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:13a::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4087.27 via Frontend Transport; Wed, 28 Apr 2021 11:34:56 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b1d65630-60d1-4ea5-fbc1-08d90a39a622 X-MS-TrafficTypeDiagnostic: DM6PR12MB3387: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hDdeBdz1QYMFvk+62cBGyx1HKpqX7MHE6tcqOyvphDm/wJW/yeonKjmm/dn1TGohSCV+YIXfqDLyMPol41g98SyJBsZ/3zX6AX9MB3EU2MwOKpVHS7EBgj+SkcQ96v4UHVN4VAiHj/4znmOwuBFpY1y+GTBnTL4VMYt9GKk+GJmq0h35eEUsifphHVdEfC64tL0pwBd+6bcpHLDvAa0A1EH4zCSwHJYkZ6iOvwJtpSCSNkJLLluaKBMZ3mFCmbwooTpZR0205cRgRJlnFWI03cZMHtFDLdkm8PHOKr9zss2MWL4JWO5n3X6gG0NgRgTR2iPdVTcKWnoaqK2TMtTQRKsy2esgx1lUOCF9UEgfZ0Zspu7fSU7TE/t2mKYaF7WX/rEWuzk0yvkLtjlGKLjSGK6BMyCqXTGBprQHsAQPLoizgFIv7GmxD4aIMSO/XCZwIVbIvox9LBMbkGBOj/hY1Nuzgn60uFBtEWpxAm4KKnrJCQV0hKFZ+uyDuLvnJgChXOc4pELBFTEjIrjd2Qh0Fnt8E5riJqphVeAaJm3pU5OmZyHMmNu40NWEzrE4YLg86/hL5ygvZcNqIjN5yy1cKmXJvD1VBQcq4ndr5FZVLxu2QpFimqNHme6W+IjgrAo2xrwslkzkPyt81n9VSgClb28QFltKgkKG/qCqGjWYB5RCck24VUwsZIGu7TZx6rdt X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR12MB2762.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(39860400002)(136003)(396003)(376002)(346002)(4744005)(36756003)(38100700002)(2906002)(83380400001)(316002)(6666004)(5660300002)(478600001)(86362001)(8936002)(2616005)(53546011)(186003)(66476007)(8676002)(52116002)(31696002)(66556008)(31686004)(6486002)(16526019)(66946007)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?dU9sU1RXT3Zpd3pibmNTT0ZqSUJiV3llcUx5KzRReXdvdEp5T2h1SklBQnhO?= =?utf-8?B?b2RqM2pNVWswbWlocEh6ZWpOQ04wemhvajQvSnRHZWVZWU13QW1zeVRvWmlv?= =?utf-8?B?QTdiTXJBRkNYTnh3ci9WcFBXOFBCVG92VU5OVm1KUWkxOE5EeURBa1l2Z1M1?= =?utf-8?B?bUdnWk9JNTdtWDlDK3dlcTN0Vy93WUNqVkZEUnVJVmR0RFp0Rk9LREY4RzM0?= =?utf-8?B?UVZvTFFabFoyUHRJQ1JCczdOcXFhWXZVZ3NYTk96QXdqTk9kUkFkUDg2Ykht?= =?utf-8?B?bm80WHU2bk1PY3BobnJIc2FtZGRtS0NpWFhFOTVhclZLZjRkWXc2clZiRDN0?= =?utf-8?B?Qkt1K3Bja3FKalphUWlGc1hqZVB1Ukk3U3VTVnBVVERZd1pNbVRpanNkbXR0?= =?utf-8?B?L1pGaXU1enpDcVN3UmQ2QzBVSGQyWDdHNU0xN3lFUmhoTWlES0RUSWo0REVH?= =?utf-8?B?UTJVUjdVNkZ1MlhpY3Bjd0ErazVCcWE1Q0JjZjZEWXAvSFdocUowcGdTc1F1?= =?utf-8?B?SllvMlp4VHhoQWo2eEhxS0hEOFllWE5wQVJOeHdUNmdSK3FKS281QXRNRmNo?= =?utf-8?B?dHNmU3JYOE51cWpabUVmUG0zc1I0M2V4QkwrT2xyVDRsN3l1bk13cHZyYkQ2?= =?utf-8?B?Rmo1ZDNnL0FXcW94QVRwTFB3Y05XR0hpODFNSzR5dXdMSmI5cmg5anRXelpL?= =?utf-8?B?enI2eHZBZ3psaEZpTnNrZHpzOWRVc0JUYkFIeHluSlhvYTdYbTBWV3ArbFJY?= =?utf-8?B?TXpSdytnRzdNcjBsdjUyOFBNRnhQMXZMR1VnUGJqcEJacStFOUk1L0Vvdmp1?= =?utf-8?B?citWd3FJOCtlandaS0pSUjI3a2hyemdVdmtEclo3a2xHN3o3Vi9lZUJoSnA1?= =?utf-8?B?SmNxdzNnbUdoY01aekd4RDNDb0N5a0hFVnhmVW5sZGpPZ25Kc05saVo2Zkp0?= =?utf-8?B?MTJtYzE4eTVWVXdrSFBKTExlWEJZWSs0SWJYZHJJUnZXcTU1WUt0M1EvUFJO?= =?utf-8?B?VzM1a3hBZ3hzNk92WjhKdHppTGMvVTE0VWdmWXJlNWVXSFZUQVpIbnJpbWpq?= =?utf-8?B?Z3FVNmkreGk5dUUrYWVJaGpVRjRDbUpMdFJHU2txcFZuZmNkTnMwZUNDb1Rm?= =?utf-8?B?VHpHWDdRYnIwUjh4RkExUlUwdktzUHJwcTNYMXBmcEUzcUVMRTNBV2dzdkxZ?= =?utf-8?B?NytEQTVTOGVyak1DbitUR0gzaVlSQzF5QTVtNkUvc1RBcVVBMXRxNVZmT2RN?= =?utf-8?B?RWVTaXJ6azg0RnZOai9qeW1WdThveC9qZjcxZmVvOUVMM2ZCWksxZmRwanhz?= =?utf-8?B?dEhtTGpxQmNCNmhmbzY3dUZKQnRZNXlVKzcyVE1iUWl1Zm1xSXQrdVdQOW9I?= =?utf-8?B?NmZOWkQzV3FiWHByRnJPNXVjem91TmVTbUJ1N1A4bE5VRlRuVVYzcHhVQ2dk?= =?utf-8?B?cXcwSThXM0JTNDdxUGxOVEROMXRjcGR3SU50YmFQTXVOc3lRbVZxNzNscVVs?= =?utf-8?B?Qk92WHR6eUtIV0szSEVIVStqRER5TVJqNmVaNGYrK3pPM2hCejRNa2lhYmVn?= =?utf-8?B?cmVhR01vNDkza0twUm1GelZvM1F1L2d1SkhkWldtR3RyTDNyQUxjb1dqaHhJ?= =?utf-8?B?VDJNalpUeHNqbXBzdXBVejlrSDJuY0swLzcxWDZ4UFpQaWFUQXVJVWdFbmxZ?= =?utf-8?B?VE9GOHpNdjRHUEU2MXR2NE5neWY1OHVGbUorTnp0Q2owK1dpRnJyekNXRE1G?= =?utf-8?B?MW1XY2RpNk1idVRLSFpiQjE4eFFwaENlYk1FQ3lwT2Z0WUtnbjNpTlhXUHBU?= =?utf-8?B?S2tON3ZZRGowc0lVQUR1WWYyamxNTGZvM3dSaGVHODNVaVVPbjFsSml1cldK?= =?utf-8?Q?4ap/OI0jIs1Ek?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: b1d65630-60d1-4ea5-fbc1-08d90a39a622 X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB2762.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Apr 2021 11:34:56.7449 (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: QKGQ7adNBAgNMe5hkC2Kf/ojv/AAfcDI1axUrcMOxDhS5fwVWv0v60rqS2K/G9zm4szH7y/nbAzSBB6weQPPKg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB3387 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: Zoran Zaric via Gdb-patches Reply-To: Zoran Zaric Errors-To: gdb-patches-bounces@sourceware.org Sender: "Gdb-patches" On 4/27/21 4:12 AM, Simon Marchi wrote: > [CAUTION: External Email] > >> @@ -204,7 +207,12 @@ struct dwarf_expr_context >> int deref_size) = 0; >> >> /* Return the `object address' for DW_OP_push_object_address. */ >> - virtual CORE_ADDR get_object_address () = 0; >> + virtual CORE_ADDR get_object_address () >> + { >> + if (obj_address == 0) >> + error (_("Location address is not set.")); >> + return obj_address; > > Instead of having obj_address == 0 as a special case, I'd suggest making > it a gdb::optional maybe. To make sure that nobody accesses it > directly, other than through the getter, you could even apply the same > pattern of wrapping it that I suggested for the frame and per_cu. > > Should the error thrown here be of the same type as the error thrown for > if the frame or per_cu is not there (NOT_AVAILABLE_ERROR currently, but > perhaps subject to change)? > > Simon > This method was just copied from the previous implementation and inlined in the later patches. Zoran