From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2049.outbound.protection.outlook.com [40.107.244.49]) by sourceware.org (Postfix) with ESMTPS id 948EE398B419 for ; Fri, 28 May 2021 15:47:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 948EE398B419 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jQOTDkHP5SBz4qCXIg7RQsaTkPbd9evU+dk1nQumP67hGGMGYZEAsGtHds8d5TeFvwFJaf75E/otV7EZzgvxhSJgjRU9KyI9R5iwEGRa4ICP74LOifOkuLuTumxl4kW3+iPpzyThog/4CLqCM9wccARk1Yze6koO7CvrKfFAp9/ahPAN1gIGLuLztrEanL75w3gy9Kz5nPQjVfdufX+DIaYL5zkuVTnwk7FEh0jesjqlXAj4vmMLh9+skm8Yd38ogSdTsIFDfl5jnScFxCMEedU4KpuAHTYWnkcaGUXTpffEEfWZPWl43bYqR0VopSgVKqkuLbqc78fQrIPpKGsnEw== 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=pJ1JbdUZmg/DktbW18c+kJOghTGhisqcv5ZfRpFLngk=; b=GDkesDajebKzY46CgiL5Fs7SbYFVcnzdwOynaIXNnAPDFfVKH6wX7HBCaDqDjmNYt+OTQEVUAwFpPmG7u4TjOhBVYK3nH4P2e1faQ90IOWWw95XkqfQDWLmnr5kTIkkYPA7Sycdi+zo6RbC7uAk+SL1d9O7EkWcUHNGDQFxfjaP1yzAWDtOKQKWYNOGQg2u/JUy/PG0ml6Eomhuzi76MBbuRglljf/FXyLOwoGWdKsHe5T258LiSNs4DCwwxp2JteICFuYMD9CL2OS91lPZrLAq25K/pVcH3ohxK8VSZAls4UmuMAroDmeVT2NkgIrLkk4ZzIUloBdHsgMoAVSQCIQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=sourceware.org smtp.mailfrom=amd.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none Received: from DM5PR13CA0015.namprd13.prod.outlook.com (2603:10b6:3:23::25) by MN2PR12MB3712.namprd12.prod.outlook.com (2603:10b6:208:164::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4173.22; Fri, 28 May 2021 15:47:10 +0000 Received: from DM6NAM11FT006.eop-nam11.prod.protection.outlook.com (2603:10b6:3:23:cafe::f6) by DM5PR13CA0015.outlook.office365.com (2603:10b6:3:23::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4195.9 via Frontend Transport; Fri, 28 May 2021 15:47:10 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; sourceware.org; dkim=none (message not signed) header.d=none;sourceware.org; dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; Received: from SATLEXMB04.amd.com (165.204.84.17) by DM6NAM11FT006.mail.protection.outlook.com (10.13.173.104) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4150.30 via Frontend Transport; Fri, 28 May 2021 15:47:10 +0000 Received: from localhost.localdomain (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Fri, 28 May 2021 10:47:09 -0500 From: Zoran Zaric To: Subject: [PATCH v3 07/17] Move get_object_address to dwarf_expr_context Date: Fri, 28 May 2021 16:46:38 +0100 Message-ID: <20210528154648.60881-8-zoran.zaric@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210528154648.60881-1-zoran.zaric@amd.com> References: <20210528154648.60881-1-zoran.zaric@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1a0e0fa0-86a6-4b81-61cd-08d921efdafd X-MS-TrafficTypeDiagnostic: MN2PR12MB3712: 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: /8jYt73767v5bDMaRrIKwYOHJi5KHIYdx0nzeQXbHaZk4+X1N5Bz/d7e3B33I5oTUMNK0EnK1jLMewMwUupKX6n9Q3Vkjsem/6fZ/3Q2Oytr3k7mvGaKRMw2G1gXQDlAm+HeFgSCTJA5Q2NIWIf7TRQ+USMLSs85ydNP3JAOgcsu0WlJ0MZhB6yHU5jQSp64mB6jqfMt/ExTMSLeuNyRY8Blpr/xYomFofCX1vzBb//4olMNmD8LYKyvfcGV3gXrLRr2DSS2aJm1LmY0ikQdZzmQhBGDGKB4ES9iRL+E4exx/Ugqx3k5leDRNNmDwTQ0LWAEG/UJ/JGR5YadCAmS2N+xOyRiiQIHG97tzSvNkuMne3Zyw279qL4hEgDPhvY/YJ2TzyVf+dD/0t8Dc+KO0LNc717JrSvKpXbMaUlqC4vUcdX5P0xzAZMRMRMGgEIom0KNacEXO7aQzLWOI+vd469MesA7JROEPlGeQjfrA7XBL8b9cDLtS1PqH5sgvtqWSt0xq4VM7dF39oi4XcVYR6lrjBlNVuiXd9N7aNveGqQoSDzkBuXmvzDLMvP7Os2mf3EDQD9EENseCa01WJdiclLaBxLZFUvlHmmyprvHw7WJNrms0f+Io7lE1otX7F/6Zphizyll9Sq0vDWro0dcl4AL9DOBOabsz9gPMLR8K+Q7zvnkXTyXlE0XM0cKGTJX X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(4636009)(136003)(396003)(39860400002)(376002)(346002)(36840700001)(46966006)(81166007)(82310400003)(16526019)(2906002)(8936002)(5660300002)(82740400003)(186003)(336012)(83380400001)(70586007)(8676002)(70206006)(2616005)(426003)(44832011)(356005)(316002)(478600001)(26005)(4326008)(6666004)(47076005)(36860700001)(86362001)(1076003)(6916009)(36756003)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2021 15:47:10.3525 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1a0e0fa0-86a6-4b81-61cd-08d921efdafd X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT006.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB3712 X-Spam-Status: No, score=-11.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) 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: Fri, 28 May 2021 15:47:15 -0000 From: Zoran Zaric 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 6b51f2eaae5..ad1918eb18c 100644 --- a/gdb/dwarf2/expr.h +++ b/gdb/dwarf2/expr.h @@ -188,6 +188,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; @@ -200,7 +203,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 20da0f45e84..52b09809ccb 100644 --- a/gdb/dwarf2/frame.c +++ b/gdb/dwarf2/frame.c @@ -244,11 +244,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 d88239880af..07b7ececff5 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