From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id L3fZDV3x1GK3WxUAWB0awg (envelope-from ) for ; Mon, 18 Jul 2022 01:36:29 -0400 Received: by simark.ca (Postfix, from userid 112) id 2149A1E87E; Mon, 18 Jul 2022 01:36:29 -0400 (EDT) Authentication-Results: simark.ca; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=qXyvLnhf; dkim-atps=neutral X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-3.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 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 35BEE1E13B for ; Mon, 18 Jul 2022 01:36:28 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D46B9385482D for ; Mon, 18 Jul 2022 05:36:27 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D46B9385482D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1658122587; bh=ccyhP20SymYY/opDMfeMsC9ItF9+keM6Fa59LcCKU70=; h=To:Subject:Date:References:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=qXyvLnhfNNgGAszCEYUkSQIYe4/GwyyrW/zz4lJM7t0ZAIOKh05hPQMZpqKycfrxr f84uRC0pryt1r8V+gPOwMlP54rkC1X0sz0xmGsFs1XwdyZILQx67LBhNB/duHmEe2T pQIVC3sinwQ/4T0uSP2A4+5O0Ppgx3Dyk0YrMQLw= Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by sourceware.org (Postfix) with ESMTPS id AE9FA3858401 for ; Mon, 18 Jul 2022 05:36:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org AE9FA3858401 X-IronPort-AV: E=McAfee;i="6400,9594,10411"; a="265920798" X-IronPort-AV: E=Sophos;i="5.92,280,1650956400"; d="scan'208";a="265920798" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2022 22:36:06 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.92,280,1650956400"; d="scan'208";a="686616517" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by FMSMGA003.fm.intel.com with ESMTP; 17 Jul 2022 22:36:03 -0700 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Sun, 17 Jul 2022 22:36:03 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX609.amr.corp.intel.com (10.22.229.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Sun, 17 Jul 2022 22:36:03 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) 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.2308.27 via Frontend Transport; Sun, 17 Jul 2022 22:36:03 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.171) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Sun, 17 Jul 2022 22:36:03 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RmX9AMU4DBOGCcWwm7kcJYhq5KBgi9x+OgkJEXrVf++/PDA7FhlanctakoQJdaylpZcMPxIsYlkwxHSfpsxIFyC84jqQVn2XhQ5tBfrYS1pZxvZ+98XIpRRPM1w3Rex3vmmRhzwPSXvqcJBrHhYraTx0r3ZxWewziRoDDaL4nV/d+qEhWpkzUSypGLkVOGau84PDLyNLFkrAGCU5BusiNw4ID8WqaY/UhnaUJE1D9Nc2CUD2Agl7Shc43X057OW4n0SVlBe1OqD1i8/HRMMX4uqYsb062NfpsUdIUaeed56y6MomWX7/cu/QrkDGSgrxtZ1uw8ROHaKsfbbs4LkB+Q== 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=zTvF1xeJNVepHnVdS4fqvEnDOf3sy9LUoXxc1MzS3mY=; b=gkAW2UVzY4vELkrldbT05Yj8zg3LlwxhrUVh/YBDLdCx3W+MY94sG+unoNx3ib0/JIz1RxXBPg2xgbpF8+mfZyWPEM0YOajBFEUFQalIj1MnEnOzshapKT1zDjf6ZhQ2TcqkPV8i061n4rLxntT10aErGUjbpxs4+KefZ+Iocod4QPonLwSZW+gcICj7v/WjSToHyYwdT/YE3A8sN0G2mQNrX5D4XstfQvgJxFkiEbfie2gBdProPrSI0GPn35ILwH71/jxJPNp9DWFQlYkHMn+qmOgiiIK4TShhi9odhawqaTJDgjXAivsbAseFkZJWQcCvWaVOSSX6R3eSrq2vSw== 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 DM8PR11MB5749.namprd11.prod.outlook.com (2603:10b6:8:10::15) by CY4PR11MB1432.namprd11.prod.outlook.com (2603:10b6:910:5::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.14; Mon, 18 Jul 2022 05:36:01 +0000 Received: from DM8PR11MB5749.namprd11.prod.outlook.com ([fe80::f9d8:e8a8:94ec:58db]) by DM8PR11MB5749.namprd11.prod.outlook.com ([fe80::f9d8:e8a8:94ec:58db%8]) with mapi id 15.20.5438.023; Mon, 18 Jul 2022 05:36:01 +0000 To: "brobecker@adacore.com" Subject: RE: [PATCH v5 10/15] gdb, ada: update ada_add_all_symbols Thread-Topic: [PATCH v5 10/15] gdb, ada: update ada_add_all_symbols Thread-Index: AQHYdo0ndIJn6EeTUk2Mt3QRO5uR662D4srQ Date: Mon, 18 Jul 2022 05:36:01 +0000 Message-ID: References: <20220602132514.957983-1-markus.t.metzger@intel.com> <20220602132514.957983-11-markus.t.metzger@intel.com> In-Reply-To: <20220602132514.957983-11-markus.t.metzger@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.6.500.17 dlp-product: dlpe-windows x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: eece5c35-45d6-4ec3-3794-08da687f6682 x-ms-traffictypediagnostic: CY4PR11MB1432:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: fWgRLZEiNFjnJ7wDG4goVOkXxt+SwFaFrXjEcoaAD4tZ44ce4mIQBX0OtOUJm0J1P5EjfymLnCyrYTjyGVdR4jb+IZin5sYlWhZIk2BVhLmu1mKY5gUBRZJS7+xWemGwZfrNaD1QP2aL941uYwbkCHjeAIztfHvQL6Hq25nicxk0qRSal0sLsh50SZXFTKp3szCtcsfrFkFI3s2vv2smwbAsf/qHxLaYjKt9U2ccis1nMvZA8SkCRyiaftqpeKIjy0IznLChqZe5KAzI5mUUIow7R3Urb1XD7eyyHgKf3DF6Vf5d8gxIgJEr1lNomzI5Qp07EDylDnX+XjnddZJZGJCqXvW7pkFe99EGK//jC1qGpCoHVx435K8NxFRuAwhoCP7UbA8nDxPOKblVRsY2jrHzJ9yPsUJ84EzYRJRpvToJfEB5WB6CcNRoHHzNLhUUvNuDibXa9hZ84RTZQJCg+7Ul6MHeCJZOan/V8BeGyEH18B6XPXkemuCuOzHnI/qe7/kaGZDqcXpjBgRz222MI/ou1QL7fJ9XCXvnbWUbnVAh6LwCE07P7c7CBtXSgFvZa8noiU1nmgWQnE2MoX+XSCz/0ezZVUtaWtQdYXDd1Sd12ju0U5euKsnS6wdMJ+ZlAM61A81FQ26F3+6CjZr4JGG+sUvmirB2625qDrc9pddSFfYeeewmAtZFxCwN/O25LLUNCwtbO58+Z3dvx1Ydtu0FCoPvEs5GHv9m8yOZKKaUWrMfLNLE4nGWfn6sldu1GnPf5PBcqvYOQPgJFjbqxP4GL4fU3czh37Ud5HDs3Wz2f9KdhvG2944BIJxk3aNX x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM8PR11MB5749.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(376002)(136003)(346002)(39860400002)(396003)(366004)(71200400001)(82960400001)(38070700005)(41300700001)(478600001)(26005)(6506007)(7696005)(86362001)(9686003)(54906003)(316002)(6916009)(83380400001)(186003)(55016003)(76116006)(64756008)(66446008)(52536014)(15650500001)(5660300002)(8936002)(66946007)(4326008)(8676002)(66476007)(66556008)(2906002)(33656002)(38100700002)(122000001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?PZVlGw0ukmlBRqunWCxLVxfkbs1mFtJxB8PYDIKlpDluyJgQqLRhtHlLYfMF?= =?us-ascii?Q?f/8blLxtKoi6M95D726rPxJpq8nhuFgTaBjBRy9rr4CccZZ34GoaZ5htkL6T?= =?us-ascii?Q?pBo2dz3XBy8Dh+gVy69q/A79PHWrJajjLQ7xdmpTlvRPfTPPHqrZfqcQO4LF?= =?us-ascii?Q?QVnKX7BUaJ80Guioaj3JtVthFduIUreIOJENWFIn3/ahHPt/hovuZC4ZARhR?= =?us-ascii?Q?qvNWuDG2BSOwHF/niXW0gmoObzwwX+89aKvDzaPiZHmHEpddzcf7LiojY5TU?= =?us-ascii?Q?zmGeJxCLxVAM59OP0SiLZb78mSUFG3oKntKGqCAdE6E9M0bHGYmnk8bUOKhV?= =?us-ascii?Q?rqFsDbvj2Kei1F9F3qO61lDZ5h/eyrfzZ9e9S8dkbELKIfex2monpCvnIeaU?= =?us-ascii?Q?L1GzDhG7yFkSEU5rl82lVC5Qamq4YSjMPO4ypADcdDul/3TTXgW7mS22tu0c?= =?us-ascii?Q?1ur2p/cH9XXABlafffOhwQnyrpwPBlDj/OzgFfOdATDXUkGPbEX9HPJ1EjQP?= =?us-ascii?Q?W94Qel3x/uSfqYp6uv7xohySYXC6jZ5c36AUV56pK/91lBgtkPJoMvA7CRyB?= =?us-ascii?Q?3UPbp5sJCzA93qRu0E8YyHx7OUkfAOPYkXBFKPwGreXkHtYn4/GjE5kdYtTT?= =?us-ascii?Q?KJEgACBG1WtI089jAwU1UBs503ZILlCROIETj02eh3BigLVNL6AfVd83/BHl?= =?us-ascii?Q?lWf2gI6oEFqbWnGxW9WEtGb0AFFdUgYe0M1EV8QMGkqaRNmvCXVtKAANJO5n?= =?us-ascii?Q?Xb/WW9ctN6uOGLC4EUpkwA6rX/0q0pmWAD3kp4us+/rDT2Ic4S+KnJH8Csmb?= =?us-ascii?Q?lfNkRznDSFT+/zoNqnS0VGzGRuXW+FQ+qlWXbaLUtRuaDVfkb/X/LRw9ZkE1?= =?us-ascii?Q?0Rd/gx0s/rYQ76h7k0qX21iMEt7SLozLITfAn45ohwJL4IUujb5SNTCtxFvS?= =?us-ascii?Q?ZmqqSimSII1EPL/907jEDkiuVK6NKtKfvfUjUBg87cL71dWi6lhL5/EMx4D1?= =?us-ascii?Q?G6hZ2YCW5nwJHRmjZWyQCLoCzkQyvpFXity/WsxsQygGkF+dFytIDGQcqKr+?= =?us-ascii?Q?2wqcmD3CcWj7KKeiQzL2jQWLfBoj38WTcdBPGj//a0Ki3jNPre/C0weUGNf4?= =?us-ascii?Q?eUCEAZCUi1NYG69CyY6yL32Bn2I82xKWg4TvM/Z6frjC5fBtZdTq8L1K7D8h?= =?us-ascii?Q?Rkv1mw6O5M4pLJYOpclN2S/s0nZo7PcFhErL5CMGpzOorSdo4a4KgSrvZbph?= =?us-ascii?Q?oxGoSx0pqgb/vGIwsQ3sWYrUW1cb1bY/h8qIqUZHzHL6wXDE8eiFsfH+Onhd?= =?us-ascii?Q?5sJI4F/gB30Pe7bcv2khngnRnsEIzV0HBJjkIZaTll3rZY0ielh7JAfCOoPD?= =?us-ascii?Q?zQyRZfvzoK2QhNGKqfhBKEf+RR3ZTsjeUFuWEyBjEZyTj6CZ/qj+60kjsHjA?= =?us-ascii?Q?uwsNrG5no03pv8IJMwLQaZRSy/F/2QGmy3LuYRSTsCR9Nf9C7qf9F2Je0fgO?= =?us-ascii?Q?NgC+2fglOXxgV/zqcftQrXspoRsk7MjfTxkph2WW/KgJnREwrkzRFzlrLvww?= =?us-ascii?Q?PNrCc7K5nvhCgH6o5AOgAaLv/MXnHvqU8HLcwYhG?= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8PR11MB5749.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: eece5c35-45d6-4ec3-3794-08da687f6682 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jul 2022 05:36:01.5822 (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: vdMpmuMFHHTrGN8vZgZabtGtnZeUnCcqnrwNZuYO7N1EufXH6O73NN8gMAqoBln8w+nd52UfPK/StTuzLACktPKPdA3Mj4nRQWRhsTjyhVs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR11MB1432 X-OriginatorOrg: intel.com Content-Transfer-Encoding: quoted-printable 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: "Metzger, Markus T via Gdb-patches" Reply-To: "Metzger, Markus T" Cc: "gdb-patches@sourceware.org" Errors-To: gdb-patches-bounces+public-inbox=simark.ca@sourceware.org Sender: "Gdb-patches" Hello Joel, Would you be able to review this Ada-related patch? thanks, markus. >-----Original Message----- >From: Metzger, Markus T >Sent: Donnerstag, 2. Juni 2022 15:25 >To: gdb-patches@sourceware.org >Subject: [PATCH v5 10/15] gdb, ada: update ada_add_all_symbols > >Iterate over objfile in search order using the objfile of the context >block as current_objfile so the iteration can stay inside the block's >linker namespace. >--- > gdb/ada-lang.c | 66 +++++++++++++++++++++++++++++++++----------------- > 1 file changed, 44 insertions(+), 22 deletions(-) > >diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c >index 20ea4c8f6aa..110c246181e 100644 >--- a/gdb/ada-lang.c >+++ b/gdb/ada-lang.c >@@ -5582,37 +5582,52 @@ map_matching_symbols (struct objfile *objfile, > > static void > add_nonlocal_symbols (std::vector &result, >+ const struct block *block, > const lookup_name_info &lookup_name, > domain_enum domain, int global) > { >- struct match_data data (&result); >+ struct objfile *objfile =3D nullptr; >+ if (block !=3D nullptr) >+ objfile =3D block_objfile (block); > > bool is_wild_match =3D lookup_name.ada ().wild_match_p (); > >- for (objfile *objfile : current_program_space->objfiles ()) >- { >- map_matching_symbols (objfile, lookup_name, is_wild_match, domain, >- global, data); >+ match_data data (&result); > >- for (compunit_symtab *cu : objfile->compunits ()) >- { >- const struct block *global_block >- =3D cu->blockvector ()->global_block (); >+ gdbarch_iterate_over_objfiles_in_search_order >+ (objfile !=3D nullptr ? objfile->arch () : target_gdbarch (), >+ [&data, lookup_name, domain, global, is_wild_match] (struct objfile = *obj) >+ { >+ map_matching_symbols (obj, lookup_name, is_wild_match, domain, >+ global, data); > >- if (ada_add_block_renamings (result, global_block, lookup_name, >- domain)) >- data.found_sym =3D true; >- } >- } >+ for (compunit_symtab *cu : obj->compunits ()) >+ { >+ const struct block *global_block >+ =3D cu->blockvector ()->global_block (); > >- if (result.empty () && global && !is_wild_match) >+ if (ada_add_block_renamings (*data.resultp, global_block, >+ lookup_name, domain)) >+ data.found_sym =3D true; >+ } >+ >+ return 0; >+ }, objfile); >+ >+ if (data.resultp->empty () && global && !is_wild_match) > { > const char *name =3D ada_lookup_name (lookup_name); > std::string bracket_name =3D std::string ("<_ada_") + name + '>'; > lookup_name_info name1 (bracket_name, symbol_name_match_type::FULL); > >- for (objfile *objfile : current_program_space->objfiles ()) >- map_matching_symbols (objfile, name1, false, domain, global, data); >+ gdbarch_iterate_over_objfiles_in_search_order >+ (objfile !=3D nullptr ? objfile->arch () : target_gdbarch (), >+ [&data, name1, domain, global] (struct objfile *obj) >+ { >+ map_matching_symbols (obj, name1, false, domain, global, data); >+ >+ return 0; >+ }, objfile); > } > } > >@@ -5642,6 +5657,7 @@ ada_add_all_symbols (std::vectorblock_symbol> &result, > int *made_global_lookup_p) > { > struct symbol *sym; >+ const struct block *orig_block =3D block; > > if (made_global_lookup_p) > *made_global_lookup_p =3D 0; >@@ -5688,15 +5704,21 @@ ada_add_all_symbols (std::vectorblock_symbol> &result, > if (made_global_lookup_p) > *made_global_lookup_p =3D 1; > >- /* Search symbols from all global blocks. */ >+ /* Search symbols from all global blocks. >+ >+ Pass the original block to restrict the search to that block's >+ namespace. */ > >- add_nonlocal_symbols (result, lookup_name, domain, 1); >+ add_nonlocal_symbols (result, orig_block, lookup_name, domain, 1); >+ >+ /* Now add symbols from all per-file blocks if we've gotten no hits (not >+ strictly correct, but perhaps better than an error). > >- /* Now add symbols from all per-file blocks if we've gotten no hits >- (not strictly correct, but perhaps better than an error). */ >+ Pass the original block to restrict the search to that block's >+ namespace. */ > > if (result.empty ()) >- add_nonlocal_symbols (result, lookup_name, domain, 0); >+ add_nonlocal_symbols (result, orig_block, lookup_name, domain, 0); > } > > /* Find symbols in DOMAIN matching LOOKUP_NAME, in BLOCK and, if >FULL_SEARCH >-- >2.35.3 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