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 E0F5B3858C50 for ; Tue, 12 Jul 2022 11:18:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E0F5B3858C50 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 1oBDuF-000NoL-LY for newlib@sourceware.org; Tue, 12 Jul 2022 13:18:20 +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 1oBDuF-00046k-SO for newlib@sourceware.org; Tue, 12 Jul 2022 13:18:19 +0200 Received: from localhost (localhost [127.0.0.1]) by mail.embedded-brains.de (Postfix) with ESMTP id 8E0714800C5 for ; Tue, 12 Jul 2022 13:18: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 CYwKI88k-6uJ for ; Tue, 12 Jul 2022 13:18:19 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by mail.embedded-brains.de (Postfix) with ESMTP id 421CD4801D5 for ; Tue, 12 Jul 2022 13:18:19 +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 V4ORZaU1V-za for ; Tue, 12 Jul 2022 13:18:19 +0200 (CEST) Received: from [10.10.171.6] (unknown [10.10.171.6]) by mail.embedded-brains.de (Postfix) with ESMTPSA id 0A3C34800C5 for ; Tue, 12 Jul 2022 13:18:18 +0200 (CEST) Message-ID: Date: Tue, 12 Jul 2022 13:18:17 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 Subject: Re: [PATCH 00/14] Add --enable-newlib-reent-thread-local option Content-Language: en-US From: Sebastian Huber To: newlib@sourceware.org References: <20220621124931.36450-1-sebastian.huber@embedded-brains.de> In-Reply-To: <20220621124931.36450-1-sebastian.huber@embedded-brains.de> 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.6/26599/Tue Jul 12 10:00:48 2022) X-Spam-Status: No, score=-5.4 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.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) 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: Tue, 12 Jul 2022 11:18:24 -0000 On 21/06/2022 14:49, Sebastian Huber wrote: > By default, Newlib uses a huge object of type struct _reent to store > thread-specific data. This object is returned by __getreent() if the > __DYNAMIC_REENT__ Newlib configuration option is defined. >=20 > The reentrancy structure contains for example errno and the standard in= put, > output, and error file streams. This means that if an application only= uses > errno it has a dependency on the file stream support even if it does no= t use > it. This is an issue for lower end targets and applications which need= to > qualify the software according to safety standards (for example ECSS-E-= ST-40C, > ECSS-Q-ST-80C, IEC 61508, ISO 26262, DO-178, DO-330, DO-333). >=20 > If the new _REENT_THREAD_LOCAL configuration option is enabled, then st= ruct > _reent is replaced by dedicated thread-local objects for each struct _r= eent > member. The thread-local objects are defined in translation units whic= h use > the corresponding object. >=20 > Patches 1 to 13 contain no functional changes (hopefully). They just i= ntroduce > macros to be able to use struct _reent members or thread-local objects > depending on the new _REENT_THREAD_LOCAL option. Patch 14 adds the new > configuration option. Are there any general objections to integrate this patch set? For the errno handling we have the option to use the new _REENT_ERRNO()=20 macro or the existing __errno_r() macro. --=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/