From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id KHnSJ2L+PGAGJAAAWB0awg (envelope-from ) for ; Mon, 01 Mar 2021 09:46:58 -0500 Received: by simark.ca (Postfix, from userid 112) id 8A0CD1EF82; Mon, 1 Mar 2021 09:46:58 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 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 003A51EF64 for ; Mon, 1 Mar 2021 09:46:56 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8C7943939C3B; Mon, 1 Mar 2021 14:46:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8C7943939C3B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1614610015; bh=CsX3IBIMg7sz7yHpSO36A9QXjyd3p/4xBssvSAcIwMA=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=lHgha9cgVpBNp50BnL9ztIv69W6R7fnFjil7xzVkzWF10iYUK4BqnsFw8DR/arEGW IM9XAHPbmaHQO+SDnjZgIoaKKA6exPeMCwrGGqatMPbbfQxHU7L+YqtOxPQtdwVmiG qt5AdHHknwmkHKoVDbOMRlij5LlvGWYVqrbhwdpI= Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2040.outbound.protection.outlook.com [40.107.236.40]) by sourceware.org (Postfix) with ESMTPS id B38D53938C13 for ; Mon, 1 Mar 2021 14:46:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org B38D53938C13 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Jtsg9Xx6wcNk08LvP6WV0qiBe6+dycEAId5TPOVr6vBAsZehrEpAdPSUbA0lA/AyyWfcv6+96AUv9DncJk3/awiHl5mUFeXDLcbJ6dduq2knA83bmDgFg0p1hmCMJUq/HgoCn62736v6A+DKIgsiT8aF5JlL50VG9r2xoXBhfoPjRi757D1aIdt1x7XnU5DAkcyHdTGHcxG5f9MOhsj8FKzecdBgBrBZsj4ZYqMz7YT7sqmC5QDC09DWd8WPzxzp5XOidRAswMJR6eEWSbPz9eMNtpXjeAkH77Pql5nX1zGBOFMxmrvNwN29xE24aJGOl3IxIzIRLODWOm6enSgn+A== 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=CsX3IBIMg7sz7yHpSO36A9QXjyd3p/4xBssvSAcIwMA=; b=dlu+31tJANa4Rm+hgPntJZ9J9qfsSgUm0fa7lyh3JxGqg4GGeDNkYeYCjtAgEMcUB2RpPCLn8xTx3Ew191TP0Uq6K+EgMP1gCa/cmzDwXsZkQsZD3Jk+mekPUvkRj2qy0ESuKxWuCVJDiOgNGmnF5FEoQoZB3F9WddEQ0NeE2+uhq/GOhjydpOE9gGCTVJILDKAyMzlSFPcTGVG2oKKnWK3omo4Cz6SKCTfF21SP1SA1z6dzlUpJC1bqOBEOCWporseAs9oJUqKYqS8BKE5EFUdg0nI20YsTkY8cUQy1nOclBNGMoJLwlqamvnyO4DE6/DcViGmvqC/9hH+XXdFvng== 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 DM5PR1201MB0236.namprd12.prod.outlook.com (2603:10b6:4:57::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.28; Mon, 1 Mar 2021 14:46:47 +0000 Received: from DM6PR12MB2762.namprd12.prod.outlook.com ([fe80::31d8:f503:f7b2:f44]) by DM6PR12MB2762.namprd12.prod.outlook.com ([fe80::31d8:f503:f7b2:f44%3]) with mapi id 15.20.3868.033; Mon, 1 Mar 2021 14:46:47 +0000 To: gdb-patches@sourceware.org Subject: [PATCH 07/43] Move get_object_address to dwarf_expr_context Date: Mon, 1 Mar 2021 14:45:44 +0000 Message-Id: <20210301144620.103016-8-Zoran.Zaric@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210301144620.103016-1-Zoran.Zaric@amd.com> References: <20210301144620.103016-1-Zoran.Zaric@amd.com> Content-Type: text/plain X-Originating-IP: [2a00:23c7:5a85:6801:b4ed:fe7b:8064:d4d] X-ClientProxiedBy: AM0PR04CA0073.eurprd04.prod.outlook.com (2603:10a6:208:be::14) To DM6PR12MB2762.namprd12.prod.outlook.com (2603:10b6:5:45::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (2a00:23c7:5a85:6801:b4ed:fe7b:8064:d4d) by AM0PR04CA0073.eurprd04.prod.outlook.com (2603:10a6:208:be::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.19 via Frontend Transport; Mon, 1 Mar 2021 14:46:46 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 1f77af2c-fcb0-42db-7b15-08d8dcc0d6db X-MS-TrafficTypeDiagnostic: DM5PR1201MB0236: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5797; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Tg1wRitZSU/9LKcEqYQCFhbVoJjIwfOWvxSKG6dx4tajRYyWLzfCeHc6BYalVwa4BKgEwdBZfdzEE7stf7Vhazc+F1ISVV+rf0ptfdZmtkRPBga/wfxbT2X7LOlKwh7S7GrJ1AnnMbUrKLYUA58Np8aj+9Z+cJ1UFl+hwO4gW5671xLX5xH1rOersNmBJzuJgkQGvtiMhQT1Oo69YRBfnazAaZfFl3YQrsqZaUnjGBbyBZtPkT/MZhEQXOD8eDRqZuoy4JdQpHeFoUx9fsYbb/nnsAMJYvnqFXygr7n8MaJnmZzq0ltcZ1ZHGOcMENMfy8U5PLec/70+RCXr/Pt9xr/x0uuw9O3ep5cNI0GUgnLdG1D+kaLIK9AeRD78qEmB0vwk2cd40vUVpBsB//DQxtgODCHiCfa0hzQ40ZvLoIUHRn1nIgeXGad2BRHKTEmppcE6eI9yIkwNUHUbxKzSRG8wCHvYHEx5weQ7gBIX6rF8ETAj9O7UCzOh1QXwkkITTGS5HOynuOToytVfYULuYQXH7pcTEX/Y6zQRaCNDfwGKl31FNU/UtBYDsdRc0C9ADT+9GnNEQt36YYmZUBulWQ== 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)(376002)(366004)(136003)(39860400002)(396003)(346002)(5660300002)(16526019)(1076003)(8936002)(52116002)(478600001)(83380400001)(2906002)(6486002)(66476007)(6916009)(86362001)(4326008)(2616005)(316002)(66946007)(8676002)(6506007)(36756003)(66556008)(6512007)(69590400012)(186003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?oRzuhsbpa6EGiiftzCHTZKozg+8KUSCTP+7J4KKZHLvVZfcdeqN/b4ViQxDQ?= =?us-ascii?Q?/yk8TqCeSNyr9jGDxJv4lmJvj/GMdJ9ecwE9LQWa2Gy8SDFMChfKrNhuYC12?= =?us-ascii?Q?KjXAsQuBOLX+zSldXRI88Qh/vdshsjIskIxekVrESYYtjErJfswniv2/9S8a?= =?us-ascii?Q?8nmWu1AC6W5ReuYkwJIvbB4iq5jav5GRNGVN2k97Ln6c1BfEU7GnVge0Pg5Q?= =?us-ascii?Q?XP7YnWxh4GctbFV1dG5Ox0MS0ZPGqSUuFKeBochv8kl/1LKnDvMwGYFOWHKg?= =?us-ascii?Q?r8S+XmuBM5UPbhzj7EIYrOUjxD5BTCH9rkaJV274ekwhBGBzG7kLY5I7QY05?= =?us-ascii?Q?ECRR/GOcjLZcDxnFC9P+2Es29VpKSKZZ0D24BFUPVx7PUXDZRo1JFvta/ufq?= =?us-ascii?Q?K2JPVnR23pgnQ6sc35Wbj+3JOwUdO7YPPq8aNdnkZsIMPJy1cSTPpny5flyy?= =?us-ascii?Q?aIfLgsufXOqo35njlDZqCeeRM3kyZlpmOteRsPIX20xBq25B4RrP7dmNFzs8?= =?us-ascii?Q?uLQHPslW9Lf7+Eb1iUAe6E1+AZbhLacz7ysGWWXF0jixTcKuQqXP8z29CCuo?= =?us-ascii?Q?gEL/FQ+7dxd0hqKBWhBrIl6JCCGZEBm15g36o0OrNaY2+TuqKpsZVUZGBPsX?= =?us-ascii?Q?Pv3ijalM317YqbDWmGHOrc6UbjHV3bsb5Uma5y4HO6ebhnSR2/AOODAzoCph?= =?us-ascii?Q?kp1YpTZyzge8Z/QwsHBYcYjt47H5bm6Ixpu5gH4ZCKk4G0AUPXorom4LdzkR?= =?us-ascii?Q?Xd7fZWRAG30vAa89iAV3uypX35Fs0aRpsISaZCG7EVJQelt4KX8xZBDo4JJz?= =?us-ascii?Q?x3DO0DZNJUMPZrOpUkgfp+v5T4DTKvP/N22LuHy7T7SvAtb/aQjVJwaDqrnz?= =?us-ascii?Q?zZSdAAimbMGKU972FS9difP359X678vcOCr67QvDKoxcyMvBgbYJRJe/6Cah?= =?us-ascii?Q?/QXVUkEsI/bGWo4giSFWHVtYgr52CDH6LpzlDUkkhz8RhEVYyUB4LZArGQJ3?= =?us-ascii?Q?ejNhPROXa2PnhYygk8M7tY60Fzviziq3jApRiZxFkveaZ0mtGz4knWQaf2Cs?= =?us-ascii?Q?GohVWD5x8VQntez0KyGum3MCeIn3C1n2sAXl62acn+asn0+6eu7zmckLcJsG?= =?us-ascii?Q?M2meRNpA6Id3DcVfyhoSNJLa1f+1AO5KnDrel0EcwiHHNbolF0rGVUCrd8rT?= =?us-ascii?Q?xULSmfBhrdHvgqaQCEU4PYa2K5jL64Y5Xp5W8DGPyA1vCtUBBd2QNiTWFL8C?= =?us-ascii?Q?lW5NTs90ET1p/Gi3GXXsVjpYN3SFpKS5OCRZqpBGWf0zFTzJ1qwiAXoK6MXd?= =?us-ascii?Q?eDjWV9iadwKgZAtc9mN9bn76cu9fe0emT49BiYHnoRLRjgMbjAOqCuimd8wT?= =?us-ascii?Q?mfmeiylQHJMj36AbIIagiQ/9GfLY?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1f77af2c-fcb0-42db-7b15-08d8dcc0d6db X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB2762.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2021 14:46:47.1093 (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: yD6YXSZZj2M0oZCr5iQI0no+ObS7oZbrTwIWC5DQCszRaxil/+RcII7V9fETbvx/p8RaTNnTnW16Cst+3EYbQg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1201MB0236 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" Following the idea of merging the evaluators, the get_object_address and can be moved from dwarf_expr_executor and dwarf_evaluate_loc_desc classes to their base class dwarf_expr_context. gdb/ChangeLog: * dwarf2/expr.c (dwarf_expr_context::get_object_address): Move from dwarf_evaluate_loc_desc. (class dwarf_expr_context): Add object address member to dwarf_expr_context. * dwarf2/expr.h (dwarf_expr_context::get_frame_pc): Remove method. * dwarf2/frame.c (dwarf_expr_executor::get_object_address): Remove method. * dwarf2/loc.c (dwarf_evaluate_loc_desc::get_object_address): move to dwarf_expr_context. (class dwarf_evaluate_loc_desc): Move object address member to dwarf_expr_context. --- gdb/dwarf2/expr.h | 10 +++++++++- gdb/dwarf2/frame.c | 5 ----- gdb/dwarf2/loc.c | 12 ------------ 3 files changed, 9 insertions(+), 18 deletions(-) diff --git a/gdb/dwarf2/expr.h b/gdb/dwarf2/expr.h index 9510dfe33d4..b25b2315dd9 100644 --- a/gdb/dwarf2/expr.h +++ b/gdb/dwarf2/expr.h @@ -192,6 +192,9 @@ struct dwarf_expr_context /* Compilation unit used for the evaluation. */ struct dwarf2_per_cu_data *per_cu = nullptr; + /* Object address used for the evaluation. */ + CORE_ADDR obj_address = 0; + /* Read LENGTH bytes at ADDR into BUF. */ virtual void read_mem (gdb_byte *buf, CORE_ADDR addr, size_t length) = 0; @@ -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; + } private: diff --git a/gdb/dwarf2/frame.c b/gdb/dwarf2/frame.c index f9f78f472cb..b3f0888e239 100644 --- a/gdb/dwarf2/frame.c +++ b/gdb/dwarf2/frame.c @@ -243,11 +243,6 @@ class dwarf_expr_executor : public dwarf_expr_context invalid ("DW_OP_entry_value"); } - CORE_ADDR get_object_address () override - { - invalid ("DW_OP_push_object_address"); - } - private: void invalid (const char *op) ATTRIBUTE_NORETURN diff --git a/gdb/dwarf2/loc.c b/gdb/dwarf2/loc.c index 6b0fd4c8a02..c716c3a7858 100644 --- a/gdb/dwarf2/loc.c +++ b/gdb/dwarf2/loc.c @@ -632,18 +632,6 @@ class dwarf_evaluate_loc_desc : public dwarf_expr_context : dwarf_expr_context (per_objfile) {} - CORE_ADDR obj_address; - - /* Callback function for get_object_address. Return the address of the VLA - object. */ - - CORE_ADDR get_object_address () override - { - if (obj_address == 0) - error (_("Location address is not set.")); - return obj_address; - } - /* Execute DWARF block of call_site_parameter which matches KIND and KIND_U. Choose DEREF_SIZE value of that parameter. Search caller of this objects's frame. -- 2.17.1