From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 64833 invoked by alias); 18 Feb 2020 21:14:36 -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 64819 invoked by uid 89); 18 Feb 2020 21:14:36 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-20.7 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.1 spammy= X-HELO: EUR02-AM5-obe.outbound.protection.outlook.com Received: from mail-oln040092067037.outbound.protection.outlook.com (HELO EUR02-AM5-obe.outbound.protection.outlook.com) (40.92.67.37) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 18 Feb 2020 21:14:34 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=b7nqpALaoM8OHLdilf55QFbLJ4Ml8GSvzP4GoQjZ0WeECfDXUjZfXIBu24WNU0ucqND9+m3W5ejN/juFQGPKnw/fvfliFIo3rPWMLPoAZM+bAif4KiR1lPKLN4ZKLJZ2BEdHav37PXgynxbJzRHrTyJL9wK0bVg6nsGV8OQHdv9+hsDXPgS3ypF6xp2htC8QkXDvGlM2z/6OKHOIyJ+5jXM0/4F6AYNL7JFsxB0KD3wzusMl3JE/yB3PAuWOhono3b5mcFlQGmaDUX+iR+y2gNclJj58nr1sg4jMIKCR3chFzEVByGlefqZyyGTF2nhrrpdkIT77tHrtRZKn7qszhA== 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=Czz7a27pkAg/jcS9jcELCjh/SvFKO3bJR43VwWTUfpI=; b=fWOgqgztVhlnQjDXPmujV5o1cjhWdcJjpPX659REvESeLKb+giU4ib3yUdmfFD0D7uqJl4UHaW4jzU5PMINhQht9L+ChaZynmXGkfz8qEvJkdktTT/fTPERbhRvGtP/K2Y5tBx3+nGAXbu53oR9aEsaiPRVxriK8wRkRW73MHGZbDH+ZhZqsbRvFLz9fDnWrbH4jHGu51a6kg8BFuQYPOkCjSKl8XaHgVeapxjo5L1qovuxcX/DLO9qgjvAxTrJ73ouqCENELlmjJ/ow0SVaBPdI4eZEbGsd7k0TdLMdLLOAfJIwtABlLWANj32a/VoW5pNX+jmeYBWIIvXhuy5h+w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from AM5EUR02FT051.eop-EUR02.prod.protection.outlook.com (10.152.8.57) by AM5EUR02HT091.eop-EUR02.prod.protection.outlook.com (10.152.9.129) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2729.22; Tue, 18 Feb 2020 21:14:30 +0000 Received: from AM6PR03MB5170.eurprd03.prod.outlook.com (10.152.8.58) by AM5EUR02FT051.mail.protection.outlook.com (10.152.9.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2729.22 via Frontend Transport; Tue, 18 Feb 2020 21:14:30 +0000 Received: from AM6PR03MB5170.eurprd03.prod.outlook.com ([fe80::1956:d274:cab3:b4dd]) by AM6PR03MB5170.eurprd03.prod.outlook.com ([fe80::1956:d274:cab3:b4dd%6]) with mapi id 15.20.2729.032; Tue, 18 Feb 2020 21:14:30 +0000 Received: from [192.168.1.101] (92.77.140.102) by ZR0P278CA0046.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:1d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2729.23 via Frontend Transport; Tue, 18 Feb 2020 21:14:30 +0000 From: Bernd Edlinger To: Simon Marchi , "gdb-patches@sourceware.org" Subject: Re: [PATCH ?] Fix gdb build with gcc-4.8.x Date: Tue, 18 Feb 2020 21:14:00 -0000 Message-ID: References: <317b68d6-df81-d8e2-6e81-eb2903434ed4@simark.ca> In-Reply-To: <317b68d6-df81-d8e2-6e81-eb2903434ed4@simark.ca> x-microsoft-original-message-id: <314d2011-cb92-6732-8807-1350f861e076@hotmail.de> x-ms-exchange-antispam-messagedata: Ri/kiP+qlcXFrRZYPVJuWcKzNE+VP4jZZeeVbjUfFI8oorxvz5xW3S+ZivdA6dOIGR8YvJBdgbLkSsTDxsQdnAw8c0uDDrXJq/kN3zSsQeEOSPOESxmTI4z3VTF08DDXrE0H/6mK0XP7h3PJ/wCyog== x-ms-exchange-transport-forked: True Content-Type: multipart/mixed; boundary="_002_AM6PR03MB5170A9BEF56372F2EBC773E8E4110AM6PR03MB5170eurp_" MIME-Version: 1.0 X-SW-Source: 2020-02/txt/msg00747.txt.bz2 --_002_AM6PR03MB5170A9BEF56372F2EBC773E8E4110AM6PR03MB5170eurp_ Content-Type: text/plain; charset="Windows-1252" Content-ID: <5DCD9F0B7AFC9C448D121A88D7A56C69@eurprd03.prod.outlook.com> Content-Transfer-Encoding: quoted-printable Content-length: 3387 On 2/18/20 9:27 PM, Simon Marchi wrote: > On 2020-02-18 2:06 p.m., Bernd Edlinger wrote: >> Hi, >> >> I noticed that gdb cannot be built any more with gcc-4.8.4 >> since Simon's patch which introduced the >> std::unique_ptr. >> >> The failure mode is as follows: >> >> CXX amd64-tdep.o >> ../../binutils-gdb/gdb/amd64-tdep.c: In function =91displaced_step_closu= re_up amd64_displaced_step_copy_insn(gdbarch*, CORE_ADDR, CORE_ADDR, regcac= he*)=92: >> ../../binutils-gdb/gdb/amd64-tdep.c:1514:10: error: cannot bind =91std::= unique_ptr=92 lvalue to =91std::unique_ptr&&=92 >> return dsc; >> ^ >> In file included from /usr/include/c++/4.8/memory:81:0, >> from ../../binutils-gdb/gdb/../gdbsupport/common-except= ions.h:25, >> from ../../binutils-gdb/gdb/../gdbsupport/common-defs.h= :140, >> from ../../binutils-gdb/gdb/defs.h:28, >> from ../../binutils-gdb/gdb/amd64-tdep.c:22: >> /usr/include/c++/4.8/bits/unique_ptr.h:169:2: error: initializing argu= ment 1 of =91std::unique_ptr<_Tp, _Dp>::unique_ptr(std::unique_ptr<_Up, _Ep= >&&) [with _Up =3D amd64_displaced_step_closure; _Ep =3D std::default_delet= e; =3D void; _Tp =3D= displaced_step_closure; _Dp =3D std::default_delete]=92 >> unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept >> ^ >> ../../binutils-gdb/gdb/amd64-tdep.c:1515:1: error: control reaches end o= f non-void function [-Werror=3Dreturn-type] >> } >> ^ >> cc1plus: all warnings being treated as errors >> >> >> It continues to work with gcc-5.4.0, though. I don't know what >> is with gcc-4.9.x. >> >> I have two possible workarounds for this attached to this as >> variant-1 patch and variant-2 patch respectively. I personally >> would prefer variant-2 which makes displaced_step_closure_up a >> wrapper class around unique_ptr and >> avoids to trigger this compiler bug by being slightly simpler as >> the original, I think the issue always starts when the argument >> to displaced_step_closure_up (std::unique_ptr &up) is >> using double-ampersand. >> >> So we have three possible ways to deal with this: >> variant-1: simplify the code where the type cast happens, >> variant-2: use a simplified wrapper clase, and >> variant-3: do nothing about it, and document that gcc-5.4.0 is >> or newer is required. >> >> What do you think? >> >> >> Thanks >> Bernd. >> >=20 > Hi Bernd, >=20 > I don't like variant 2, because it changes the API/contract of > std::unique_ptr. It allows doing >=20 > std::unique_ptr dsc; > displaced_step_closure_up hello (dsc); >=20 > Which would not be possible if displaced_step_closure_up was > a simple typedef. In our code base, the types that end with _up > are known to be typedefs to std::unique_ptr, and I don't think it > would be a good idea to provide such a type with a semantic that > differs from std::unique_ptr. >=20 > So I would prefer something along the lines of variant 1, but with > a small comment at each site saying that this is to work around > a problem with g++ 4.8. >=20 Okay, works for me, so then I added just one short comment at each site. Is it OK for trunk? Thanks Bernd. --_002_AM6PR03MB5170A9BEF56372F2EBC773E8E4110AM6PR03MB5170eurp_ Content-Type: text/x-patch; name="0001-Fix-build-with-gcc-4.8.x.patch" Content-Description: 0001-Fix-build-with-gcc-4.8.x.patch Content-Disposition: attachment; filename="0001-Fix-build-with-gcc-4.8.x.patch"; size=3980; creation-date="Tue, 18 Feb 2020 21:14:30 GMT"; modification-date="Tue, 18 Feb 2020 21:14:30 GMT" Content-ID: <9EFAD14F6FAA0548BDA680279792C618@eurprd03.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 5397 RnJvbSA0M2U2YzE0MDkxZGVlOWMzMmZlMWRlZTYyNDY2NDUwZTU3ZjZjMTNh IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBCZXJuZCBFZGxpbmdl ciA8YmVybmQuZWRsaW5nZXJAaG90bWFpbC5kZT4KRGF0ZTogU3VuLCAxNiBG ZWIgMjAyMCAyMTo0MzozMyArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIEZpeCBi dWlsZCB3aXRoIGdjYy00LjgueAoKVXNlIGFuIGV4cGxpY2l0IGNvbnZlcnNp b24gZnJvbSB1bmlxdWVfcHRyPFQ+IHRvCmRpc3BsYWNlZF9zdGVwX2Nsb3N1 cmVfdXAgdG8gYXZvaWQgYSBjb21waWxlciBidWcKd2l0aCBnY2MtNC44LjQ6 CgouLi8uLi9iaW51dGlscy1nZGIvZ2RiL2FtZDY0LXRkZXAuYzoxNTE0OjEw OiBlcnJvcjogY2Fubm90IGJpbmQKICAgJ3N0ZDo6dW5pcXVlX3B0cjxhbWQ2 NF9kaXNwbGFjZWRfc3RlcF9jbG9zdXJlPicgbHZhbHVlIHRvCiAgICdzdGQ6 OnVuaXF1ZV9wdHI8YW1kNjRfZGlzcGxhY2VkX3N0ZXBfY2xvc3VyZT4mJicK CmdkYjoKMjAyMC0wMi0xNiAgQmVybmQgRWRsaW5nZXIgIDxiZXJuZC5lZGxp bmdlckBob3RtYWlsLmRlPgoKCSogYWFyY2g2NC10ZGVwLmMgKGFhcmNoNjRf ZGlzcGxhY2VkX3N0ZXBfY29weV9pbnNuKTogVXNlIGFuIGV4cGxpY2l0Cglj b252ZXJzaW9uLgoJKiBhbWQ2NC10ZGVwLmMgKGFtZDY0X2Rpc3BsYWNlZF9z dGVwX2NvcHlfaW5zbik6IExpa2V3aXNlLgoJKiBhcm0tbGludXgtdGRlcC5j IChhcm1fbGludXhfZGlzcGxhY2VkX3N0ZXBfY29weV9pbnNuKTogTGlrZXdp c2UuCgkqIGkzODYtdGRlcC5jIChpMzg2X2Rpc3BsYWNlZF9zdGVwX2NvcHlf aW5zbik6IExpa2V3aXNlLgoJKiByczYwMDAtdGRlcC5jIChwcGNfZGlzcGxh Y2VkX3N0ZXBfY29weV9pbnNuKTogTGlrZXdpc2UuCgkqIHMzOTAtdGRlcC5j IChzMzkwX2Rpc3BsYWNlZF9zdGVwX2NvcHlfaW5zbik6IExpa2V3aXNlLgot LS0KIGdkYi9hYXJjaDY0LXRkZXAuYyAgIHwgMyArKy0KIGdkYi9hbWQ2NC10 ZGVwLmMgICAgIHwgMyArKy0KIGdkYi9hcm0tbGludXgtdGRlcC5jIHwgMyAr Ky0KIGdkYi9pMzg2LXRkZXAuYyAgICAgIHwgMyArKy0KIGdkYi9yczYwMDAt dGRlcC5jICAgIHwgMyArKy0KIGdkYi9zMzkwLXRkZXAuYyAgICAgIHwgMyAr Ky0KIDYgZmlsZXMgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9nZGIvYWFyY2g2NC10ZGVwLmMgYi9n ZGIvYWFyY2g2NC10ZGVwLmMKaW5kZXggYmZhY2ZiMC4uMzFiOTBjOCAxMDA2 NDQKLS0tIGEvZ2RiL2FhcmNoNjQtdGRlcC5jCisrKyBiL2dkYi9hYXJjaDY0 LXRkZXAuYwpAQCAtMzA1Myw3ICszMDUzLDggQEAgYWFyY2g2NF9kaXNwbGFj ZWRfc3RlcF9jb3B5X2luc24gKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAog ICAgICAgZHNjID0gTlVMTDsKICAgICB9CiAKLSAgcmV0dXJuIGRzYzsKKyAg LyogVGhpcyBpcyBhIHdvcmsgYXJvdW5kIGZvciBhIHByb2JsZW0gd2l0aCBn KysgNC44LiAgKi8KKyAgcmV0dXJuIGRpc3BsYWNlZF9zdGVwX2Nsb3N1cmVf dXAgKGRzYy5yZWxlYXNlICgpKTsKIH0KIAogLyogSW1wbGVtZW50IHRoZSAi ZGlzcGxhY2VkX3N0ZXBfZml4dXAiIGdkYmFyY2ggbWV0aG9kLiAgKi8KZGlm ZiAtLWdpdCBhL2dkYi9hbWQ2NC10ZGVwLmMgYi9nZGIvYW1kNjQtdGRlcC5j CmluZGV4IDkyNjRmZTQuLjVjNTZhOTcgMTAwNjQ0Ci0tLSBhL2dkYi9hbWQ2 NC10ZGVwLmMKKysrIGIvZ2RiL2FtZDY0LXRkZXAuYwpAQCAtMTUxMSw3ICsx NTExLDggQEAgYW1kNjRfZGlzcGxhY2VkX3N0ZXBfY29weV9pbnNuIChzdHJ1 Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKICAgICAgIGRpc3BsYWNlZF9zdGVwX2R1 bXBfYnl0ZXMgKGdkYl9zdGRsb2csIGJ1ZiwgbGVuKTsKICAgICB9CiAKLSAg cmV0dXJuIGRzYzsKKyAgLyogVGhpcyBpcyBhIHdvcmsgYXJvdW5kIGZvciBh IHByb2JsZW0gd2l0aCBnKysgNC44LiAgKi8KKyAgcmV0dXJuIGRpc3BsYWNl ZF9zdGVwX2Nsb3N1cmVfdXAgKGRzYy5yZWxlYXNlICgpKTsKIH0KIAogc3Rh dGljIGludApkaWZmIC0tZ2l0IGEvZ2RiL2FybS1saW51eC10ZGVwLmMgYi9n ZGIvYXJtLWxpbnV4LXRkZXAuYwppbmRleCBjY2I1NTZiLi5mNjBjYjUxIDEw MDY0NAotLS0gYS9nZGIvYXJtLWxpbnV4LXRkZXAuYworKysgYi9nZGIvYXJt LWxpbnV4LXRkZXAuYwpAQCAtMTEzMSw3ICsxMTMxLDggQEAgYXJtX2xpbnV4 X2Rpc3BsYWNlZF9zdGVwX2NvcHlfaW5zbiAoc3RydWN0IGdkYmFyY2ggKmdk YmFyY2gsCiAKICAgYXJtX2Rpc3BsYWNlZF9pbml0X2Nsb3N1cmUgKGdkYmFy Y2gsIGZyb20sIHRvLCBkc2MuZ2V0ICgpKTsKIAotICByZXR1cm4gZHNjOwor ICAvKiBUaGlzIGlzIGEgd29yayBhcm91bmQgZm9yIGEgcHJvYmxlbSB3aXRo IGcrKyA0LjguICAqLworICByZXR1cm4gZGlzcGxhY2VkX3N0ZXBfY2xvc3Vy ZV91cCAoZHNjLnJlbGVhc2UgKCkpOwogfQogCiAvKiBJbXBsZW1lbnRhdGlv biBvZiBgZ2RiYXJjaF9zdGFwX2lzX3NpbmdsZV9vcGVyYW5kJywgYXMgZGVm aW5lZCBpbgpkaWZmIC0tZ2l0IGEvZ2RiL2kzODYtdGRlcC5jIGIvZ2RiL2kz ODYtdGRlcC5jCmluZGV4IDk3NzE0MjEuLjE5ODc2YzMgMTAwNjQ0Ci0tLSBh L2dkYi9pMzg2LXRkZXAuYworKysgYi9nZGIvaTM4Ni10ZGVwLmMKQEAgLTgz MSw3ICs4MzEsOCBAQCBpMzg2X2Rpc3BsYWNlZF9zdGVwX2NvcHlfaW5zbiAo c3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAgICAgICBkaXNwbGFjZWRfc3Rl cF9kdW1wX2J5dGVzIChnZGJfc3RkbG9nLCBidWYsIGxlbik7CiAgICAgfQog Ci0gIHJldHVybiBjbG9zdXJlOworICAvKiBUaGlzIGlzIGEgd29yayBhcm91 bmQgZm9yIGEgcHJvYmxlbSB3aXRoIGcrKyA0LjguICAqLworICByZXR1cm4g ZGlzcGxhY2VkX3N0ZXBfY2xvc3VyZV91cCAoY2xvc3VyZS5yZWxlYXNlICgp KTsKIH0KIAogLyogRml4IHVwIHRoZSBzdGF0ZSBvZiByZWdpc3RlcnMgYW5k IG1lbW9yeSBhZnRlciBoYXZpbmcgc2luZ2xlLXN0ZXBwZWQKZGlmZiAtLWdp dCBhL2dkYi9yczYwMDAtdGRlcC5jIGIvZ2RiL3JzNjAwMC10ZGVwLmMKaW5k ZXggNTEzY2U2YS4uMmM0MWUxYyAxMDA2NDQKLS0tIGEvZ2RiL3JzNjAwMC10 ZGVwLmMKKysrIGIvZ2RiL3JzNjAwMC10ZGVwLmMKQEAgLTg5NCw3ICs4OTQs OCBAQCBwcGNfZGlzcGxhY2VkX3N0ZXBfY29weV9pbnNuIChzdHJ1Y3QgZ2Ri YXJjaCAqZ2RiYXJjaCwKICAgICAgIGRpc3BsYWNlZF9zdGVwX2R1bXBfYnl0 ZXMgKGdkYl9zdGRsb2csIGJ1ZiwgbGVuKTsKICAgICB9CiAKLSAgcmV0dXJu IGNsb3N1cmU7CisgIC8qIFRoaXMgaXMgYSB3b3JrIGFyb3VuZCBmb3IgYSBw cm9ibGVtIHdpdGggZysrIDQuOC4gICovCisgIHJldHVybiBkaXNwbGFjZWRf c3RlcF9jbG9zdXJlX3VwIChjbG9zdXJlLnJlbGVhc2UgKCkpOwogfQogCiAv KiBGaXggdXAgdGhlIHN0YXRlIG9mIHJlZ2lzdGVycyBhbmQgbWVtb3J5IGFm dGVyIGhhdmluZyBzaW5nbGUtc3RlcHBlZApkaWZmIC0tZ2l0IGEvZ2RiL3Mz OTAtdGRlcC5jIGIvZ2RiL3MzOTAtdGRlcC5jCmluZGV4IDUxZDAyMDMuLmQ4 YzI4YzcgMTAwNjQ0Ci0tLSBhL2dkYi9zMzkwLXRkZXAuYworKysgYi9nZGIv czM5MC10ZGVwLmMKQEAgLTQ3Nyw3ICs0NzcsOCBAQCBzMzkwX2Rpc3BsYWNl ZF9zdGVwX2NvcHlfaW5zbiAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAg ICAgICBkaXNwbGFjZWRfc3RlcF9kdW1wX2J5dGVzIChnZGJfc3RkbG9nLCBi dWYsIGxlbik7CiAgICAgfQogCi0gIHJldHVybiBjbG9zdXJlOworICAvKiBU aGlzIGlzIGEgd29yayBhcm91bmQgZm9yIGEgcHJvYmxlbSB3aXRoIGcrKyA0 LjguICAqLworICByZXR1cm4gZGlzcGxhY2VkX3N0ZXBfY2xvc3VyZV91cCAo Y2xvc3VyZS5yZWxlYXNlICgpKTsKIH0KIAogLyogRml4IHVwIHRoZSBzdGF0 ZSBvZiByZWdpc3RlcnMgYW5kIG1lbW9yeSBhZnRlciBoYXZpbmcgc2luZ2xl LXN0ZXBwZWQKLS0gCjEuOS4xCgo= --_002_AM6PR03MB5170A9BEF56372F2EBC773E8E4110AM6PR03MB5170eurp_--