From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id YCX+K/R7zl9ETQAAWB0awg (envelope-from ) for ; Mon, 07 Dec 2020 14:01:08 -0500 Received: by simark.ca (Postfix, from userid 112) id AD29B1F071; Mon, 7 Dec 2020 14:01:08 -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 597BC1EF4B for ; Mon, 7 Dec 2020 14:01:07 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0F694395184B; Mon, 7 Dec 2020 19:01:07 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0F694395184B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1607367667; bh=wU8oVGyU4bS2/gz6fhd7Lh071Nl783/o+LNMClPqXlE=; 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=q7WuRJuwng95qVHC7MhRchUoyM5IbyzW00M0pE/NZnjtcchCpIroIIEy+ga7Wv91j l1ydMELLUuaPO7Egxd9uQG9pJkjf/MkSsut79ap7mZ8l5tKgBGuUbBNweI0PrVpGUd gUbH9/cI2EJRdy0WP7yZHoiFbUsgErT+ECQWA5j0= 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 AF7113947C3B for ; Mon, 7 Dec 2020 19:01:04 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org AF7113947C3B ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=niPb7yNxLgxxEA2XD4i7hvm3wkYlTqOq9TXVJv1ffscxKzhGI06Y0Xd+1N2xeK9Dnh3ueBrIscegwlRzw10cY7BAbNOnn9PIMo5puPX1w+jPB0xDXopVClUMxZU4czQlkeieVcBSE4EGXgDkKYSpxFr73cLZmFf3xiXwix1+htkQI1wpo540rnV4f8u0UruS2UQW7/hhuTwK/7XKY2Nt4C4+T9sS/EKKPeexCJl2RcTIQVT2TR/k7w9/GeJbKH3DtmZ1XsZCmg8WYAecEvqpDXBSPD+YnaR1+a0CJSkzBsExSUwpa2d35/a9Dsm1QSY5FaKYxebDOASG9wQ1eaYBwQ== 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=wU8oVGyU4bS2/gz6fhd7Lh071Nl783/o+LNMClPqXlE=; b=CZWDe4HTHJSlZWM7gxgELHHzDgk+5sViOQJ7AZ1puvSvThxqOAVJVONOGKb3OoGl5rTY9U9wQD15njQZiyqubY0M8CWJogiUyK2z1jJhu6xvniNghgfh9Owhr/20/Bi/9vuILK6YuNnlGW3V1b1HfL1D81wIz08Z4x2c7TgArX5ZZLVdHbCWViuOQOG1yUPzk8KT6LM6W4GFy/8fsfIBY8ZdYl2o3oHdTHNCensWqoPKpW5/xMB/c1L9lcAB552jbywB3h8naWdNsNojYDpGBrmvdJk36rbb+xxNEnWiJTqeOSoHWM9F0Ljhi5ViN0iqMZMs7zrFNOs26k+/TWquzA== 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:59 +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:58 +0000 To: gdb-patches@sourceware.org Subject: [PATCH 06/30] Move get_object_address to dwarf_expr_context Date: Mon, 7 Dec 2020 19:00:07 +0000 Message-Id: <20201207190031.13341-7-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:57 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 0f7501c0-2dfd-4d01-7152-08d89ae26ef0 X-MS-TrafficTypeDiagnostic: DM6PR12MB4561: 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: atpcwoezGQi+INwQWux0YBz3vFdmFwtOC5ocgV9GVtVge6oLdzyDPrf6zxo3s2kaIAz1hTZzEpZC3hljtTfByflB/AB/8GwKjfetoq4ZM6sGHQheisgBW4U5za8adQO8iPDJcfXjbvGMyO2RsAIoFgx+en+4AAAg75PHXIVcvbsUkbXsdKrJ6OEeiSU0Eo86DmFNRB2mL2ZK3rA90dmq1y+7z7ZubLJ5BNPIXGf5ZzfYBbguD2X2GM9Cy6g9gP2Nu+9wfuYiI6nwgUYUuK2BMGb9ZZi1bCgFdqVSJvCZcBhGGSYCgZmKQt1Z5LRf3mOY8Xr3CvHTLhg/Jt3SrCLnRYidJyeiRDEkyEAiW4chli2kKTgTRB6H+k5mONa5L6bj 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?zs2khi4knddgZlJZvGCZk+q+wJT9ZgWZaXmKgO4VV0q5Q8icyVSip0JARheu?= =?us-ascii?Q?dSZ+Q+bmO7YkcjuOZSvsXLceb3gwBQnCyNrO0/WtUGeQLJezlBouSvTQ43O+?= =?us-ascii?Q?CJTVUXrrC1KnzZlIjNu6UImt/JELnXmn2OoI/NYZiv3G6D29WkeNsu+C0G5g?= =?us-ascii?Q?LPzFhI4IfSpmFliLtMk51UGgc3tQdR1QAdDAUVW2u+Np/OZJthn/Qgx+su2V?= =?us-ascii?Q?JPVD4kFScfkSfBd26EvZr/1CNylcpBOVvElgbGXDuG7dLAXyJiI7o0fgiJYT?= =?us-ascii?Q?TJNnForbYxUXhyiRGJwT8BZmkc80kk3hLiOubvYHteYs41qua3pihgUD3i51?= =?us-ascii?Q?A0e1Hmpf3Zy9e7yKr4QDUAgzypTEEyOEZT24qFLxOsUfeuNeZouWrHjroz0s?= =?us-ascii?Q?BE7f6wnGQJ7e2V1PE/6atojOlGN3kIyFUyNnQDZ3tEDH+gyyEGOAffC1dlcc?= =?us-ascii?Q?3iilutGpvrbsnHKI9ymmvrJqo98Sg3fZi3bbLsdD8zP+zVyBk3K/SkGzWc/R?= =?us-ascii?Q?7KQZNLB11Hx7mulYYfBVweRFgxf76IK/Fcp8PpyxZUXVasshgqLjoTu5izIH?= =?us-ascii?Q?G9l047MWBipqdV9nrMnfqCcF2J3wgQFJBuA6OAvD8EMvuNl68+Pr3AZixiqP?= =?us-ascii?Q?w+ciwzP8CD7IMfgk7Ykj1qJS+xfmrrGzXULwLiLwJ8qPWXvEJXJdJnFyzhqp?= =?us-ascii?Q?Siuu57Xma+VNYTKZYeHj9b3glRjND1U4D8AQa++9Hn45DLJor+IrMQgXA4dI?= =?us-ascii?Q?a8Qox7WLxOERbydcT+lG1uIDsslZRVY/Uu6VvrRTkYEZzOPE1+fRssOGXG2P?= =?us-ascii?Q?zuNE7CJmebh9WNqQFbRgEOT+ss/Ottunir1mv3ZKE6P2quEqHen+fxLDyc5a?= =?us-ascii?Q?4WMqwXm9lDp6lzjejfOg0wN4bON90d8rPHNofiPT/0ptGclVSXa/v9fZigeQ?= =?us-ascii?Q?1zt8+jhpHm6Wc2wtwy8SKOVFDngLbKMLeQ2LL0pdItaPCUG7oUshgLLPh2LJ?= =?us-ascii?Q?bmVgHBvPIPaxIQehUAvIuRFEpUVPLPyd1xGojCd9/XimSQ2tA1O8UVCUgDj/?= =?us-ascii?Q?KJ2cAAm1?= 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:58.6713 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-Network-Message-Id: 0f7501c0-2dfd-4d01-7152-08d89ae26ef0 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 3SnWtQcsWkoO+/P9v5NkNQc5h1r/AxDY/BJnw9RMNa3rArcYwMeuq7L3LrYOSnawtafGeTSMy1wKKH+d0AfOLw== 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_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.c | 3 ++- gdb/dwarf2/expr.h | 10 +++++++++- gdb/dwarf2/frame.c | 5 ----- gdb/dwarf2/loc.c | 12 ------------ 4 files changed, 11 insertions(+), 19 deletions(-) diff --git a/gdb/dwarf2/expr.c b/gdb/dwarf2/expr.c index a5144b692d..e6a9e877e4 100644 --- a/gdb/dwarf2/expr.c +++ b/gdb/dwarf2/expr.c @@ -134,7 +134,8 @@ dwarf_expr_context::dwarf_expr_context (dwarf2_per_objfile *per_objfile) initialized (0), per_objfile (per_objfile), frame (nullptr), - per_cu (nullptr) + per_cu (nullptr), + obj_address (0) { } diff --git a/gdb/dwarf2/expr.h b/gdb/dwarf2/expr.h index eb765a28a2..e3e8bf8ae5 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; + /* Object address used for the evaluation. */ + CORE_ADDR obj_address; + /* 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 af5302bd98..96bfdc1452 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 5a2b1b2851..c1f5457e1d 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