Re: [PATCH] libc: arm: fix setjmp abi non-conformance

Mike Frysinger <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <Y9Eu+ya/PXTGJfKd@vapier>
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.
> 
> The current setjmp/longjmp implementations preserve only the core
> registers, with the jump buffer size too small to store the required
> co-processor registers.
> 
> 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.
> 
> 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
signature.asc (application/pgp-signature, 833 B)
-----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-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.