From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from JPN01-TYC-obe.outbound.protection.outlook.com (mail-tycjpn01olkn2019.outbound.protection.outlook.com [40.92.99.19]) by sourceware.org (Postfix) with ESMTPS id D038D384D159 for ; Sat, 9 Jul 2022 08:54:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D038D384D159 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OYi0Jp25RNVKbm8vYGSKLqJB9/03K6BbRX3QGD7wiqqmDdnRp8X1lVFTu9opjl/ANHkfgdnqhwv8Dqe2ZBdUA+JXJVZMl21NNSDLwmCjcRRlgb1oAb0GeuwAae045M212hJgWWDV7uZmBluFMxUck7nQd4fgGmFbi8zHYARNPhbrgMAX82mVltblLaGP1ozlyWfJUIpufxkKnRysf+D1qlEHYgl8TnkYPiVWGT9DLXxSTNt5jh91gW/xCpJsz7Vhpr1HUICYPhMcrF6AcR1ezf6j5mfJIqwuHms9pjlbn71SZ9FaZnJGclq1ffiJsAttFW4eIwoPYD01lEBLbuQrwA== 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=GNFxszqktI/s0nMCfHUWAd5MH+6BBVkkmtPVBhTKMh8=; b=BC4DOyXff5viom8M+lu+LT/2CngmPwg3+B8iHc48+R6j2xksnrIP0tcvTLjVi34v6VGqr473wNnJ1Ev4NyMnaTeiI8nV5uh+BC6dq3GKO45msSxtZAU9245FJgD3nDHcbcBLW5OTA2uPLyUYqXPm1Uno0UFzwYMlHinqEPsnKN5DCiqdSy9pQIxT1HSlsC4vwRD56VGFKBWa71BSyNNIz5z9yetMhCwp2NEwKQNMl3tCDHcp58agluOl0AiyIg9L2LSgZHdjpZaO+7sevd2/1IcEq3pfQrOw3K7qgKRKgj9GGBwmuqisIXZukftzSzHowcuFkyFKUJwS+FkNpiZBZg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from OS3P286MB2152.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:197::9) by TYYP286MB1146.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:cd::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.16; Sat, 9 Jul 2022 08:54:19 +0000 Received: from OS3P286MB2152.JPNP286.PROD.OUTLOOK.COM ([fe80::fd29:1fe3:fd34:4172]) by OS3P286MB2152.JPNP286.PROD.OUTLOOK.COM ([fe80::fd29:1fe3:fd34:4172%9]) with mapi id 15.20.5417.023; Sat, 9 Jul 2022 08:54:19 +0000 Message-ID: Subject: Re: [PATCH] [PATCH] [gdb] adds `` to list of includes From: Enze Li To: Manoj Gupta Cc: Christopher Di Bella , gdb-patches@sourceware.org Date: Sat, 09 Jul 2022 16:54:14 +0800 In-Reply-To: References: <20220628010427.1856503-1-cjdb@google.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.44.3 X-TMN: [VCilRW8j9t/20gi8KsrYS6ilV8JuQ12s] X-ClientProxiedBy: SG2PR04CA0191.apcprd04.prod.outlook.com (2603:1096:4:14::29) To OS3P286MB2152.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:197::9) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 79b8ff4c-dec2-4841-6a4a-08da61889c7a X-MS-TrafficTypeDiagnostic: TYYP286MB1146:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6hZSYxnisLmS+QgBO03ksWZpO8P+vkTdKvKBv9aJzMjX7r4p1cOMztHRI7FxHfDKjK7YUVH7CCxGbv3QrSGNiEsKn+iN3LAPWQIhvOZvNw3zwgXKDmM9BkQ5BtUceRh9OSg+IKtvo1n+7ZVArPtnlydviU3SssDeeh/HcyN2G8/5p0hovnIPXGg3cdub0PLJD3nZIeIPk+QeLWvQfHxHjh8YsVLEqZNpnLFnEXaIO1AWc8GI3KqDte+ja3UU2BGxCDFjSpo9InT2VIPgjjU/yM98io4lkfLokCZj1TExYQkzzgTyVhRE3HN9RyYrr1ss/ou7FJm0V8gRFauaF/FD0EvNgMvMthwvdrfR4F1D6xdbh/Vw09cQ3nEE6m/zs3ZFROhqqTeSuMCUpRPkmfQ984eu+bhFU9OTRv2cq2HduKQPXFf6JLdx7Y6JMGO4e59wqyG491FTAVy1g9OvcVyRqY7u4+ojr+0D5qn4SccKrUTgqhod1xF8cGWlXWxNnil1D/Tmaiv2O3pfU7qwxX7AQI/ZtZqwJNXlMyjkj+txDBsDCp2A8hkdtdRZoKmjVIAjinV76gdrCcM9Vz4pZHxMP0m4zAkO3VVqacBdcYzzXyg3GjjogCuSMUf37HB8yav39Chlp7+v4syM0fvRSe8hmrZYIH9BmBpe9aMTwKZ7OB/0PpOivheqKkZyz8/RlBGuDstHgmve8HhSFL9SbDsu0QfHtRJ0ifA7+hcfVNnrELSn0dvZ5ZpkAH1d4QTXEZLqj20UMTBZcCU45JZuLKxdKA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Ym8wWGRTRVFYK1BaZUwreFBkWkUrNkwxWFAvSG5HTmlkNXB0aXlOUGFuVFFB?= =?utf-8?B?c3BaUHg1OFRqS0twQzRJb1plK0FPQXlJUU5XTmMvd2NoSWdxbmZsWW5JT1Nz?= =?utf-8?B?UUtqd3draU5WUkVXcXV5akJIMkNudFM3aEpHenBFelZVbStMN0V6U2Q3Umxz?= =?utf-8?B?V1VUL2NObVFJMnVGbmxTZGdGcnJqTjhWMEwrMkUxa2pVaE9qNStrMjBoYkZO?= =?utf-8?B?MVc2dEs3V09xdDRaak9XUVRzVlFMd00rQTY1QXVQZVpZTzduUDUzWHZ3QnVx?= =?utf-8?B?RndFaU9FNDFtbjBVMXZndks4YUhnM2ZFSDhVNDRvYWVlZUgyVFFCMkoxRTJ0?= =?utf-8?B?U09IYTFiQlRpczZqQ1VyYlBFc2UyM3VETm1NcE5rSmhRSkpuMjhxRWx3aVBw?= =?utf-8?B?RVc0bVBTdGJCTWhjdmxWaEhSK0gzMHZFYXhLVm5RZTFBVWRwcXdEamJmeGlE?= =?utf-8?B?b1NETGphbGVIVnFvN3Z4UW1KRzBHMFVjeGxtblZ5aU42TzI4MzJTdzNhVkgw?= =?utf-8?B?YnMvWUwzQmNBY2ZxL1BwTnV6RmoveGFoeHVHZnVTMEdhUGhxRE9JU2YwcnM4?= =?utf-8?B?bklmVUxxYk84NHdTMGttUE5pVU8zc0hQczZKYmdmK2pONkZ0UVpGYVRDcUhr?= =?utf-8?B?NytEaUJab1BRbndqclNlV08zdThNNzlUNllkRXlFSDhaNVBMcDk1VXY4d0Er?= =?utf-8?B?U1RvN042dTA5V1Q2OUc4U1ljUEVnblFsQ1BQajRFOS9hYVdUZEVCTWsvdmJ2?= =?utf-8?B?eEY0Q1NxekdUbHRBRTBaK0kwSmZwTFJQOWJ1bXZSb3NIcWRYRzREMHFzR1hP?= =?utf-8?B?WUNnclNRVFh3cytMcGVVRmgySGx5dzBGbUJEamhEd2hvR2V2SnpCcUNqQlZU?= =?utf-8?B?RGNGNjNwVnk4SjY1bXNnWU9BR1FzTjBNL1JVRnlSUXlBdE5OZy9EckdTM1dv?= =?utf-8?B?MnEvNTZFUFZadWJnT1RKMDBLbmtwZFVkMm95Q1RIcmdtY29DN2diT2RjRnI2?= =?utf-8?B?UzBBbGlIMk1abStFeVhURWF0aVJPUTFrTmp0RUFVMlBOOHlKRjkwYUllKzd0?= =?utf-8?B?SWkxMVp2dW9XRFJ4S29hYjVxdzVnUEsxQVkvUkhTaS84RlNVUHpvRmZob0RN?= =?utf-8?B?QmdHd1QwZFd0Q1ZJdG9LYVNpc0l1KzFXaHUxaEM1UWU0WXFqUDh0YWFIODlS?= =?utf-8?B?dWxrY3dObkFXbjNLYnJVQlpWUytlSUNCdk1xTXJoTWVUdWc4Kzg2dHlFYUth?= =?utf-8?B?UEJFdjFGREEwN3pEazlvUENDM1M4eUtTS0hMZlBEUDRJcTVlTGdxekE2NDhU?= =?utf-8?B?TlBvTGtZZjlZcE8zWkJubWpDRnJWMEJrR0tGR2JGellPLzdCSDE0cDJ2Y3lJ?= =?utf-8?B?cGFuQkVBZDU4Z044djZZQkgxRUtjVFJrSlhLVktuc2dlYzZORTRSaUFBWVJz?= =?utf-8?B?WUdrSlJESE5YUExSV2VsTDlvRzJEbTViVEV5cXp5aFYvYS9kZUx3Y1lnSUlz?= =?utf-8?B?eVVoSndkYzZNOURZSHhrZ2Q3eEVGSHNsUFUxVXRXczJZQWdvOGI4Rkl0Z2JM?= =?utf-8?B?ZXdNZmNSK1VqTjcyc3kxdk5SREU1SGNGV0M4bnRIUGJPWWhRd1dWYXRsMWFU?= =?utf-8?B?Wmp5V2NINVduYlJCK1R4SUFDeFliOTdMeVlEQ2cxL2J6cEpCaEFiTUg4dHo5?= =?utf-8?B?MUo5dFlXQytuMU1tL05QQ1hoNzJyV2g4Z0hPbzV1MnN1cjBEdnJ4ZUNRPT0=?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-05f45.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 79b8ff4c-dec2-4841-6a4a-08da61889c7a X-MS-Exchange-CrossTenant-AuthSource: OS3P286MB2152.JPNP286.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jul 2022 08:54:19.8186 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYYP286MB1146 X-Spam-Status: No, score=-11.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS, 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 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: , X-List-Received-Date: Sat, 09 Jul 2022 08:54:25 -0000 Hi Manoj, On Fri, 2022-07-08 at 22:57 -0700, Manoj Gupta wrote: > I work on ChromeOS and can provide answers to this. >=20 > does not include provide=C2=A0std::back_inserter as per C++ spec= . > It is provided by [1]. > The fact that it worked so far is just an accident that=C2=A0libc++ and > libstdc++ were including this > header with . > With libc++, it is no longer true. See commit "[libc++] Removes > unneeded includes." in libc++ [2]. > It is therefore not surprising that gdb fails to build.=C2=A0 Thank you for the detailed explanation. It seems that we need to manually compile and install the libc++ from upstream before we can reproduce this issue. >=20 >=20 > On Fri, Jul 8, 2022 at 9:30 PM Enze Li wrote: > > Hi Christopher, > >=20 > > Unfortunately, since I don't have a ChromeBook, I can not reproduce > > the > > problem you encountered. > >=20 > > I tried to reproduce your problem on a x86_64-linux device and > > still > > did not reproduce it with the trunk.=C2=A0 After digging into this > > deeply, I > > found that 'gdb/value.c' has already includes the 'vector' header > > file > > after preprocessing. > >=20 > > Here's what I got, > >=20 > > value.c > > =C2=A0 |--defs.h > > =C2=A0 =C2=A0 =C2=A0 |--common-defs.h > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |--common-utils.h (#include = ) Geez. I had mistakenly read that we needed to include 'vector' header file. Please ignore this part. It must be an oversight. =F0=9F=98=82=EF=B8= =8F Thanks, Enze > >=20 > > Finally, I noticed that you were compiling gdb-9.2.=C2=A0 I know nothin= g > > about the maintenance of closed branch.=C2=A0 You may want to keep PING > > and > > maintainers would show up to look at this. > >=20 >=20 > Inclusion=C2=A0of is not guaranteed to provide . And I > believe that the current gdb still does not include in > value.c [3]. > So I am sure that this patch is=C2=A0still needed in trunk. >=20 > Note: Looking at value.c, I think it needs more header includes e.g. > std::move [4] is used but is not included. >=20 > [1]=C2=A0https://en.cppreference.com/w/cpp/iterator/back_inserter > [2] [libc++] Removes unneeded > includes:=C2=A0=C2=A0https://reviews.llvm.org/rG4cd04d1687f1096990119304a= 3eb220 > 81ab4bb29 > [3] > https://sourceware.org/git/?p=3Dbinutils-gdb.git;a=3Dblob;f=3Dgdb/value.c= ;h=3D022fca91a42a8b4d5bccc745b62e642aea8a02ed;hb=3Drefs/heads/master > [4]:=C2=A0https://en.cppreference.com/w/cpp/utility/move >=20 > Thanks, > Manoj=C2=A0 >=20 > =C2=A0 > > Thanks, > > Enze > >=20 > > On Fri, 2022-07-01 at 14:50 -0700, Christopher Di Bella wrote: > > > Hi Enze, > > >=20 > > > `std::back_inserter` is defined in , which isn't > > > included > > > in `gdb/value.c`. Because the C preprocessor imports headers by > > > copy/pasting the contents at the `#include` site, this means that > > > another standard library header is exposing it (presumably > > > ``). > > >=20 > > > We experienced this on ChromeOS, which uses Clang and libc++ to > > > build > > > things. > > >=20 > > > ``` > > > /tmp/portage/sys-devel/gdb-9.2.20200923-r7/work/gdb- > > > 9.2/gdb/value.c:1648:52: error: no member named 'back_inserter' > > > in > > > namespace 'std' > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0std::move (iter + 1, all_values.end (), st= d::back_inserter > > > (result)); > > > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0~~~~~^ > > > =C2=A01 error generated. > > > ``` > > >=20 > > > On Fri, 1 Jul 2022 at 06:45, Enze Li wrote: > > > > On Tue, 2022-06-28 at 01:04 +0000, Christopher Di Bella via > > > > Gdb- > > > > patches > > > > wrote: > > > > > `std::back_inserter` is defined in ``, which is > > > > > currently > > > > > being transitively included by one of the other headers. This > > > > > is > > > > > causing > > > > > gdb to fail to build on certain platforms, which is fixed by > > > > > explicitly > > > > > including it. > > > >=20 > > > > Hi Christopher, > > > >=20 > > > > I didn't get your point through the commit message.=C2=A0 Can you > > > > clarify > > > > exactly on which platforms, and what build error you > > > > encountered?=C2=A0 > > > > So > > > > that I can reproduce the issue. > > > >=20 > > > > Thanks, > > > > Enze > > > >=20 > > > >=20 > > > > > --- > > > > > =C2=A0gdb/value.c | 1 + > > > > > =C2=A01 file changed, 1 insertion(+) > > > > >=20 > > > > > diff --git a/gdb/value.c b/gdb/value.c > > > > > index 022fca91a42..ba7ae1a0e18 100644 > > > > > --- a/gdb/value.c > > > > > +++ b/gdb/value.c > > > > > @@ -40,6 +40,7 @@ > > > > > =C2=A0#include "cp-abi.h" > > > > > =C2=A0#include "user-regs.h" > > > > > =C2=A0#include > > > > > +#include > > > > > =C2=A0#include "completer.h" > > > > > =C2=A0#include "gdbsupport/selftest.h" > > > > > =C2=A0#include "gdbsupport/array-view.h" > > > >=20 > > >=20 > > >=20 > >=20