From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-00154904.pphosted.com (mx0a-00154904.pphosted.com [148.163.133.20]) by sourceware.org (Postfix) with ESMTPS id BE2613857C5F for ; Wed, 1 Sep 2021 20:36:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org BE2613857C5F Received: from pps.filterd (m0170389.ppops.net [127.0.0.1]) by mx0a-00154904.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 181KVcea000786; Wed, 1 Sep 2021 16:36:08 -0400 Received: from mx0b-00154901.pphosted.com (mx0b-00154901.pphosted.com [67.231.157.37]) by mx0a-00154904.pphosted.com with ESMTP id 3atdxt8m90-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 01 Sep 2021 16:36:08 -0400 Received: from pps.filterd (m0089483.ppops.net [127.0.0.1]) by mx0b-00154901.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 181KZmNZ085470; Wed, 1 Sep 2021 16:36:07 -0400 Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2104.outbound.protection.outlook.com [104.47.70.104]) by mx0b-00154901.pphosted.com with ESMTP id 3ate00k9ny-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 01 Sep 2021 16:36:07 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZmkZq3XjTIqnAJ1TyWg88vD4YMfcgyE6y8jiUMXNeSmrOR5m0PN7DpQXnQMruQbRyb1qqtkvQdSi9prr0Rm3lbDbKYV3ZrZqU91de1UqwIdNUjKfmKWhuV6yLd6MMX8nHpczu40JYdvJrXAZkXfCtBw6Y9oxqCUjLRx4KfbzC1CNmKM+AbBAL+Ngi6zI1ycQJ1qK7zSGE20BDtWfS2j/IIud7WHnAu/X/EbmQob7BjQKUNZGLkilEeQRtnD0HByfpycsQ347EL2Khupg4lHxLbn9+gppoLn10f0Ho5rgLJm2wnKCXaD1pU56xtMGcUGS8cpJjEl8kKXaEe2PWhDEVQ== 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=KFxxZ0dYHi+G+cpv1xIfK5mc4nD8sKvk1JaPrSUC3JQ=; b=gB+dd7HjsGnB22jXrAlZHgJSs+osH+xjz72Ln/Uy1r8d8KMjNv/6sNAEdQRi95IvfHz23OM+uFwjnACvXR4X28IBwyFrFOYz7JWiuIqstSbYDlwcNNbnX6juspQICyZC9NMCl9VTrVueFj2vhdkaURbtN9uBXgFdtenJNzyHvcbZxru6RUHjc0dOHN9GySKPegVagOWLCHFVSUbP8cpgkBIh4QbBtebFHXWXdGOPCNRsVXBEqTB+eYim/z6tHfaavm9jldUnr5HGi68UeRxsRgBBEYM4G5CPTRtVoQlLOqJaWelJreAHyG8FCc9/zZeJYt2AxkDzgcGFSDEIKFvBfw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=dell.com; dmarc=pass action=none header.from=dell.com; dkim=pass header.d=dell.com; arc=none Received: from SA0PR19MB4508.namprd19.prod.outlook.com (2603:10b6:806:b8::7) by SA1PR19MB5069.namprd19.prod.outlook.com (2603:10b6:806:1a7::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Wed, 1 Sep 2021 20:36:06 +0000 Received: from SA0PR19MB4508.namprd19.prod.outlook.com ([fe80::b5d1:5ad9:7558:ea1]) by SA0PR19MB4508.namprd19.prod.outlook.com ([fe80::b5d1:5ad9:7558:ea1%4]) with mapi id 15.20.4457.024; Wed, 1 Sep 2021 20:36:06 +0000 From: "Koning, Paul" To: Iain Sandoe CC: Jeff Law , GCC Patches Subject: Re: [PATCH] warn for more impossible null pointer tests Thread-Topic: [PATCH] warn for more impossible null pointer tests Thread-Index: AQHXn2MwEY99xdiNAkGyvuGEFOI2vA== Date: Wed, 1 Sep 2021 20:36:06 +0000 Message-ID: References: <05C44C4A-8BA0-4ECF-BDEA-C5B28A1A363C@dell.com> <2dc56d19-f568-a2c5-5a1e-57c637fe0aef@gmail.com> <7C73DA5B-1EE6-4C03-85F0-DF1C3A53F840@dell.com> <42251079-D0E0-462F-81A5-D40E7438F335@googlemail.com> In-Reply-To: <42251079-D0E0-462F-81A5-D40E7438F335@googlemail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3654.120.0.1.13) x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2697b8e9-594a-4432-712b-08d96d881f92 x-ms-traffictypediagnostic: SA1PR19MB5069: x-microsoft-antispam-prvs: x-exotenant: 2khUwGVqB6N9v58KS13ncyUmMJd8q4 x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: slfDuIuC+AZpEI44ZI7tRfJR2BMTJc1NDRiQPknzfT+mtuv8bIfRhfKQvjobeWbAJkTVK2l9K4uFBal5CIpufZN/uGLkrJ5dVserJiUi/mEhpdfC59QRj2sqC+5Gq0GXL6WsYJMiT4eGclUYZtwWKbeoeT4xTGe4OXJ2OZ9x/IgDI0ADZ+VT2r6OV1V74OOSyqn/gshs37xuLjXdqQdobdzsmTMf5iBlhCEwPzAS2T840ckWZj1VD+38zjJpRPzbUm/NLVrZ/u/PNPYBYsN2Xg+5BnUyGZ1n8x7brQngAhFOgyYLygCrTrUNO3t1HjnQ4pK/KeZ9CiHvCLzrJQHxZzMTBANxLH1rLKfkKkiBO7HptCOfHfP1sJgXgyUmC5mVSthjol5/B50PQ1Dbsuzaa+pogw/N6++6T7G4Ur1Xz3Ztpx8V/9ZeenJGZ7/H7VR/4RTMiDlUiMvxUMgEOOdR7JcYZ8ULg/sPvdddgL/JOjwowwJv71oCBfM6yZtk5v2r53U6kJsu8J12MuDfqFxPmX7MiuO6BumN8eFRt0n+IzgR0E3I3GehXucc8dMxFPcqqq1JVwXXW/nWLa7KFZ1WF9eVVC/hBdlC/xxz9DmuwCtPYRXbSZsuBRrg08/7d1aV/Ihsg8pM0Er3++nHKtX14VXOpv2F/hlVr8P0LCzC+5d1PMpGO1L1LxRhtwti3TBEfYG1NjfwsRikvQU18pkHSaUh0iHSwxDgLoSUaJ/cnrMrPAEad/ChZXpWUKiyZreH x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA0PR19MB4508.namprd19.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(366004)(136003)(376002)(39860400002)(396003)(66476007)(66946007)(76116006)(8936002)(91956017)(478600001)(54906003)(86362001)(6512007)(2616005)(316002)(6486002)(2906002)(38100700002)(36756003)(122000001)(66556008)(186003)(26005)(4326008)(6506007)(53546011)(83380400001)(5660300002)(8676002)(66446008)(33656002)(38070700005)(71200400001)(64756008)(6916009)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?yH4RgViG3poFFmCX9Y4ERtPTzJT//34hutxtut8p1qdASAQSfH3hpoX1Ludo?= =?us-ascii?Q?TU7g4ljZXlcZdeGDOcxlEhZtSOXIH8VTOp1Vm0D0DewyzxOOAv9TW9r1Y6NZ?= =?us-ascii?Q?JvzthyoCgRhVUk+b/5u1AfRHaKODYV6xh7ZmqQl/1xUYAf8y/gD2qWUPF+Ap?= =?us-ascii?Q?OLrIGTGv9oKmJQrzEeTV2w0Zc4scPhXO5GPMXHBWxW+iCrm5XVYut2Ruby85?= =?us-ascii?Q?RI2GqB3nbEPN+QIQ3t0a/5YDFP89n5O05W27wyKXdq8HcQ6aSE/5gXKqxsEU?= =?us-ascii?Q?IdNAuUDWgTTrqW7MHebKA/4RpK99qt9b4rJTKP2tpLv0GG5gNwda4QsEDucR?= =?us-ascii?Q?a7rdGfZvLCnTxxLZwJSWn3Yee7QBIBmWvvfO9pBr34UUTCAspwSfhFyIFmRZ?= =?us-ascii?Q?LCjTDJM1rj7jjdvJfgwNg9PVGGr4AQM/5p7IW1Jl/7+ytiEXzkaMbz1eGy8g?= =?us-ascii?Q?tJjKhmfgBeZVICT3wElbIYwGH1kMVNPMCaJYtMJnsKJCFWWahqp0xmRIYRNC?= =?us-ascii?Q?Edg+41Rhpt3+MMZsopTYGAXjouRJEEOCIh8uNV9ce0QCbsWZOaZj55nEVrVo?= =?us-ascii?Q?u7pLkTe9ABpH4rtLC3dxIxp5203O/Qpy7vjJA25yOFEF96Hg90NWXTCqzqWw?= =?us-ascii?Q?36/nZHYkSbq07cI5FvbGodxPxiM7M74lDdN2pIU8o8nl8iSpa2rPR9oS7GgT?= =?us-ascii?Q?/xXatSGi/Ogu4HedR9bJ3P0fKbKFKzB6V4Uq/kCYtqpSd92oRFt75MApQXw0?= =?us-ascii?Q?Gvunleiw0btTuBNetp3QxHhv5m1SgQxy/hhEuhjLcdg3f/H2m2Tp4yiKy3pM?= =?us-ascii?Q?7yaXo4AMBj7qaGgRtbdHVbczuHe1mLPOYSOWr6q6pO9hte+oEzZmQZVl5RBO?= =?us-ascii?Q?rscpeF0MoYGl1Dz7ID4hXoot6uK/edTLjTKpxoB11rSB9ODMs5XSw+0DQGWc?= =?us-ascii?Q?nCFAmJ0/47VFo1CUAd9cMx/txMzG3D/4obmbKecRwvj1MYcTxYiz4C8/6cs0?= =?us-ascii?Q?cjW8v/SPR+CKh08JncRgQosHlu9YN95Vb6d0yMwHPChguXK1/kVrIipEMJ0H?= =?us-ascii?Q?WMR+spVxsj6H15IMCGyJ7XIaLM8YIYNXD49bSntrKVMcKPRDsmZTCYRfS5Ev?= =?us-ascii?Q?HMKu9iJnJ24Ykyf5d0uw0bM5akqS0Z62KLBUV1GMAaLi4p+qz9LOFqsFUbf6?= =?us-ascii?Q?1Ri2zDF/yaBDbSFsReICbwjYDqLgYhf8K4KSbm1vQHI4vYJ0nmiAI7gW4wCi?= =?us-ascii?Q?da70MrKHVz4jzuZ+kV4k+nifMHye2v/qMHwda0AFUrU3rO7Limjbzit8wDtG?= =?us-ascii?Q?LizhV9QvRkhZtheGC9pfBEF5Fimt0UBrJs+af7EIX0vvjw=3D=3D?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="us-ascii" Content-ID: <0E2E678F27FE244892BBD5724D3FA435@namprd19.prod.outlook.com> Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Dell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SA0PR19MB4508.namprd19.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2697b8e9-594a-4432-712b-08d96d881f92 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Sep 2021 20:36:06.1101 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 945c199a-83a2-4e80-9f8c-5a91be5752dd X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: /2dbAwBgoxhorIz9msOFeel1INWNEdyP/5WZ4TBWURwQKIuyjvodRt+aEZwSexIkwGtXUrjXXluhYQwd7ObahA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR19MB5069 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391, 18.0.790 definitions=2021-09-01_05:2021-09-01, 2021-09-01 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 priorityscore=1501 clxscore=1011 bulkscore=0 lowpriorityscore=0 mlxlogscore=892 adultscore=0 spamscore=0 impostorscore=0 mlxscore=0 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2108310000 definitions=main-2109010119 X-Proofpoint-ORIG-GUID: pGC8RebzpsDrUBsMDZ9mTtIEZGfUbh-S X-Proofpoint-GUID: pGC8RebzpsDrUBsMDZ9mTtIEZGfUbh-S X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 spamscore=0 adultscore=0 bulkscore=0 mlxscore=0 mlxlogscore=999 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2108310000 definitions=main-2109010119 X-Spam-Status: No, score=-3.2 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Sep 2021 20:36:12 -0000 > On Sep 1, 2021, at 3:35 PM, Iain Sandoe wrote: >=20 >=20 > [EXTERNAL EMAIL]=20 >=20 > Hi Paul, >=20 >> ... >> If so, then I would think that ignoring it for this patch as well is rea= sonable. If in a given target a pointer that C thinks of as NULL is in fac= t a valid object pointer, then all sorts of optimizations are incorrect. I= f the target really cares, it can use a different representation for the nu= ll pointer. (Does GCC give us a way to do that?) For example, pdp11 could= use the all-ones bit pattern to represent an invalid pointer. >=20 > regardless of whether GCC supports it or not - trying to use a non-0 NULL= pointer is likely to break massive amounts of code in the wild. It depends on what you mean by "non-0 NULL pointer". The constant written = as 0 in pointer context doesn't represent the all-zeroes bit pattern but ra= ther whatever is a null pointer on that target. Most code would not notice= that. The two places I can think of where this would break is (a) if you = cast a pointer to int or look at it via a pointer/int union and expect to s= ee integer zero, and (b) if you initialize pointers by using bzero. The fo= rmer seems rather unlikely, the latter is somewhat common. Can GCC detect = the bzero case? It would make a good check for -Wpedantic on the usual pla= tforms that use all zero bits as NULL. > It might, OTOH, be possible to use a non-0 special value to represent the= valid 0 address-use (providing that there is somewhere in the address spac= e you can steal that from). That would be really ugly, because every pointer reference would have to do= the address translation at run time. paul