From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id hNyTMrvlBWNTfSwAWB0awg (envelope-from ) for ; Wed, 24 Aug 2022 04:47:55 -0400 Received: by simark.ca (Postfix, from userid 112) id B7B421E4A7; Wed, 24 Aug 2022 04:47:55 -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=B1nhv14+; 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=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RDNS_DYNAMIC,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from sourceware.org (ip-8-43-85-97.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 D22371E13B for ; Wed, 24 Aug 2022 04:47:54 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 9F23C3856DD3 for ; Wed, 24 Aug 2022 08:47:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9F23C3856DD3 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1661330873; bh=8oAmn1up02Z+i3xjuIOv6I8llP3z5hhV8dBJo7IlrXc=; h=To:Subject:Date:References:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=B1nhv14+yVaDFxzVVsoDchDxmvG6fskK5hGdDXkGl8+gK0JBeGDA0DAvfwbnFVWq4 qMxdw6uGQ15P7REClVaFlj5zdWpi4LxByN/FMsZG/XpY95gJeGxTQxELM/HZP4lZx8 DAgn598P3O/XNw43cAnueoOxCVF1L1i4c/gSLzwY= Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by sourceware.org (Postfix) with ESMTPS id CF2F73858CDB for ; Wed, 24 Aug 2022 08:47:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org CF2F73858CDB X-IronPort-AV: E=McAfee;i="6500,9779,10448"; a="319967259" X-IronPort-AV: E=Sophos;i="5.93,260,1654585200"; d="scan'208";a="319967259" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Aug 2022 01:47:30 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,260,1654585200"; d="scan'208";a="639027160" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orsmga008.jf.intel.com with ESMTP; 24 Aug 2022 01:47:30 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 24 Aug 2022 01:47:29 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 24 Aug 2022 01:47:29 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Wed, 24 Aug 2022 01:47:29 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.101) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Wed, 24 Aug 2022 01:47:29 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jT4l8QkoHgSPyk84jnui2Zu3eIni32ZyL4JtPNvRTCimwMa5d7XjXkzLDv2fW1HzKQJGzbNm1WxCa1WE3u8WltpeBSl3Y8rpMMaqj1yO8B82b78KDGhII+e9WWNGVsqUDMyLHRcKvx+oYZVwybyIw0q2WbyGXsKH2/a28HEbeMW9C4t1X0Zay5XPtDt+5q4gJvyl27jxCgAsoBGXaJHN0FoD23rSW9pqqESkD/1LDHZYQYTnO8/w5wUQowSqKKxx5LZl5IOlr5q/j2TFi72qmcL0prSgmyTjzGufb0ucsf2OkxZAHN2pGOsPffrBrsVqmpVEkAIe3QlsnhFbxPInAw== 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=MDatWT+yvFafKjBjwZPB308LamZwwcIqAhC7UY9243s=; b=Tu6OhQN9keYK/nmyC0GV1KcS+ES7g6bDf9eRa/r8kDDjHuTdEQ77CkjJJwESXAHFbfTzWptSwjkKV59izD/3KTsLUoEy9mL14aIecx1tveuhwS6QGSgUKE3wDJc489rQNy7ZT994AVa2GVvSp7KY6XeEx82LP0yshTFwgsga+tTlE20pWqXq85B95GEkzaASbPagc6bRwZDsuQ3Dkn6vZ+s27DqnIqyzIQPisaxeIc90y4St6owx8cg0m9eLT4zXs4oe/XfqspPqLVe61+is4QtplCUSr6+9ca3ECsrhpv/H0kbp9v4byt0lIq0aUxSHpf/QF+QdpUMT5xXTXowg2w== 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 CY4PR1101MB2071.namprd11.prod.outlook.com (2603:10b6:910:1a::10) by DM6PR11MB2892.namprd11.prod.outlook.com (2603:10b6:5:61::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.18; Wed, 24 Aug 2022 08:47:27 +0000 Received: from CY4PR1101MB2071.namprd11.prod.outlook.com ([fe80::e8e9:c389:7eda:2387]) by CY4PR1101MB2071.namprd11.prod.outlook.com ([fe80::e8e9:c389:7eda:2387%3]) with mapi id 15.20.5546.023; Wed, 24 Aug 2022 08:47:27 +0000 To: Tom Tromey , Nils-Christian Kempke via Gdb-patches Subject: RE: [PATCH v3 2/2] gdb, dwarf: create symbols for template tags without names Thread-Topic: [PATCH v3 2/2] gdb, dwarf: create symbols for template tags without names Thread-Index: AQHYtwZN6L/PmOBVOEmrb2WMqDyGzK282SL5gADhHaA= Date: Wed, 24 Aug 2022 08:47:27 +0000 Message-ID: References: <20220823153656.1235982-1-nils-christian.kempke@intel.com> <20220823153656.1235982-3-nils-christian.kempke@intel.com> <878rnedbkx.fsf@tromey.com> In-Reply-To: <878rnedbkx.fsf@tromey.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2abf27c5-978f-4c2f-fc5e-08da85ad45fa x-ms-traffictypediagnostic: DM6PR11MB2892:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ashEfiawfOUjkoAk9Egl5FYKyNTelzTqvsDGl89lTz/lW9/65qvxAaOgpPbUXTJMllBJlH7pkW7ycH7U5QBEqAp7oWy/CUgTGgxrJgZ8PQh9txna64dlCVvwbbNuKBikke5yPQDHequVhNLOpqL99EZSFKvBSeRvSq1CsMZce+hpk1Py4CgXMf1CRL39fdYMoKOIvTsPRlIq5TPE1bIfA+hsBZsFZj/KNr8qz7JPPNTUwJeqnk83WuBIEoV/yc1gxZWB3ONDs1kuV6z60Ao3cMzpimxBNB6Zc4ioJ74mGRjgMbsm98I/8MI/UIDS9rISQMvdxegcUs8WaVssP+Qzl1mkfr8XZOFIvYF6BgjKDuH3i8Fx/P5fLsu9itg12Pk+ZcMbzzJNpl0Cd5GjULNzFYoh4eZsyE/RIRq59Jv7sNxS8DUoOyRbYZu74IBy052kVuU2QoPFKdJpnf964tNlZdVQ3ET7zr/CWvMijs6IxyCmVp8vh72DPJdQsh3EMVwLgXlK8JM+WYfzxXC9TKmEM7C+jYVazhQlNxgBrefd0wGK+LOr7dPuI0Lih2coLphVdXNqWj3yR4iP5PzvE7150kICMWeaTjSLKV6beZ76kATmbyAYuKPJGkkR832mm3ugPp0o6xmBmvcJLd621eOsvS7lpCHQGPBwJsX0pqNmah3+rTSOIW+RKKcaFxctqqniWPjolAYjP6Pph0jsWgSpVrsYXIZJolMw+lt91nx/SiGsZDvwiYGRyass4CA8HnOo/HaQnvZKRGIif+EHd+k4sA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CY4PR1101MB2071.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(376002)(39860400002)(366004)(396003)(346002)(136003)(66476007)(186003)(76116006)(82960400001)(86362001)(38100700002)(66946007)(122000001)(38070700005)(110136005)(9686003)(66556008)(8676002)(66446008)(2906002)(316002)(71200400001)(8936002)(55016003)(52536014)(41300700001)(5660300002)(64756008)(478600001)(33656002)(7696005)(6506007)(26005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?le2m7tCQJQwZs9t5OMysWycsL9BZ8i2xrD+qaCuT6BviFEQ/yKjmJeUJSAi9?= =?us-ascii?Q?GT39z5d3tXgenrkHW2oBmBYpFNHerOZAlmDiDIzDAvyZIMuQAFTnc7ohM1SP?= =?us-ascii?Q?8ylJJeHfk7wQ9ZDMs7DQlfa7fHUrPzKIaV5JEK9YVT0kYZAah2Jo0zDAEaOe?= =?us-ascii?Q?/FLWKKYO355RIjw5UmcHlf1uP1h4rmkHO+6RhMuCHgHdJs3bL0yyIXFDpM7R?= =?us-ascii?Q?8FzUbV78EGpL3jtSxbLxKcZKg/mSab2IC6eCk0rHUz1ITtt/Dz5ICaPu7/9H?= =?us-ascii?Q?YV5sB5I9LcYAR3JXY23U7nCJlS9Dmmo0IGmRL2R3qMx9gWum5wvkl9FwzRWb?= =?us-ascii?Q?Du/x0J6fAUz88hK+g9grd9VDan2AGE2euI9ErApdLh2Wk/H7Hbak/7TFk6Vg?= =?us-ascii?Q?JGMWKZumnx9ATBsQ+1hFkuiLWtXo5aDgXmYfdj5RpVuPjrZvnSXXpkv2ui10?= =?us-ascii?Q?KYmkM7PzyLUQSc206UvFoIpdRMuCfl7owfrWRf8eq5sO9E3prIPlcpn9yng3?= =?us-ascii?Q?wnjZQ8VYx2vvzp9uH3cOVSGI88u0S/yQ9yAEDYXfBmrnHH0816HY0Yb8aUn2?= =?us-ascii?Q?xCr0sr6sx2qVlsjmMUsysPZAI4pUninAicbY8GY0kS+t02CiWzShH4Nw/DkJ?= =?us-ascii?Q?DJOB33knrl1vEzg1SUyDLtM8bpnYTvPL29tMgMmvmpdlJvRK/W/NTkaatwEP?= =?us-ascii?Q?23etc3gpyouxp7EPW9vUJ0SGAFDQHHXy4o652pRnH3Qdn7QE1jFlNGS3E/Xa?= =?us-ascii?Q?8cPe48v/DCiHviASWllAcUCS1ZirWHMjSYUETPS76PoJ3K0L4Jv0VkJpiKMc?= =?us-ascii?Q?EqdkKP+YrmpyW3KfNE27GXoZ/SUIM3pSuAUFnPANtvD1qTkJl97KH50XLj/W?= =?us-ascii?Q?F5/JZ+bdTyFmeY2KlRCXDTkRBmJz2+mQ/bkdvniQalC2ZwrA3u74ucN0EMiA?= =?us-ascii?Q?+YwFpJWMJLjFks+QvCQ1vWPs5a/Ldb2Ap/WMuQSIhBfLoNL5kb9rZfmeISKv?= =?us-ascii?Q?m/hDUxRva9autjNRo+ptm9xN2uzMeMicJntf6Vtul4ZgS4EqYnd/k1CZ5zwP?= =?us-ascii?Q?Iy8DH9WxwJ8gH6tPAwD6cIGbti96YLh1bxUwezhgVUFlflQrRFx3PwuhUb3i?= =?us-ascii?Q?piE6lpCOxYtY4APrdGja6lmcMrB5b2IcBk4d0e0EeQVzRHo9fOigolkiPHRH?= =?us-ascii?Q?pFv7GzWg1ohIs6xpkWEka1TzWv0MP7Tkf9YZ83VlsDOPZtkdJON0PHIAGIB0?= =?us-ascii?Q?m5xHR2nQkYaTsrW9yK86BmnDN44M87rBTlzkD63zu5qid12YGQRm2d07jzuO?= =?us-ascii?Q?vZdXKKigYp/MnvEmc72hqkDQmHcCr+swMyCJkG8qil2XZe6borF+iypUhniE?= =?us-ascii?Q?uE6ugKAHsexiOIqDLq0EiFf0IM2mNMDZXcZxnr/FD4ou840/hKPHTbqM+B4Y?= =?us-ascii?Q?kWwu38DDvVxDfC8O6NPdwD6VRLY5sHXAswYRi1D7lyqXythSLIsZJTb8p/HZ?= =?us-ascii?Q?mZGkNYIFG9/QDxDJ4jcPG9q4DWR8B4MfwyLA/DjxKfZDXjL+2vyI7/Sk9qiu?= =?us-ascii?Q?ZmSfQImYAY0BpH8nnsoJeZ/SQUfOp3ch7/UFv9nMaRg8ScZ2sv6E+T0xsLWk?= =?us-ascii?Q?jg=3D=3D?= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY4PR1101MB2071.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2abf27c5-978f-4c2f-fc5e-08da85ad45fa X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Aug 2022 08:47:27.5790 (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: TR4c8V6bS/54CzRoU02y+/m5UdPbzVZc49fLS5Y6tavUa6IOn4W/eJcfS02zigJk8bsh45aJsjx6fRB6m0nVgSUE9tfzpUVXgVA+cy7nUyY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB2892 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: "Kempke, Nils-Christian via Gdb-patches" Reply-To: "Kempke, Nils-Christian" Errors-To: gdb-patches-bounces+public-inbox=simark.ca@sourceware.org Sender: "Gdb-patches" Hi Tom, Thanks for the review! > > + die_info* child =3D die->parent->child; > = > The "*" is in the wrong spot. Fixed in v4. = > > + while (child !=3D die && child !=3D nullptr) > = > Here the loop condition checks for nullptr, but below the assert does > not: > = > > + } > > + gdb_assert (child =3D=3D die); > = > It seems to me that one or the other must be incorrect. Mh, here I am not sure. Theoretically, I'd assume that the die we are looking at will definitely be a child of its parent. The setup would be se= verely broken if not. However, if it is broken, then the children we are iteratin= g over would, at some point, not have siblings anymore and child->sibling would be NULL. I added the child !=3D nullptr check to the loop condition to catch = this case and not run into a Segfault. The gdb_assert (child =3D=3D die) also implies that child !=3D nullptr as = we assume that die !=3D nullptr (even though we don't check this explicitly, but dwarf2_na= me, the only caller of unnamed_template_tag_name also just assumes die !=3D nullptr= ). I just added the assert to make sure we did not exit the loop because of br= oken child-parent relations. I don't think either of them is really wrong. Then, looking at this again I think the better solution is to have = while (child !=3D die) as the loop condition and gdb_assert (child !=3D nullptr) inside the while and remove the gdb_assert (child =3D=3D die). I'll change= it to that for v4 now. > = > > + const std::string name_str =3D " (nth_unnamed) + ">"; > > + return obstack_strndup (&cu->per_objfile->objfile->per_bfd- > >storage_obstack, > > + name_str.c_str (), name_str.size ()); > = > Better IMO to use objfile::intern. Yes, changed in v4. = Thanks, Nils 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