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 6F4D93858C53 for ; Wed, 4 May 2022 15:29:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6F4D93858C53 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 1nmGwk-0004L8-K3; Wed, 04 May 2022 17:29:46 +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 1nmGwk-0001EU-O7; Wed, 04 May 2022 17:29:46 +0200 Received: from localhost (localhost [127.0.0.1]) by mail.embedded-brains.de (Postfix) with ESMTP id 677004800A8; Wed, 4 May 2022 17:29:46 +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 IrlY-HUw1mdI; Wed, 4 May 2022 17:29:46 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by mail.embedded-brains.de (Postfix) with ESMTP id 0C9944800B4; Wed, 4 May 2022 17:29:46 +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 l2srgLTj923V; Wed, 4 May 2022 17:29:45 +0200 (CEST) Received: from [10.10.171.14] (unknown [10.10.171.14]) by mail.embedded-brains.de (Postfix) with ESMTPSA id B8F404800A8; Wed, 4 May 2022 17:29:45 +0200 (CEST) Message-ID: <287e0025-74b1-ff51-68b3-0d789479ed5f@embedded-brains.de> Date: Wed, 4 May 2022 17:29:44 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.0 Subject: Re: [PATCH] Remove use of _global_impure_ptr Content-Language: en-US To: Dave Nadler , newlib@sourceware.org References: <20220503134043.122345-1-sebastian.huber@embedded-brains.de> <2e8518f4-f26a-b360-cef4-0d5361c3f2fb@nadler.com> From: Sebastian Huber In-Reply-To: <2e8518f4-f26a-b360-cef4-0d5361c3f2fb@nadler.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Authenticated-Sender: smtp-embedded@poldinet.de X-Virus-Scanned: Clear (ClamAV 0.103.5/26531/Wed May 4 10:05:36 2022) X-Spam-Status: No, score=-6.3 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, NICE_REPLY_A, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE 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: newlib@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Newlib mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 May 2022 15:29:49 -0000 On 04/05/2022 17:22, Dave Nadler wrote: > On 5/4/2022 9:34 AM, Corinna Vinschen wrote: >> Hi Sebastian, >> >> On May=C2=A0 3 15:40, Sebastian Huber wrote: >>> Remove the pointer indrection through the read-only=20 >>> _global_impure_ptr and >>> directly use a globally visible _impure_data object of type struct=20 >>> reent.=C2=A0 This >>> enables the static initialization of global data structures in a=20 >>> follow up >>> patch.=C2=A0 In addition, we get rid of a machine-specific file. >> the patch looks good.=C2=A0 I just wonder if we really need the >> impure-compat.c file.=C2=A0 Backward-compat is no problem for embedded= stuff, >> and Cygwin doesn't expose _global_impure_ptr to user space either. >> >> If there's no other compelling reason, you can just drop it and push >> the rest. >> >> Thanks, >> Corinna >=20 > Apologies if this is a dumb question, but this patch does not > affect the use of the global _impure_ptr, right? For example > FreeRTOS allocates a reentrancy structure for each task and switches > _impure_ptr on context switches. This patch doesn't change the behaviour of _impure_ptr. The _impure_ptr=20 is initialized to point to a global struct _reent object. Now, this=20 object is externally visible. --=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/