From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail2.elektronenpumpe.de (mail2.elektronenpumpe.de [185.160.0.248]) by sourceware.org (Postfix) with ESMTPS id 098223858D33 for ; Tue, 14 Feb 2023 22:47:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 098223858D33 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=elektronenpumpe.de Authentication-Results: sourceware.org; spf=none smtp.mailfrom=elektronenpumpe.de Received: from [127.0.0.1] (84-115-225-51.cable.dynamic.surfer.at [84.115.225.51]) by elektronenpumpe.de (Postfix) with ESMTPSA id 21EF2320004 for ; Tue, 14 Feb 2023 23:47:36 +0100 (CET) Date: Tue, 14 Feb 2023 23:47:23 +0100 From: Bernhard Krug To: newlib@sourceware.org Subject: libc: arm: setjmp jmp_buf exagerated size Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-0.8 required=5.0 tests=BAYES_00,KAM_DMARC_STATUS,KAM_LAZY_DOMAIN_SECURITY,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hello,=20 using setjmp to implement eight coroutines on an ARM Cortex-M0+ the alloca= ted size of =2Edata escalates, in my example, from 476 bytes to 1444 bytes! I think "libc: arm: fix setjmp abi non-conformance" shouldn't use jmp_buf = made of 20 long long ints on a 32bit arm without fpu :D Can the #ifndef device detection/decision tree from the setjmp asm/source = file be also used in the headers to set reasonable sizes? For my machine and use-case gcc emits asm copying ten registers (as expect= ed) which would be rightly sized=2E Thanks for your work and consideration :)