From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.10]) by sourceware.org (Postfix) with ESMTPS id 384103858D35 for ; Tue, 21 Nov 2023 19:45:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 384103858D35 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 384103858D35 Authentication-Results: server2.sourceware.org; arc=fail smtp.remote-ip=198.175.65.10 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1700595914; cv=fail; b=TY719bB/YykxljXEXG6vIzTEZuSUQv/lDNL+ybUb7FzEqL+rC1JHzW2I74uEJBiHPDFcIZ+Xbroq84KpwlHZO7l4XN/bgzEgm/28yTulmBFqcKzRzaHwTcq79sRqdvEk3NsuidolZXD5E0+tn2uBSCngt6To0UAzGG8GCbujW6w= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1700595914; c=relaxed/simple; bh=k7RopjybGKQpkcrROOSDRPN6dNU+UavAoY3jUBAs0NU=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=YGwb+4yhDdodegxZ8QNdmUOeNjBTfFBv94hXzF2l2/4z9QpuIFOuCX1lqkpKN9R3d/lrwTHKFkrSw+Jmvf92qdb+e0AtLnzZmzEaHQwt0LMeUky3XTXnhoXjGRpp6YlZ4dPvoaQYAM4lu7XHiUAJLMFC/SdNKpGEkr9y1VemnIw= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700595912; x=1732131912; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version:content-transfer-encoding; bh=k7RopjybGKQpkcrROOSDRPN6dNU+UavAoY3jUBAs0NU=; b=aVE6E0uME35HsogEek5I5k6TXYdHWJhzWURdRt4YBWMF5UIiA7TDAvAR nGuVI86dg3uXIQiviVMrhmjDDxBQ9WaKkh0bprsMfWDLc+O38m1DwmfXx mpS07GibLPzJBqrarJPNxY25d32Cyjf8QQSha5ioyvyFAeFoArqcVJCKq 63ry3YkT84nJWvriVDSoogk3fQw+MuPQIPupn2lJig0SaY9/Zcjcditd6 VTvCnX7YzZ5rd+UPM4cL0Mevf5yIFSnlc1lgx+uuGo+8rZFHLmxs2FyWB YgYkG7F2lsY87Neix1V3AnSxzo/8X+VGOKQBbGkOSX/qIG08LeAE4Meh/ A==; X-IronPort-AV: E=McAfee;i="6600,9927,10901"; a="5109961" X-IronPort-AV: E=Sophos;i="6.04,216,1695711600"; d="scan'208";a="5109961" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orvoesa102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Nov 2023 11:45:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10901"; a="760209640" X-IronPort-AV: E=Sophos;i="6.04,216,1695711600"; d="scan'208";a="760209640" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga007.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 21 Nov 2023 11:45:11 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Tue, 21 Nov 2023 11:45:10 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34 via Frontend Transport; Tue, 21 Nov 2023 11:45:10 -0800 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.101) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.34; Tue, 21 Nov 2023 11:45:10 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QzzLFSuscDrFzZCgoy9TjxL6jP0jgam2b+gb4BngfJlbU5vWH9l9tIlT0Jk9DbsRLzk4dvqZllPzkdnjryjO7JVtE1FrrnoaIDjQqygf25QBAaB6ZximIuKc273ykBVcL5wskb6bcDwZiPWpe0t7YcChlNafZf5TtQhh20dijXJqM3Y3CIyBMRyC7cU42j6vNcbscNuwwlTvPt9NxF0l/7fxivQ4vDay605UTuKnqeXgw7QND4cXkywbSBBx9/Mk7Wul5+PBaspqsk6jTMlBk6DV4EsWaeHPLGTD90o8niJLWphHpVVW8JgPnQRlawQzELFbyz0bmOWJvDZWQ8Vv9g== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Tj/EcTX0dK2CFcVQIjLJ/w2fFT4xNBqBtWahXyFUgkA=; b=M/2iy40I07axA8ONLuUdADvgB2pnIqm9VUXLNYBepWqmjg09dvuepMKIRYphLONMPgoepwerglkHWYvT/kpr/IzWwmpwxhN2mYorBo66cFt4XEzNyvI/CjZlVBXxTfiV4IPfHp9H4HkE4OEuc2oLVtcLe4T6G0RJaOTz3785GG7cAu/2DSmqjEJmWJTGugtHzQlAZILPhv11fcMkTQFM4TqKGD0fEx2egAGGAwuQA35vI5M921FOgED+HZnQSoH+pX3KOvzuQD/gQmO87VrOtva+kiYJSQxu1efE35fPrXt1AcKql/U5rH3nUBNuaop9EdJcxDfujMOWlkpMcDSiXg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DM4PR11MB7303.namprd11.prod.outlook.com (2603:10b6:8:108::21) by DS0PR11MB6496.namprd11.prod.outlook.com (2603:10b6:8:c0::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.30; Tue, 21 Nov 2023 19:45:08 +0000 Received: from DM4PR11MB7303.namprd11.prod.outlook.com ([fe80::9597:5d8e:99f8:b993]) by DM4PR11MB7303.namprd11.prod.outlook.com ([fe80::9597:5d8e:99f8:b993%5]) with mapi id 15.20.7002.029; Tue, 21 Nov 2023 19:45:08 +0000 From: "Aktemur, Tankut Baris" To: "gdb-patches@sourceware.org" CC: "pedro@palves.net" Subject: RE: [PATCH v2] gdbserver: select a thread, if necessary, to access memory (was: [PATCH] gdbserver: try selecting a thread first to access memory) Thread-Topic: [PATCH v2] gdbserver: select a thread, if necessary, to access memory (was: [PATCH] gdbserver: try selecting a thread first to access memory) Thread-Index: AQHZxHsJPapkn7AFjEupVNXW+kNG+7CF3Shw Date: Tue, 21 Nov 2023 19:45:08 +0000 Message-ID: References: <24bc1dc1-b3fa-29e0-fc93-c202d9580a9f@palves.net> <20230801132046.3465441-1-tankut.baris.aktemur@intel.com> In-Reply-To: <20230801132046.3465441-1-tankut.baris.aktemur@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM4PR11MB7303:EE_|DS0PR11MB6496:EE_ x-ms-office365-filtering-correlation-id: 0caae385-7a4f-465d-be31-08dbeaca5dec x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Oi5A99lascrZtMcFlTjRENoBRVxGN7+1hfx0CtfrnRO1N0JTkwGpaFs3MkfDfg+DbXKD2xWlKIOy+2FzF+VSnNAngP1prKswndbCY1I/2pCGBTDCiEzMx0EKCD5kT25uW76sKJP2wx2wBkZoVqz5i78UzMX4p53VV/mQIIeX0wFkffl2uKCk88Jx/lUfHNWU833bwipTNpBiutQgO/PV4wTcvzQldKqLo57c9BmuUQkQ6x3dbsCPyTummyd941cuubrq2eQu+tU3p3yFYNVmKtExLYgRdUVClLE7te+6QiDOQyTyS6wiYFYf7PfXIO5XfmcQsCJ5G37tQ6WR9ILLraOakGDx+4P1txpkf5bSOqk3KMmiMhaI8r/Xxc5DdtW/7JNnx82GKbPVXcWYDM0spnaSyWozkPFtyZ1f9Ffnh7wGuPp/tTBqT8gG2kRGcmGvacVd3ytCJXhoCSqCZzyfw1csQMP0DSonCXz2ZAwgr9MYEUiiFp5f7gXXsyibEG0l0cz2NupV6+ypml0rBP8PDMMUJB9oismdjIyKVWX4ZeL5tA2Xbgo7L71JZZUkwP6MiRY99tO/eeD8ynh3A2KR3S8lUWWDRXUui5+Yx3iCicNpY6OHpYm1zlJm9ZjGxiHC x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR11MB7303.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(376002)(39860400002)(136003)(346002)(366004)(230922051799003)(64100799003)(451199024)(186009)(1800799012)(2906002)(5660300002)(4326008)(8936002)(8676002)(82960400001)(38070700009)(86362001)(33656002)(38100700002)(41300700001)(66446008)(122000001)(478600001)(76116006)(66946007)(66476007)(64756008)(66556008)(316002)(6916009)(26005)(83380400001)(53546011)(7696005)(9686003)(55016003)(52536014)(6506007)(71200400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?kjRM1Ul/sqrKy3I5grXNORjLJgrzXcoTz812Al6zm0Ulm4AXQ51Cb8s+cSQn?= =?us-ascii?Q?T4Myd7C7CtfwisEgyzFY/pKLPMAGTcrEjifD2eO2QbC0eeN7gpstk7gqUDIg?= =?us-ascii?Q?8Jjy7cbyQ4yV3abpFCe3oiJXvYhJpaorBMVGLdrVmjO9KzqyI+Qegs5Dzkc7?= =?us-ascii?Q?xKv0yB5nnjrkcfhdUoBD+egTXUxQkVtN3mC0f269KYTHQX0pMmBy5ITf4fv8?= =?us-ascii?Q?mRTAzRJtZpo/TfS7j6kEzHDP8r9Bj4LkTm2asQlQCilUZCLSjUefcMAH3HtX?= =?us-ascii?Q?23sAqLSPizL6o0VyTqnhtxc5C82tvspoILepSHdRAK9JS1Pdordw9l/3pOJn?= =?us-ascii?Q?NN/VeujqrxineRS7tUy+A1rkjtPY7bo1ossze1xdi15kujKrob2UwpOsMbSX?= =?us-ascii?Q?Q67lu15K2Ej0wfN8UknfUeMk6qML62gfYmBEWmtmqrr4IGiYyTceQiUNtfOL?= =?us-ascii?Q?dO2QVzmOgPxaYk+xRA4Fm+JeELmjcE20WpKoDUOuIFu9khZY2p2iDpMvtrYe?= =?us-ascii?Q?auwinHH0s8w10XEKRd5OWReOwy9uEmviKIa/yDBh5s0nZoQPBGA9lbayCM4A?= =?us-ascii?Q?EGMMzE3B6EZIetnlLuunZVCmmQ8AB29JHF7ENTl7cf//K6hY8RrdgGUbhjrh?= =?us-ascii?Q?zB/0OFLSAZLUAXrlvc8IL0FRqxjYb66bzDWqydw02HZCL2vaAMRtC8N0PYOu?= =?us-ascii?Q?DQyNeDNhnDg4wkMPKhD6VAunLySZnxdwy+MqjbO58+quusDdQxrbXUSeP47g?= =?us-ascii?Q?U+ei2I7HHqTEaBBlvJ6ck7YQ1DPepPVdGJTosahrijTAW9mbBcYHI69xIms8?= =?us-ascii?Q?jKtHzI0b6gDy5OS3h8snuUw2hHJtRpLBZNT1KWoSWm+WSbzC8RuNUBprBxcL?= =?us-ascii?Q?FJtMpMjFWy0/k7ZUxw9cq3Xe/3BUp8KDHA0Dsr/r2mNOg5MGRh41UTaFWBR5?= =?us-ascii?Q?TIKrNUzEw/arL/G6gcJk1kxZrSYp5yH/o7Pd7xyBj75hMROgLIw/2xxDcI9u?= =?us-ascii?Q?qYlDa5LEdLi8lRkNTnnyu/SVezZ91LS+qpDYrMQr0liQSGtoIOncYiV0ni5D?= =?us-ascii?Q?45eYndKMPV8ylTKE42ramnV/x2+8kMXM44pFfiMWYjgvR7zXYgZZXCHaz1XH?= =?us-ascii?Q?34CGpUr4UYeE5G+rtzre/AaSIUp4lsnjQFYoNHUXWdYvqiw/bf1nVm28MUZB?= =?us-ascii?Q?5NoeJyoGwi8HfH+hab8C9NF9lrSRCGheJQ6jg4WsF7rRYB+mZig9y1DcqsKq?= =?us-ascii?Q?65Q+GviUBwRuDva9D9Lhc4hpRXamafs/zDusikmjIqBFIm9T5ao6sGzIBMMg?= =?us-ascii?Q?jsSu6LWbgQgaJcnXfeM5B9u+0Q6yeW2wOxfQlS87/iA+lbolj4wwolH67wbR?= =?us-ascii?Q?LsEsIcBYbmRr/xLmegFKeF9cc3KW3FFPE0IaeLpzjJazOucsUdYvppmbRF0U?= =?us-ascii?Q?4O7dGOour2LAVFBOzYCO2RRjxZQEuVPI0LCIVAYiiHncL7WqdOobuI6nIKvZ?= =?us-ascii?Q?SIuoYHlPs3kU7ydOPyRPMNzVNQriOLlnFpJW15+Zytn/RpRhkriWk1trFhyi?= =?us-ascii?Q?2dMK3n00wGaEkh2RyWHR1JC9jfu1mr3dlPm/AAcen+AKmKqAdRf8Lj7Cc7U9?= =?us-ascii?Q?Rw=3D=3D?= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB7303.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0caae385-7a4f-465d-be31-08dbeaca5dec X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Nov 2023 19:45:08.2615 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: EQNL7vt58237V871Xz2ElQ+fXopzMLWMoqgkcyFuruqv9/Rd1ZsugWlE7XL/zBvcRDGFFcOb3lFeMXAwPjoz6L8z7KZV945Z68DIrn+lQi8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR11MB6496 X-OriginatorOrg: intel.com Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-11.7 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Kindly pinging. = Regards -Baris On Tuesday, August 1, 2023 3:21 PM, Aktemur, Tankut Baris wrote: > = > Since commit > = > commit 7f8acedeebe295fc8cc1d11ed971cbfc1942618c > Author: Pedro Alves > Date: Tue Apr 5 13:57:11 2022 +0100 > = > gdbserver: track current process as well as current thread > = > gdbserver switches to a process, rather than a thread, before > processing a memory access request coming from the GDB side. This > switch sets current_thread to null. Some memory accesses on certain > targets, however, may require having a thread context. Therefore, > switch to the selected thread, if the target would require a thread > context. > --- > gdbserver/server.cc | 16 ++++++++++++++-- > gdbserver/target.cc | 6 ++++++ > gdbserver/target.h | 7 +++++++ > 3 files changed, 27 insertions(+), 2 deletions(-) > = > diff --git a/gdbserver/server.cc b/gdbserver/server.cc > index c57270175b4..44642a64215 100644 > --- a/gdbserver/server.cc > +++ b/gdbserver/server.cc > @@ -1072,7 +1072,13 @@ gdb_read_memory (CORE_ADDR memaddr, unsigned char = *myaddr, int > len) > /* (assume no half-trace half-real blocks for now) */ > } > = > - if (set_desired_process ()) > + /* Some memory accesses may require having a thread context. > + Attempt switching to the selected thread, if necessary. > + Otherwise use the process as the context. */ > + bool need_thread =3D the_target->memaddr_is_thread_specific (memaddr); > + > + if ((need_thread && set_desired_thread ()) > + || (!need_thread && set_desired_process ())) > res =3D read_inferior_memory (memaddr, myaddr, len); > else > res =3D 1; > @@ -1093,7 +1099,13 @@ gdb_write_memory (CORE_ADDR memaddr, const unsigne= d char > *myaddr, int len) > { > int ret; > = > - if (set_desired_process ()) > + /* Some memory accesses may require having a thread context. > + Attempt switching to the selected thread, if necessary. > + Otherwise use the process as the context. */ > + bool need_thread =3D the_target->memaddr_is_thread_specific (memad= dr); > + > + if ((need_thread && set_desired_thread ()) > + || (!need_thread && set_desired_process ())) > ret =3D target_write_memory (memaddr, myaddr, len); > else > ret =3D EIO; > diff --git a/gdbserver/target.cc b/gdbserver/target.cc > index f8e592d20c3..85efe6d88c6 100644 > --- a/gdbserver/target.cc > +++ b/gdbserver/target.cc > @@ -832,3 +832,9 @@ process_stratum_target::get_ipa_tdesc_idx () > { > return 0; > } > + > +bool > +process_stratum_target::memaddr_is_thread_specific (CORE_ADDR memaddr) > +{ > + return false; > +} > diff --git a/gdbserver/target.h b/gdbserver/target.h > index d993e361b76..bde2fb2eb4c 100644 > --- a/gdbserver/target.h > +++ b/gdbserver/target.h > @@ -508,6 +508,13 @@ class process_stratum_target > Returns true if successful and false otherwise. */ > virtual bool store_memtags (CORE_ADDR address, size_t len, > const gdb::byte_vector &tags, int type); > + > + /* Some memory addresses may require having a thread context. E.g.: > + an address whose upper bits encode a thread-specific address > + space. Let the target tell if MEMADDR is such an address, so > + that the server can attempt switching the context before > + accessing the memory. */ > + virtual bool memaddr_is_thread_specific (CORE_ADDR memaddr); > }; > = > extern process_stratum_target *the_target; > -- > 2.34.1 Intel Deutschland GmbH Registered Address: Am Campeon 10, 85579 Neubiberg, Germany Tel: +49 89 99 8853-0, www.intel.de Managing Directors: Christin Eisenschmid, Sharon Heck, Tiffany Doon Silva = Chairperson of the Supervisory Board: Nicole Lau Registered Office: Munich Commercial Register: Amtsgericht Muenchen HRB 186928