From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dedi548.your-server.de (dedi548.your-server.de [85.10.215.148]) by sourceware.org (Postfix) with ESMTPS id C0FA9385840F for ; Tue, 25 Jul 2023 17:46:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C0FA9385840F Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=embedded-brains.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=embedded-brains.de Received: from sslproxy01.your-server.de ([78.46.139.224]) by dedi548.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qOM71-0002Ix-Qs; Tue, 25 Jul 2023 19:46:19 +0200 Received: from [82.100.198.138] (helo=mail.embedded-brains.de) by sslproxy01.your-server.de with esmtpsa (TLSv1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qOM71-000GkZ-Na; Tue, 25 Jul 2023 19:46:19 +0200 Received: from localhost (localhost [127.0.0.1]) by mail.embedded-brains.de (Postfix) with ESMTP id 5D9464801C8; Tue, 25 Jul 2023 19:46:19 +0200 (CEST) Received: from mail.embedded-brains.de ([127.0.0.1]) by localhost (zimbra.eb.localhost [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id 8of2L_jh50qh; Tue, 25 Jul 2023 19:46:19 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by mail.embedded-brains.de (Postfix) with ESMTP id F01324802AA; Tue, 25 Jul 2023 19:46:18 +0200 (CEST) X-Virus-Scanned: amavisd-new at zimbra.eb.localhost Received: from mail.embedded-brains.de ([127.0.0.1]) by localhost (zimbra.eb.localhost [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id XUBt3quiG3ZA; Tue, 25 Jul 2023 19:46:18 +0200 (CEST) Received: from [10.10.171.6] (unknown [10.10.171.6]) by mail.embedded-brains.de (Postfix) with ESMTPSA id BC7B14801C8; Tue, 25 Jul 2023 19:46:18 +0200 (CEST) Message-ID: <3126b987-ca19-97f6-9c7a-06243add9354@embedded-brains.de> Date: Tue, 25 Jul 2023 19:46:18 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 Subject: Re: newlib header breaks restricted pointers in C++ Content-Language: en-US To: Bruno De Fraine , "newlib@sourceware.org" References: From: Sebastian Huber In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Authenticated-Sender: smtp-embedded@poldi-networks.de X-Virus-Scanned: Clear (ClamAV 0.103.8/26980/Tue Jul 25 09:31:35 2023) X-Spam-Status: No, score=-5.3 required=5.0 tests=BAYES_00,KAM_DMARC_STATUS,KAM_SHORT,NICE_REPLY_A,SPF_HELO_NONE,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 List-Id: On 25.07.23 19:35, Corinna Vinschen wrote: > Hi Bruno, >=20 > On Jul 24 22:23, Bruno De Fraine wrote: >> Hello, >> >> As an extension, GCC and clang offer C99-style restricted pointers in = C++ mode: >> https://gcc.gnu.org/onlinedocs/gcc/Restricted-Pointers.html >> >> We notice that this extension is broken when including newlib headers:= restricted pointers are treated as ordinary pointers. >> >> We traced this to the following section of newlib/libc/include/sys/cde= fs.h: >> >> /* >> * GCC 2.95 provides `__restrict' as an extension to C90 to support= the >> * C99-specific `restrict' type qualifier. We happen to use `__res= trict' as >> * a way to define the `restrict' type qualifier without disturbing= older >> * software that is unaware of C99 keywords. >> */ >> #if !(__GNUC__ =3D=3D 2 && __GNUC_MINOR__ =3D=3D 95) >> #if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901 >> #define __restrict >> #else >> #define __restrict restrict >> #endif >> #endif >> >> While the GCC __restrict extension was indeed introduced in GCC 2.95, = it is not limited to this version; the extension is also not limited to C= 90: >> https://gcc.gnu.org/gcc-2.95/c++features.html > Either way, the above has been taken from FreeBSD, and it is still, > as of today, the same expression as used in FreeBSDs sys/cdefs.h > file. >=20 > Seb, any input on this? I added a FreeBSD bug report: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D272723 --=20 embedded brains GmbH Herr Sebastian HUBER Dornierstr. 4 82178 Puchheim Germany email: sebastian.huber@embedded-brains.de phone: +49-89-18 94 741 - 16 fax: +49-89-18 94 741 - 08 Registergericht: Amtsgericht M=C3=BCnchen Registernummer: HRB 157899 Vertretungsberechtigte Gesch=C3=A4ftsf=C3=BChrer: Peter Rasmussen, Thomas= D=C3=B6rfler Unsere Datenschutzerkl=C3=A4rung finden Sie hier: https://embedded-brains.de/datenschutzerklaerung/