From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10883 invoked by alias); 17 Feb 2020 17:28:05 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 10873 invoked by uid 89); 17 Feb 2020 17:28:04 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-8.8 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.1 spammy=directors, Directors X-HELO: mga05.intel.com Received: from mga05.intel.com (HELO mga05.intel.com) (192.55.52.43) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 17 Feb 2020 17:28:00 +0000 Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Feb 2020 09:27:59 -0800 Received: from orsmsx106.amr.corp.intel.com ([10.22.225.133]) by orsmga005.jf.intel.com with ESMTP; 17 Feb 2020 09:27:58 -0800 Received: from orsmsx163.amr.corp.intel.com (10.22.240.88) by ORSMSX106.amr.corp.intel.com (10.22.225.133) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 17 Feb 2020 09:27:58 -0800 Received: from ORSEDG002.ED.cps.intel.com (10.7.248.5) by ORSMSX163.amr.corp.intel.com (10.22.240.88) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 17 Feb 2020 09:27:58 -0800 Received: from NAM04-BN3-obe.outbound.protection.outlook.com (104.47.46.57) by edgegateway.intel.com (134.134.137.101) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 17 Feb 2020 09:27:58 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YlljjmyFyLOrUSulcZGPqRfa2Vdr33QqGgKShB+dmZs9v67SkZks64N/acSztVy+sk3O71kMxttux0e5jUsBzKH/H767KkDclLeICPcSxbbqsvSJk3L1pbP/20oeuWzbAyAa4NmBR+xVpr4TFV+fBxcISFoz6xA/v5bHunoy6bBXiPFBN+18O921BqGTZfgNDE+fUS/zIYLgkOAInnseUb0MFXXONLDuSBpo9Z3RexAAl+xZ2/fEw2YM+ZWYkCevb+YfJI6REt0Hb+oT0Hhas1b0RPy80bEVxMMDwdZnxnWqPIxl87KqgTet4g0YQzbzhHcWKsOKy3CvOryGqdXAgw== 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=Z5jenGu3h1ZQ9taOcrdVUuCKuZ9A1f5P3XhhFZdoZn8=; b=S0xPY/wxofsr5qvBHahsSlKHc/xOx2KCxRXyEIZVRIpEaOnd2RcYhNyVoI0dEP1ExFvRcwnoylyzOEtvydRtlQfW7ycw2UmHWTV1kcIcrOJ5fqDdIa7V818n2Sd/IALO8zT6wl7xPSlelDfXWgq3QVGPRniu6enB7203bmH+6v0TKEb1R4IiBCmNtBBvRSi4yE7OdAlmnMqQaQ4fMg1ChRhEAujhD4iLRTUVevcE1tADsVr+qPLwf6vyTETV8bWppFWqjrhDb61yEaWHVQTB7auJzjd1eWOPkmp468fWWSiP0eBRcN8Ss+8KiEeZgniY8IexDHfEjieiXYe+gFBLQA== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Z5jenGu3h1ZQ9taOcrdVUuCKuZ9A1f5P3XhhFZdoZn8=; b=aGG1sjZ5F59U76qMQMmw58ncKj/ToE3n9g/wy0g7X5SLOucprapCNOPT5zVhXsiPA9UC9xD8Hv9ozZS1i6qkLYcYEnUxkoRR+fPsr69yQRyn52gqcEfkqmm7FURJn3ndKpAFhimsHeRyZPVZSsPGVgawi9FpJm2aXNvd3giAe0E= Received: from BYAPR11MB3030.namprd11.prod.outlook.com (20.177.225.91) by BN6SPR01MB08.namprd11.prod.outlook.com (10.174.235.163) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2729.22; Mon, 17 Feb 2020 17:27:56 +0000 Received: from BYAPR11MB3030.namprd11.prod.outlook.com ([fe80::2c94:a4bd:2d9c:30b]) by BYAPR11MB3030.namprd11.prod.outlook.com ([fe80::2c94:a4bd:2d9c:30b%6]) with mapi id 15.20.2729.032; Mon, 17 Feb 2020 17:27:56 +0000 From: "Aktemur, Tankut Baris" To: Tom Tromey , Luis Machado CC: Sergio Durigan Junior , Tom de Vries , Pedro Alves , "gdb-patches@sourceware.org" Subject: RE: [PATCH] Move gdbserver to top level Date: Mon, 17 Feb 2020 17:28:00 -0000 Message-ID: References: <87d0bf45up.fsf@tromey.com> <7ceebbb7-b2f7-3d4a-1d8a-f31310badbe8@redhat.com> <874kwk8nz9.fsf@tromey.com> <171a3144-af37-1c29-a2a4-c4cd7eaa14c0@redhat.com> <87r1zm6x8s.fsf@tromey.com> <01b4b5ca-a802-54b5-3135-428b7c9faa84@redhat.com> <87o8uo4mj0.fsf@tromey.com> <87blqfn0d6.fsf@tromey.com> <0b6b4f24-f5c8-b236-c249-737e70395667@suse.de> <4d5a1276-91aa-7197-5f90-854767987f73@suse.de> <87imkeh1za.fsf@redhat.com> <87eev0bp4s.fsf@tromey.com> <8736bd3jt2.fsf@redhat.com> <8736bdj9qt.fsf@tromey.com> <87pnegan2x.fsf@tromey.com> <87ftf99mkd.fsf@tromey.com> In-Reply-To: <87ftf99mkd.fsf@tromey.com> authentication-results: spf=none (sender IP is ) smtp.mailfrom=tankut.baris.aktemur@intel.com; x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-messagedata: sSqpDz6UpKDIZdO2oJEw/zQUp/52PpAaf9jLDyqy8gKP0KUVCPPtj8qk5bGn4dqUrPG4rUIIXd2Y/3dCqp64wXQUt0ABS5lLAgAV19CwNfeApmYihnPdH0Ig9kBd1XS1lQfxikbithjjWTcrdbW5JQ== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: hOtdvL/UvTmhQtIpddk7MC80c8LD5yee7ok95jBfQlP20WYGLkTXXkwPLitT2TIajrJWxL5D+Q6sXjtyegLGPjxVYJyj4+I30Og3cMrrCTQ= Return-Path: tankut.baris.aktemur@intel.com Content-Transfer-Encoding: base64 X-IsSubscribed: yes X-SW-Source: 2020-02/txt/msg00683.txt.bz2 T24gTW9uZGF5LCBGZWJydWFyeSAxNywgMjAyMCA2OjAwIFBNLCBUb20gVHJv bWV5IHdyb3RlOg0KPiA+Pj4+PiAiTHVpcyIgPT0gTHVpcyBNYWNoYWRvIDxs dWlzLm1hY2hhZG9AbGluYXJvLm9yZz4gd3JpdGVzOg0KPiANCj4gTHVpcz4g U2hvdWxkIC0tZGlzYWJsZS1nZGIgYWxzbyBpbXBseSAtLWRpc2FibGUtZ2Ri c2VydmVyPyBPciBzaG91bGQgd2UgYmUNCj4gTHVpcz4gYWJsZSB0byBidWls ZCBnZGJzZXJ2ZXIgd2l0aG91dCBidWlsZGluZyBnZGIgKHNvdW5kcyBhIGJp dCBtb3JlDQo+IEx1aXM+IGNvbXBsZXgpPw0KPiANCj4gV2Ugc2hvdWxkLCBp dCB3YXMgaGlzdG9yaWNhbGx5IHN1cHBvcnRlZCBhbmQgcHJlc2VydmluZyB0 aGlzIGFiaWxpdHkgaXMNCj4gb25lIG9mIHRoZSBnb2FscyBvZiB0aGUgc2Vy aWVzLg0KPiANCj4gVGhhbmtzIGZvciB0aGUgcmVwb3J0LiAgSSBtaXNzZWQg YSBzcG90IGluIGNvbmZpZ3VyZS5hYyBhbmQgSSB3aWxsIGJlDQo+IHB1c2hp bmcgYSBmaXggc2hvcnRseS4NCj4gDQo+IFRvbQ0KDQpJdCB1c2VkIHRvIGJl IHBvc3NpYmxlIHRvIGJ1aWxkIGdkYnNlcnZlciBieSBkaXJlY3RseSB1c2lu ZyBpdHMgY29uZmlndXJlLg0KRS5nLjogcGF0aC90by9nZGJzZXJ2ZXIvY29u ZmlndXJlLCBhcyBzaG93biBoZXJlOg0KaHR0cHM6Ly9zb3VyY2V3YXJlLm9y Zy9nZGIvd2lraS9CdWlsZGluZ0Nyb3NzR0RCYW5kR0RCc2VydmVyDQoNCklz IHRoaXMgbm90IGEgdXNlLWNhc2UgYW55bW9yZT8NCg0KVGhhbmtzLg0KLUJh cmlzDQoNCg0KSW50ZWwgRGV1dHNjaGxhbmQgR21iSApSZWdpc3RlcmVkIEFk ZHJlc3M6IEFtIENhbXBlb24gMTAtMTIsIDg1NTc5IE5ldWJpYmVyZywgR2Vy bWFueQpUZWw6ICs0OSA4OSA5OSA4ODUzLTAsIHd3dy5pbnRlbC5kZQpNYW5h Z2luZyBEaXJlY3RvcnM6IENocmlzdGluIEVpc2Vuc2NobWlkLCBHYXJ5IEtl cnNoYXcKQ2hhaXJwZXJzb24gb2YgdGhlIFN1cGVydmlzb3J5IEJvYXJkOiBO aWNvbGUgTGF1ClJlZ2lzdGVyZWQgT2ZmaWNlOiBNdW5pY2gKQ29tbWVyY2lh bCBSZWdpc3RlcjogQW10c2dlcmljaHQgTXVlbmNoZW4gSFJCIDE4NjkyOAo= >From gdb-patches-return-164382-listarch-gdb-patches=sources.redhat.com@sourceware.org Mon Feb 17 17:40:56 2020 Return-Path: Delivered-To: listarch-gdb-patches@sources.redhat.com Received: (qmail 24664 invoked by alias); 17 Feb 2020 17:40:55 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 24648 invoked by uid 89); 17 Feb 2020 17:40:54 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-20.5 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.1 spammy= X-HELO: mail-qt1-f193.google.com Received: from mail-qt1-f193.google.com (HELO mail-qt1-f193.google.com) (209.85.160.193) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 17 Feb 2020 17:40:52 +0000 Received: by mail-qt1-f193.google.com with SMTP id c5so12578066qtj.6 for ; Mon, 17 Feb 2020 09:40:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding; bh=bXSXgsfmjrZwmG2y4TQFy0w2lbhmNa+NtZs+7pWJLow=; b=nwu1boXKUuGQXvAhz88Mb0H+RWFqpw/N2V+XNS0QSKi8Sb2iI7TN2keVYRQzeHPdVN j8u4qzStE48ccJXZcbcHpa+6IlfaHQ8LPY5UAsfGFz9N5988ELfD1DVV+u86MBu5lWcc FvT2mzvinGR5BjKniRPNKtKx9jNv6WgAUfkVUxi3PPdkNHqYhM5C6yU31fbFJZfjtamf b1DsU0ZEyt0dir0yqJfWVVJum1Ec4AE+vA/Hcu+RwJisLmefuI5LByvXJRnBYo+RPsoa v+/OzRjU6Nb0U2NOgaH8Nfi9Gln/WbD0CV7XOEQnH9iNyQJqqukGYCN2FVOJRy4fvpzU cR7g== Return-Path: Received: from [192.168.0.185] ([191.34.156.101]) by smtp.gmail.com with ESMTPSA id s42sm506191qtk.87.2020.02.17.09.40.48 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 17 Feb 2020 09:40:49 -0800 (PST) Subject: Re: [PATCH 2/5] gdb: fix printing of flag enums with multi-bit enumerators To: Simon Marchi , Simon Marchi , gdb-patches@sourceware.org References: <20200213203035.30157-1-simon.marchi@efficios.com> <20200213203035.30157-2-simon.marchi@efficios.com> <2e83ba29-99c4-d611-45ec-ee98ac81fc34@linaro.org> <78d03fba-9901-01d5-c1ed-9631986e2579@simark.ca> From: Luis Machado Message-ID: Date: Mon, 17 Feb 2020 17:40:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <78d03fba-9901-01d5-c1ed-9631986e2579@simark.ca> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-IsSubscribed: yes X-SW-Source: 2020-02/txt/msg00684.txt.bz2 Content-length: 3032 On 2/17/20 2:27 PM, Simon Marchi wrote: > On 2020-02-17 5:56 a.m., Luis Machado wrote: >>> @@ -15526,10 +15527,17 @@ update_enumeration_type_from_children (struct die_info *die, >>>         unsigned_enum = 0; >>>         flag_enum = 0; >>>       } >>> -      else if ((mask & value) != 0) >>> -    flag_enum = 0; >>>         else >>> -    mask |= value; >>> +    { >>> +      int nbits = count_one_bits_ll (value); >>> + >>> +      if (nbits != 0 && nbits && nbits != 1) >> >> Isn't this the same as nbits >= 2? popcount shouldn't return a negative number, should it? > > I think I wrote that because count_one_bits_ll returns a signed int, so I > indeed thought "what if it returns a negative number". But if it did, there > would be some quite more serious problems, so we probably don't have to think > about it here. I'll change it as "nbits >= 2". I did some research and did not see a clear reason why popcount returns an int. There was a mention of popcount returning negative for some obscure implementation if it was passed a negative number. GCC's documentation doesn't make it clear either. > > Oh and there was a spurious "&& nbits" in there. > >> >>> +        flag_enum = 0; >>> +      else if ((mask & value) != 0) >>> +        flag_enum = 0; >>> +      else >>> +        mask |= value; >>> +    } >>>           /* If we already know that the enum type is neither unsigned, nor >>>        a flag type, no need to look at the rest of the enumerates.  */ >>> diff --git a/gdb/testsuite/gdb.base/printcmds.c b/gdb/testsuite/gdb.base/printcmds.c >>> index 57e04e6c01f3..f0b4fa4b86b1 100644 >>> --- a/gdb/testsuite/gdb.base/printcmds.c >>> +++ b/gdb/testsuite/gdb.base/printcmds.c >>> @@ -96,9 +96,35 @@ enum some_volatile_enum { enumvolval1, enumvolval2 }; >>>      name.  See PR11827.  */ >>>   volatile enum some_volatile_enum some_volatile_enum = enumvolval1; >>>   -enum flag_enum { ONE = 1, TWO = 2 }; >>> +/* An enum considered as a "flag enum".  */ >>> +enum flag_enum >>> +{ >>> +  FE_NONE = 0x00, >>> +  FE_ONE  = 0x01, >>> +  FE_TWO  = 0x02, >>> +}; >>> + >>> +enum flag_enum three = FE_ONE | FE_TWO; >>> + >>> +/* Another enum considered as a "flag enum", but with enumerator with value >>> +   0.  */ >>> +enum flag_enum_without_zero >>> +{ >>> +  FEWZ_ONE = 0x01, >>> +  FEWZ_TWO = 0x02, >>> +}; >>> + >> >> Typo maybe? There is no enum with value 0 in flag_enum_without_zero. Maybe you meant flag_enum to contain a 0 value with FE_NONE? >> >>> +enum flag_enum_without_zero flag_enum_without_zero = 0; >>> + >> >> Or maybe you were referring to the above? > > Do you mean a typo in the comment, or the type name? Because there indeed seems > to be a typo, it should read "but with no enumerator with value", not > "but with enumerator with value". Sorry, i should've been more clear. I meant the comment saying "but with enumerator with value". You guessed it right.