From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id kIUdHfB7zl9ETQAAWB0awg (envelope-from ) for ; Mon, 07 Dec 2020 14:01:04 -0500 Received: by simark.ca (Postfix, from userid 112) id 70D121EF4B; Mon, 7 Dec 2020 14:01:04 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,RDNS_NONE, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from sourceware.org (unknown [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 AAA9A1EF4B for ; Mon, 7 Dec 2020 14:01:02 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 95FB0395143A; Mon, 7 Dec 2020 19:01:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 95FB0395143A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1607367661; bh=sjZxLh/lvgLpyil7b3X1xyNUV6SolPL8EYmlj7jjjvY=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=RritOcqygNgeW7+bjZJqQ5aVTp5TC3gtS5VlPVihryt38yrAQ8L4a0TQF7W7JUBt3 N+K8DteOwA8JOsdcqmFmB9phiSVZcYc1E+76ogCK3+tUzl0H+tSXTFjlE9E9211qzV HwPYagQ1MKGblLG+Ga10U9Ie+3+9EkGT2/R9opyk= 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 D84073896837 for ; Mon, 7 Dec 2020 19:00:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org D84073896837 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=g/rhuepkBJRWptTH54P3crouSw5tWCzhVlgLGBm6thlZrmFbV+QVmDJb6m52UJ0umBZ7mh4iVDdSmOcu65Qz0K0DtX68uoOZdEh1kbeFPQmJAyg+Z+KmAvUbtjGnibXbkxF3qnJOkC9iwN3DKl6PY6f0w7V+S6AZh/9CaChYhlA4wl5VNN1uBtZFIxoh7MnjuW2/Xw5fyOUsIfNsIu26G4oXL1SW4YcZucKCjlX9ce2u6lFgNhLbgIZ6TIeoS5HXCUZgryFlN8111N+6+VCHLCGjRcBavqlijxS2oY8wlQapRuJRfPmHgXjrvhX9MWmQOsciL8Jdm1+ahyzvvLIXGg== 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=sjZxLh/lvgLpyil7b3X1xyNUV6SolPL8EYmlj7jjjvY=; b=Kh9Ya/tsDQ/n9kPJ1TK/zNPx/+i7dwzsYLGe8oKmYeEBlEev98CB8/L+Y3Nv4TUvKhIaRGJ657MDsTRP8O6wqv4dEJnn7QoB6Ph6oaXpB/V+EchG/+We81sAn7csrlJ472JOV7s1zcUSXHSrrrNQMfd5pq4xFHIt3ECzwoGER4nQX5ATYsdr2hrQee7gL0Yx3uxb0T6MT+KfKuSb4oQz0FWi02TFhqEFoHizUuBz0uYd3ES8ST8067Q6X2hyaSozusmXVeiFeNzfIJmQZF8tJ8uB8eziBEfVpV1A1ewA9JXvU61vIzhx+wOP6/2k0W0qf8hv7/9WazzZXaDhQMElXA== 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 DM6PR12MB4561.namprd12.prod.outlook.com (2603:10b6:5:2ac::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.18; Mon, 7 Dec 2020 19:00:55 +0000 Received: from DM6PR12MB2762.namprd12.prod.outlook.com ([fe80::6841:61df:984b:b3c]) by DM6PR12MB2762.namprd12.prod.outlook.com ([fe80::6841:61df:984b:b3c%3]) with mapi id 15.20.3632.021; Mon, 7 Dec 2020 19:00:55 +0000 To: gdb-patches@sourceware.org Subject: [PATCH 03/30] Remove get_frame_cfa from dwarf_expr_context Date: Mon, 7 Dec 2020 19:00:04 +0000 Message-Id: <20201207190031.13341-4-Zoran.Zaric@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201207190031.13341-1-Zoran.Zaric@amd.com> References: <20201207190031.13341-1-Zoran.Zaric@amd.com> Content-Type: text/plain X-Originating-IP: [2a00:23c7:5a85:6801:5c7:2db6:d2c2:ae4e] X-ClientProxiedBy: AM4PR0101CA0053.eurprd01.prod.exchangelabs.com (2603:10a6:200:41::21) 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:5c7:2db6:d2c2:ae4e) by AM4PR0101CA0053.eurprd01.prod.exchangelabs.com (2603:10a6:200:41::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.17 via Frontend Transport; Mon, 7 Dec 2020 19:00:53 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 9fd261be-6b51-4ff1-971d-08d89ae26cd4 X-MS-TrafficTypeDiagnostic: DM6PR12MB4561: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2fDTaEpoKlsus+qSm+3PzQ89Lw09EWqkTo3uoHWFYi1rdZxVbCvtaNZgocpRyfDcPpCqLGJHCMCT5sS58JeGi1et/aQgqlQbsUhe7xUdGotwRcn6aaqaPsGtHELngJgJ1IuUmpJ4RlTmoF37BJEV/ZdZ/F0+NfpQW6BHrg7/Oy3BTxdQHdBvuVaCTBlrU++s69TDNYw2GRkuPNfrwiNHAgEsZWSnQr31TlaHuyEa8gLNe2K7l4IV69Ky695M71lCciqj1D46kRT2YYe7PBtJv+UyfDk+qcihd1Cn35EtcOAH4bhAg9BuGls7/nItTjEmrhUP75maTmtiC6x2cW/j1s6Rc8vITwKRukoT9pCWxYNHOZLAbax4kc/fvvGylBB6 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)(346002)(39860400002)(366004)(136003)(396003)(1076003)(83380400001)(86362001)(6506007)(4326008)(69590400008)(52116002)(36756003)(2906002)(6512007)(8676002)(6486002)(16526019)(2616005)(66946007)(66476007)(66556008)(6916009)(5660300002)(186003)(8936002)(478600001)(6666004)(316002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?IJ2yvYNXxhxD16YiIsgI4MMMRGLEpiaNC/cgrK2Mup3HFtKrZy1PjiL7CJd8?= =?us-ascii?Q?QEa7CLHQmbjASIQBAQx/hqGqxaU9dL3DsVN/bah68l0dEnLd/nnmo778IWE2?= =?us-ascii?Q?+M8ryz8hNFsPj/+XNmK7svZEOPo83+jiYzhi88PA2puMpNQZeIsKf7Jzzt/F?= =?us-ascii?Q?1hFGj67BAEnnEMHdhiBDyJCCgSjMGYGjKw0wrnc/VRlClJTTvvVpu2CQvmcb?= =?us-ascii?Q?evU1MDQBIUuIOa5FN6icXhPpRmmgTCo19MfAbNhDgHNQi3WxLy9MNn+uYjq2?= =?us-ascii?Q?L+9Qq9ZyMVNhMNjWT2IM2rNzVUFct697rbZwS5OjJQENLbRHSY1UA3/unrDF?= =?us-ascii?Q?YY//X4halH+5/pVj390rchTHwKQ9V6kYnpXIJirvsb95dcutfXnvtGPbR5bz?= =?us-ascii?Q?jdp4eH6T9VrAscD6mOUuYE+zTy0ZCoa3RSjkpi7kwOZrUtiH6Ec69KieOlS4?= =?us-ascii?Q?pHuLNjLE0yvIDRuYSH3/D+mEc4RjLNzuIALZvZvVDwbtqEIx6GmOkBxqA+Bg?= =?us-ascii?Q?YpeTS0QvyBi0F+PsY839SoTXIxGHUpfRwj/K3X/+GFgR03xH2QRx/0X0qr0B?= =?us-ascii?Q?HbG2iZ8yEojLEn+Z/76mXPSAkC6RMnFXhuBM+mqVKmerTG7+bQhckaQ0DhYr?= =?us-ascii?Q?HZCq1qdU3zNgWzS6hgOrcvrVfI0Fcx0nKQXkNV/V3mjdhtJkHFeNK4F66r5n?= =?us-ascii?Q?Nl1g0R/C0Avzqk5IkqbpVqc9pHQrDEsmHY3eQP1ppx/7u2o29p0u+kH5prtn?= =?us-ascii?Q?RgYaC4n2P9D+S+8RpAIbaHR2ULRpYf9ULTw9u91g3wvLAHIDdC1IDUMzNZk2?= =?us-ascii?Q?8R/Rqnw/P0e8LfiV9hhEflRdPlJG63Gb4CGre13AnrFP72iCWVB9/sO7p804?= =?us-ascii?Q?M5HQ0SOaoFCEp3P6DH8wHdrRPqvRidGoq0HXhqO7GE4MkcXLNTj6FAZejxmC?= =?us-ascii?Q?xmGzdkXPPinXWwSsSOaQ8QS7JKS2uVhQjjSInErDGcnGU43htNhch3o5WOuk?= =?us-ascii?Q?5hdVIWWJqVLwyFxgVc/QJvnTeeCaClCdrCJwKCQHTxvxczHRvsV26EYOahZv?= =?us-ascii?Q?kZbPpSOY?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB2762.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2020 19:00:55.0933 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-Network-Message-Id: 9fd261be-6b51-4ff1-971d-08d89ae26cd4 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: d3oi9ivhiued37vL6H2uO9qeEI8V+QPd98jzShoe2s5amHH0RAqwrMTOFs+HrrvGE5ci8uDMIIbxQ+zn4zz24g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4561 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 Cc: Zoran Zaric Errors-To: gdb-patches-bounces@sourceware.org Sender: "Gdb-patches" Following the idea of merging the evaluators, the get_frame_cfa method can be moved from dwarf_expr_executor and dwarf_evaluate_loc_desc classes to their base class dwarf_expr_context. Once this is done, it becomes apparent that the method is only called once and it can be inlined. It is also necessary to check if the frame context information was provided before the DW_OP_call_frame_cfa operation is executed. gdb/ChangeLog: * dwarf2/expr.c (dwarf_expr_context::get_frame_cfa): Remove method. (dwarf_expr_context::execute_stack_op): Call frame context info check for DW_OP_call_frame_cfa. Remove use of get_frame_cfa. * dwarf2/expr.h (dwarf_expr_context::get_frame_cfa): Remove method. * dwarf2/frame.c (dwarf_expr_context::get_frame_cfa): Remove method. * dwarf2/loc.c (dwarf_expr_context::get_frame_cfa): Remove method. --- gdb/dwarf2/expr.c | 5 ++++- gdb/dwarf2/expr.h | 3 --- gdb/dwarf2/frame.c | 5 ----- gdb/dwarf2/loc.c | 8 -------- 4 files changed, 4 insertions(+), 17 deletions(-) diff --git a/gdb/dwarf2/expr.c b/gdb/dwarf2/expr.c index 91d0b99640..6ba8b90c58 100644 --- a/gdb/dwarf2/expr.c +++ b/gdb/dwarf2/expr.c @@ -29,6 +29,7 @@ #include "dwarf2/expr.h" #include "dwarf2/loc.h" #include "dwarf2/read.h" +#include "frame.h" #include "gdbsupport/underlying.h" #include "gdbarch.h" @@ -1226,7 +1227,9 @@ dwarf_expr_context::execute_stack_op (const gdb_byte *op_ptr, break; case DW_OP_call_frame_cfa: - result = this->get_frame_cfa (); + ensure_have_frame (this->frame, "DW_OP_call_frame_cfa"); + + result = dwarf2_frame_cfa (this->frame); result_val = value_from_ulongest (address_type, result); in_stack_memory = true; break; diff --git a/gdb/dwarf2/expr.h b/gdb/dwarf2/expr.h index 140d3c36db..5abb870f88 100644 --- a/gdb/dwarf2/expr.h +++ b/gdb/dwarf2/expr.h @@ -192,9 +192,6 @@ struct dwarf_expr_context /* Read LENGTH bytes at ADDR into BUF. */ virtual void read_mem (gdb_byte *buf, CORE_ADDR addr, size_t length) = 0; - /* Return the CFA for the frame. */ - virtual CORE_ADDR get_frame_cfa () = 0; - /* Return the PC for the frame. */ virtual CORE_ADDR get_frame_pc () { diff --git a/gdb/dwarf2/frame.c b/gdb/dwarf2/frame.c index ce1f9e2763..4cc0ffe3c5 100644 --- a/gdb/dwarf2/frame.c +++ b/gdb/dwarf2/frame.c @@ -248,11 +248,6 @@ class dwarf_expr_executor : public dwarf_expr_context invalid ("DW_OP_push_object_address"); } - CORE_ADDR get_frame_cfa () override - { - invalid ("DW_OP_call_frame_cfa"); - } - CORE_ADDR get_tls_address (CORE_ADDR offset) override { invalid ("DW_OP_form_tls_address"); diff --git a/gdb/dwarf2/loc.c b/gdb/dwarf2/loc.c index 8913051e4e..ecf1020b3b 100644 --- a/gdb/dwarf2/loc.c +++ b/gdb/dwarf2/loc.c @@ -657,14 +657,6 @@ class dwarf_evaluate_loc_desc : public dwarf_expr_context struct dwarf2_per_cu_data *per_cu; CORE_ADDR obj_address; - /* Helper function for dwarf2_evaluate_loc_desc. Computes the CFA for - the frame in BATON. */ - - CORE_ADDR get_frame_cfa () override - { - return dwarf2_frame_cfa (frame); - } - /* Helper function for dwarf2_evaluate_loc_desc. Computes the PC for the frame in BATON. */ -- 2.17.1