From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from JPN01-TYC-obe.outbound.protection.outlook.com (mail-tycjpn01olkn2080.outbound.protection.outlook.com [40.92.99.80]) by sourceware.org (Postfix) with ESMTPS id 1F0693858D33 for ; Tue, 24 Jan 2023 03:32:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1F0693858D33 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=hotmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=hotmail.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PQ0k63ZGo/Oezx7F6UT35NaJ6Ad77Gxh8eufjlMnzdynXfY20A/L+mqNof/4IOUmWzflb0ExUmp6BiBN4N86pOBS2DW+XUbXsanT5xEEQiKmOWfc3yXVe1sdwujLAbkOdS6CK4hYF4N07bKlZA2eDCoPdCp8C3gb7mSAvFfzWYNTBYrQecreNSKU/X7EVwnbFcrQlMhTzJYuYvMrv5lVvEpJO0aTYQYBH2lrylqFcrxKpWXT96hG3bkb1YaeZ6ArkUZXiWKcSHqeM+GT6s/DG1UabHSwEgHeWvFRyJeVB+hED8XCvT7t74XNZSyuw9XQMvItqeCywcIR7FP3Zc0SbQ== 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=Y0KLzbj/+qq+hTFXj/7NoC50CrVDor1wT42frVdo9GU=; b=C1BDVZeT4sU4F30bJcyjLveno4yCxb41IBuczmtcSyfVkjfzusH2HTSw67sKCs5d34wkRsW6EIlqFpz0mxw9fvkRbI7jGzdU3zVzCmAbELt7LVLgQ6m0gBQU2uE1U7KhsR7yiFvnx98vBCO5vfB/gsv/40aTEkESIfcPDa6XTF0r6s/fgEViyZKv/rObYZWY+bBdkmd4ilkgdyhD56Nrt1SIfrsrMKZgVEJZFj/bq8q4g4ntl8J3siGz1E8ecBn+yuThYSTSC7xTNZgnCkm3dltqAyl0tQPf02HzVwvIMjOBwp8GxVExuvewlYfVAJu+M2YRwJrdkuJUbVL6q565ug== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Y0KLzbj/+qq+hTFXj/7NoC50CrVDor1wT42frVdo9GU=; b=gS/1mMY36WapzX1U4/rV9CangX4/HYFMZwR0U8etfhA8q9x5HzUNbv6zVPnLWN9CnTQ+5fQhPGDWFOmwvuWa5LHzbU/Dw63u9oaNbhZrWganz2rOqAyn8FlVvlr/tu1zvXYnZsUP3lOllHIBa4Ctt7gY9kbnMVAOWpMsUewrK4UBLFw2BGb6ipJuDj26CS46nPnhTwEAq+wijamlCdiCcjnhm9UD5pDaAX5yqPzAbkncLGqE1PdUPWLxa8kNHuWjiugd0LCoGVHibASK4ENicA709vN19OTObvghyBKzc2cMbQt0oQdBzHmzEYxsMtXj0i0jR8RgECYEVuxkGmvY/A== Received: from OS3P286MB2152.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:197::9) by OS3P286MB2524.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:1e9::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.33; Tue, 24 Jan 2023 03:32:49 +0000 Received: from OS3P286MB2152.JPNP286.PROD.OUTLOOK.COM ([fe80::c90:199b:e178:3fa4]) by OS3P286MB2152.JPNP286.PROD.OUTLOOK.COM ([fe80::c90:199b:e178:3fa4%7]) with mapi id 15.20.6002.033; Tue, 24 Jan 2023 03:32:49 +0000 From: Enze Li To: Mark Wielaard Cc: gdb-patches@sourceware.org, Simon Marchi , Sam James Subject: Re: [PATCHv2] gdb: Ignore some stringop-overflow and restrict warnings on sparc In-Reply-To: <20230124004444.703203-1-mark@klomp.org> (Mark Wielaard's message of "Tue, 24 Jan 2023 01:44:44 +0100") References: <20230124004444.703203-1-mark@klomp.org> Date: Tue, 24 Jan 2023 11:32:32 +0800 Message-ID: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-TMN: [qg5fN/lvFFZG3REa2WAwB4msbj7IjALw] X-ClientProxiedBy: SG2PR06CA0210.apcprd06.prod.outlook.com (2603:1096:4:68::18) 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-TrafficTypeDiagnostic: OS3P286MB2152:EE_|OS3P286MB2524:EE_ X-MS-Office365-Filtering-Correlation-Id: 1dc79a5d-a904-43b0-58ea-08dafdbbaa95 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tmiNXztrL1ohxytzUlxFcNyyNXPSckuoy7GZzyVogs88kYjI5l49Dm9mV/G0bjANvNwLcXXzfYznVh6q9kt1Wp5cEl7CCOqKMSbHRgwAVVPceDRnWDrjdiTMd8D5lVIjKRTRtkUxM7QkezWq6YglkarJ74sVwFpamgisb23u/ES1KrlL/PH5qDyBKBZ3pahhxw3DUpW8OMRlWsKO9SLASHDxB3mOX0BLFpkLsOw1qBvvGGxeGzen8JxXp9/fD7kgHkyE55CX18EM2FWIhuGjsF2hl2V8fGNOfUGsV1T2Z7VxUTNz1mZNt2MjYt1EALNVFElB8LQpQ74omDcvrMROxNg+FKld+hi9nlJuPmARfwThQn5F9f7An8s7KsMiMRIwbhlFQ+IBLiMQ9Zf98HEC5DT3Uf4M8lAc21zNpurh2Z92kuzrWuyMKIT6mMcnDE1Z1zsQ5VcqXLb+JE8zH3KqkoSD9sl4dQcog94pyO1AflTfUI97viw6NVU1C55yB4yi1KOWgwGG4eld/Aq2oQ3EUwNP4eg+zJMv4I0MKZG3T4IqhTjZF5cG/PJgWmdEXFoyZBgTrN5Qb5cNFwbsH2vO5z0cuoeJqbj38ftQz7lLB0tskUGcZ3igcvR98PVCRFTaBKHSDSJdXCoERVMbp+Xsmg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?d3pQS050eGZPZ1hTTnlkTWNWMTExTHZiWEo5UW1oZ1hpWVdIWDJPbExNODIr?= =?utf-8?B?dmg5QWFPMVBxZnFjRlBqMHNrNXR2T0dUUHVpbnMrMjhUL0ZLRlRDWkhCQXIr?= =?utf-8?B?ZkhULzZXY3FaSnF6aDU5ckV5ZFByTGh4YVM5WWZyQTlkQzRaVVg2ei8yQXln?= =?utf-8?B?SGhBQjFqV1pyM0lhTjdnUkNwZE5SSGUrNjNvQXV3RnV5UkUyNlRIRDk5ajQv?= =?utf-8?B?cDBMb2VxVjBidDVubkhyZmVMTHdCaGVraXp3WFZoV245dTY1UHczS1ZNUU5k?= =?utf-8?B?V2lRR2ZJVHlWT1h1Y21JdmhnYmx1YzVLNjJiYUFIK3hTdG9CWENrWHUxYkRW?= =?utf-8?B?cE9GNTRQYjI0YVN4QitEK1NGZXg5MDg5MnRDK0lHQ2JkbTVkb080dG9FMzZE?= =?utf-8?B?TitPSWh4SHVHcXRyNEozbmdiZ3RxNkpwVHh2ZlJIVkVmUTBjVlhUMXRENmNB?= =?utf-8?B?QkVTWmdwNmVLVkx5TnpaRnppV2kzQVVqN3VkVzRYRW13QVI5dXN4S29HMEEx?= =?utf-8?B?djRYOFNRbFdGa3BnVTJxMzdHM1A1L0Y4Vml2Y3JQTExzVXhMWktLSy82c0My?= =?utf-8?B?SktzS0hYZVBvNkZ2Y3NsZnIzUW5wY3czOUh3V0lMY3JpeERTV3o5LytIYTlJ?= =?utf-8?B?dDc4RjVHNzBHV0dqSmVRTkZhT0g2T2lrZnJJMDZwOGZ4cndtQ1RSMVdzSjFz?= =?utf-8?B?Z3pDeEpoMXFvWlpTdDJPak43eWxIaVd1QUdwLzcwWlR3QkFSaE84Z0dpOHhp?= =?utf-8?B?U1hRL1VpbE50b2R4cExFUWRXZjNuWmg2MjhzL1B6N3Z4aGFnT0JoUlVrOXIv?= =?utf-8?B?RWdVMXh3TUZpRlZ4VnBwZG5rcmdlNENuTU4rMzNGejd6dkhVOHRxWXRQYUFw?= =?utf-8?B?RGFCVTRPbmhiZXZJUDFsSXMvVXNqRjY1U1F1QkVQZ0NXZVdvNEVrSm1VdG1o?= =?utf-8?B?SkRSdEF2T1QxY0c1bWh6SUhQS3I4NFJmYnBtR0hkbXE1SHg2dUNnOVpQeGVG?= =?utf-8?B?NjNra3p4Z3BRb2JqYStJZzBKUXBkQVIyYjRTeSt4d1dMcjUwa0lNVnI1K2Ju?= =?utf-8?B?TVVha0dweFFXVHJyOHVrTzVCVXdOcWordUxwMlk4dHFtM0ZXZmNSeWtFWHJ5?= =?utf-8?B?NmsvUlJIcXFhQm5odGJvYlFWTVB0TE9odTRwcVFIM05rR3dlcitmaHowUm1l?= =?utf-8?B?QnhGbDFneHNMMDBNbkRTdEFCWFdHQ2tpMnJpNlAwaXBlbFlxbzdNN2dnaldX?= =?utf-8?B?dVZ4WGpZK0xac0xuTkpnZzdoVHVaN2RuZ0dudVFvd2VDekxKV3Zja3hrV3hQ?= =?utf-8?B?dnlReTlZM2JtNnhBNTdKMTFOY3JBVy9vZU5QbHZPcGVxNzFYUFhsYXpnNUJN?= =?utf-8?B?OXROOFlQMnVib0RlZHZMYXN3SE1tSkRaMUxoZjBzbHQxNjB0SEdWdnFGbCto?= =?utf-8?B?d3Y5a3poTTREVFRkbnhjUkQzQjNNVEE4WUhuWWg5QXl2dGtCQXVXeXI5QkxT?= =?utf-8?B?K25rTSs3Z3JmMkdvTEhLckdyTmRCUWhtN3Ixb0RpNHNyUHppcEtwbmNhbHc0?= =?utf-8?B?WVJZSnh3Mm1zZGd4NUNiTFMvemlVTDlDaTFIMWxpcVh1QitkYlJTeDdKUU91?= =?utf-8?B?SDdmNnNBRjV0aC9saGpZVUJkYlZ6ZU9FYWJQU3NFS1laSjNvOThYdXZLZW9D?= =?utf-8?B?OFpBT2c0cHhhdmtQVE9NNXRCQjROOXJUYzQ3bmtxSGJJYmtMU3YvTzhnPT0=?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-05f45.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 1dc79a5d-a904-43b0-58ea-08dafdbbaa95 X-MS-Exchange-CrossTenant-AuthSource: OS3P286MB2152.JPNP286.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2023 03:32:49.1785 (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: OS3P286MB2524 X-Spam-Status: No, score=-11.5 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 autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Tue, Jan 24 2023 at 01:44:44 AM +0100, Mark Wielaard wrote: > For some reason g++ 12.2.1 on sparc produces a spurious warning for > stringop-overread and restrict in fbsd-tdep.c for some memcpy calls. > Add new DIAGNOSTIC_IGNORE_STRINGOP_OVERFLOW and > DIAGNOSTIC_IGNORE_RESTRICT macro to suppress these warnings: > > In function =E2=80=98void* memcpy(void*, const void*, size_t)=E2=80=99, > inlined from =E2=80=98gdb::optional > > > fb= sd_make_note_desc(target_object, uint32_t)=E2=80=99 at ../../binutils-gdb/g= db/fbsd-tdep.c:666:10: > /usr/include/bits/string_fortified.h:29:33: error: =E2=80=98void* __built= in_memcpy(void*, const void*, long unsigned int)=E2=80=99 specified bound 1= 8446744073709551612 exceeds maximum object size 9223372036854775807 [-Werro= r=3Dstringop-overflow=3D] > > In function =E2=80=98void* memcpy(void*, const void*, size_t)=E2=80=99, > inlined from =E2=80=98gdb::optional > > > fb= sd_make_note_desc(target_object, uint32_t)=E2=80=99 at ../../binutils-gdb/g= db/fbsd-tdep.c:673:10: > /usr/include/bits/string_fortified.h:29:33: error: =E2=80=98void* __built= in_memcpy(void*, const void*, long unsigned int)=E2=80=99 accessing 1844674= 4073709551612 bytes at offsets 0 and 0 overlaps 9223372036854775801 bytes a= t offset -9223372036854775805 [-Werror=3Drestrict] > > include/ChangeLog: > > * diagnostics.h (DIAGNOSTIC_IGNORE_STRINGOP_OVERFLOW): New > macro. > (DIAGNOSTIC_IGNORE_RESTRICT): Likewise. > > gdb/ChangeLog: > > * fbsd-tdep.c (fbsd_make_note_desc): Use > DIAGNOSTIC_IGNORE_STRINGOP_OVERFLOW and > DIAGNOSTIC_IGNORE_RESTRICT on sparc. > --- Hi Mark, Since GDB 12, ChangeLog entries are no longer required. See here[1]. [1] https://sourceware.org/pipermail/gdb-patches/2021-June/179872.html Thanks, Enze > > V2: Fix typos and add example errors to commit messages > > gdb/fbsd-tdep.c | 10 ++++++++++ > include/diagnostics.h | 10 ++++++++++ > 2 files changed, 20 insertions(+) > > diff --git a/gdb/fbsd-tdep.c b/gdb/fbsd-tdep.c > index 203390d9880..ee2a4b54e85 100644 > --- a/gdb/fbsd-tdep.c > +++ b/gdb/fbsd-tdep.c > @@ -19,6 +19,7 @@ > =20 > #include "defs.h" > #include "auxv.h" > +#include "diagnostics.h" > #include "gdbcore.h" > #include "inferior.h" > #include "objfiles.h" > @@ -663,7 +664,16 @@ fbsd_make_note_desc (enum target_object object, uint= 32_t structsize) > =20 > gdb::byte_vector desc (sizeof (structsize) + buf->size ()); > memcpy (desc.data (), &structsize, sizeof (structsize)); > +#if defined (__sparc__) > + /* g++ 12.2.1 on sparc seems confused about the vector buf sizes. */ > + DIAGNOSTIC_PUSH > + DIAGNOSTIC_IGNORE_STRINGOP_OVERFLOW > + DIAGNOSTIC_IGNORE_RESTRICT > +#endif > memcpy (desc.data () + sizeof (structsize), buf->data (), buf->size ()= ); > +#if defined (__sparc__) > + DIAGNOSTIC_POP > +#endif > return desc; > } > =20 > diff --git a/include/diagnostics.h b/include/diagnostics.h > index d3ff27bc008..617943ae0d7 100644 > --- a/include/diagnostics.h > +++ b/include/diagnostics.h > @@ -94,6 +94,11 @@ > DIAGNOSTIC_IGNORE ("-Wstringop-overread") > #endif > =20 > +# if __GNUC__ >=3D 7 > +# define DIAGNOSTIC_IGNORE_STRINGOP_OVERFLOW \ > + DIAGNOSTIC_IGNORE ("-Wstringop-overflow") > +#endif > + > # define DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL \ > DIAGNOSTIC_IGNORE ("-Wformat-nonliteral") > =20 > @@ -113,6 +118,7 @@ > # define DIAGNOSTIC_ERROR_SWITCH DIAGNOSTIC_ERROR ("-Wswitch") > # endif > =20 > +#define DIAGNOSTIC_IGNORE_RESTRICT DIAGNOSTIC_IGNORE ("-Wrestrict") > #endif > =20 > #ifndef DIAGNOSTIC_IGNORE_SELF_MOVE > @@ -139,6 +145,10 @@ > # define DIAGNOSTIC_IGNORE_STRINGOP_OVERREAD > #endif > =20 > +#ifndef DIAGNOSTIC_IGNORE_STRINGOP_OVERFLOW > +# define DIAGNOSTIC_IGNORE_STRINGOP_OVERFLOW > +#endif > + > #ifndef DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL > # define DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL > #endif