acadia-newlib/newlib/libc/include/machine
Victor L. Do Nascimento 15ad816ddd libc: arm: fix setjmp abi non-conformance
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.

[1] https://github.com/ARM-software/abi-aa/blob/main/aapcs32/aapcs32.rst
[2] https://github.com/ARM-software/abi-aa/blob/main/clibabi32/clibabi32.rst
2022-12-13 15:50:35 +00:00
..
_arc4random.h
_default_types.h
_endian.h
_time.h
_types.h
ansi.h
endian.h
fastmath.h
ieee.h Revert "sys/types.h: Don't include sys/_stdint.h" 2022-05-04 15:08:44 +02:00
ieeefp.h Aarch32/64: Support __FLT_EVAL_METHOD__ values other than 0, 1, 2 2022-04-11 12:00:16 -04:00
malloc.h
param.h
setjmp-dj.h
setjmp.h libc: arm: fix setjmp abi non-conformance 2022-12-13 15:50:35 +00:00
stdlib.h
termios.h
time.h
types.h Move RTEMS and XMK specific type definitions 2019-02-19 09:06:22 +01:00