From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) by sourceware.org (Postfix) with ESMTP id B454D3858D28 for ; Wed, 25 Jan 2023 13:30:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B454D3858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gentoo.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gentoo.org Received: by smtp.gentoo.org (Postfix, from userid 559) id 0225D340EFF; Wed, 25 Jan 2023 13:30:37 +0000 (UTC) Date: Wed, 25 Jan 2023 08:30:35 -0500 From: Mike Frysinger To: "Victor L. Do Nascimento" Cc: newlib@sourceware.org, richard.earnshaw@arm.com Subject: Re: [PATCH] libc: arm: fix setjmp abi non-conformance Message-ID: References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="JTwDOFz3kzhvrZRt" Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-5.2 required=5.0 tests=BAYES_00,JMQ_SPF_NEUTRAL,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_PASS,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: --JTwDOFz3kzhvrZRt Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 13 Dec 2022 14:51, Victor L. Do Nascimento wrote: > As per the arm Procedure Call Standard for the Arm Architecture > section 6.1.2 [1], VFP registers s16-s31 (d8-d15, q4-q7) must be > preserved across subroutine calls. >=20 > The current setjmp/longjmp implementations preserve only the core > registers, with the jump buffer size too small to store the required > co-processor registers. >=20 > In accordance with the C Library ABI for the Arm Architecture > section 6.11 [2], this patch sets _JBTYPE to long long adjusting > _JBLEN to 20. >=20 > It also emits vfp load/store instructions depending on architectural > support, predicated at compile time on ACLE feature-test macros. this breaks building with GCC 11 and older: https://bugs.gentoo.org/891589#c7 i don't think it was intentional that this only work with GCC 12+, or if it was, that we want such requirements. GCC 12 is less than a year old. -mike --JTwDOFz3kzhvrZRt Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEuQK1JxMl+JKsJRrUQWM7n+g39YEFAmPRLvsACgkQQWM7n+g3 9YEFsBAA0uaP7uqdei/LLW5NRZh/eRSF2dmYV3UsZRCr14Ug6d+qmlYN3miD7+CG uF5XlW9xlHrtOU2QV8ozQ1u5PMQ7xstUNAGCbcOgOFhAImx29uRSYkLRwa1+lcCe 5gfQstgalrCpM09khqBcn954uO0YKSvAHobj97DBnZwtDfMejvg+NKapuKyFhVpI jlm6c7gRmCxaT0xIX+2yo74U2RVdcx2MFxCZpLmgw0GMs4a4TXvLHCOplHCwblKq Ya6BpdNEEBFe9J6ddwdOkrsxPTyjxtG5NFPJZvlMxLktBRLAvdxg2WEhZlffHoVv 4TjxSletJG+/xc4A2s8HI/APwVCEyEHfiO9onqyO+xBum1AsxKE0V4E15sHc+Vc/ vTKc63Ws/1o+U6ZEj4u5xErvXzphBGz/T5F1EZHcepIz609z8Is+XmFyJ2NB/trQ CSBOBaP9SPqQgAnEwkMmTFQb3CmPh/t7jIqib64zcqqcRGqgQsT8YaFoqb2Hzdo2 k0VcSffpE5farddkY3qYFDRQYODUK0uzU76kbR4KvvzWIa31JZX7YXlvYLaG7c86 B7nt+YR5UwlmhY4hipydAGCpAlsLDHAY/VK4AJqI2WFIgY1ow8+9l+6v8KKfPB7O Oncne9W+UBbXZuTw6ZjzMei8cFZwIseS+8w5lMoNTYurCY/TJS0= =NIR3 -----END PGP SIGNATURE----- --JTwDOFz3kzhvrZRt--