setjmp.h 803 B

12345678910111213141516171819202122232425262728293031
  1. /* Define the machine-dependent type `jmp_buf'. LoongArch64 version.
  2. Copyright (C) 2024 uClibc-ng contributors.
  3. Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
  4. */
  5. #ifndef _LOONGARCH64_BITS_SETJMP_H
  6. #define _LOONGARCH64_BITS_SETJMP_H
  7. typedef struct __jmp_buf_internal_tag
  8. {
  9. /* Return address. */
  10. long int __pc;
  11. /* Stack pointer. */
  12. long int __sp;
  13. /* Reserved register r21. */
  14. long int __r21;
  15. /* Frame pointer. */
  16. long int __fp;
  17. /* Callee-saved registers s0-s8. */
  18. long int __regs[9];
  19. /* Callee-saved floating point registers. */
  20. #if defined __loongarch_double_float
  21. double __fpregs[8];
  22. #elif !defined __loongarch_soft_float
  23. # error unsupported FLEN
  24. #endif
  25. } __jmp_buf[1];
  26. #endif /* _LOONGARCH64_BITS_SETJMP_H */